Video RAM - Kyuchumimo/Micro-Joy-Home-Video-Computer GitHub Wiki

The minimum Video RAM memory size for TMS9918 is 16KB. Depending on the video mode, the space required may be different, but in practice, the 16KB is never fully occupied. So technically you can use this space unused, however it is not recommended because access to VRAM is slow and this feature is discarded.

TEXT MODE

.--------------------------------------.
|        16KB MEM ADDRESS SPACE        |
|--------------------------------------|
| ADDR   | INFO               | BYTES  |
|--------+--------------------+--------|
| 0x0000 | PATTERN TABLE      | 2,048  | 256 6x8 1-bit bg tiles
| 0x0800 | NAME TABLE         | 960    | 40x24 bg map
| 0x0BC0 | ** UNUSED **       | 13,375 |
'--------------------------------------'

GRAPHICS MODE

.--------------------------------------.
|        16KB MEM ADDRESS SPACE        |
|--------------------------------------|
| ADDR   | INFO               | BYTES  |
|--------+--------------------+--------|
| 0x0000 | SPRITE PATTERNS    | 2,048  | 256 8x8 or 64 16x16 1-bit fg sprites
| 0x0800 | PATTERN TABLE      | 2,048  | 256 8x8 1-bit bg tiles
| 0x1000 | SPRITE ATTRIBUTES  | 128    | Screen coordinates and sprite index
| 0x1080 | ** UNUSED **       | 896    |
| 0x1400 | NAME TABLE         | 768    | 32x24 bg map
| 0x1700 | ** UNUSED **       | 2,304  |
| 0x2000 | COLOR TABLE        | 32     | Each byte defines the color for eight patterns
| 0x2020 | ** UNUSED **       | 8,159  |
'--------------------------------------'

MULTICOLOR MODE

.--------------------------------------.
|        16KB MEM ADDRESS SPACE        |
|--------------------------------------|
| ADDR   | INFO               | BYTES  |
|--------+--------------------+--------|
| 0x0000 | SPRITE PATTERNS    | 2,048  | 256 8x8 or 64 16x16 1-bit fg sprites
| 0x0800 | PATTERN TABLE      | 1,536  |
| 0x0E00 | ** UNUSED **       | 512    |
| 0x1000 | SPRITE ATTRIBUTES  | 128    | Screen coordinates and sprite index
| 0x1080 | ** UNUSED **       | 4,224  |
| 0x1400 | NAME TABLE         | 768    |
| 0x1700 | ** UNUSED **       | 8,159  |
'--------------------------------------'