IO Pages
IO Page 0
MMU | Flat | R/W | Name | Description |
---|---|---|---|---|
$C000 - $C0FF | $F0:0000 - $F0:00FF | Blue conversion | ||
$C400 - $C4FF | $F0:0400 - $F0:04FF | Green conversion | ||
$C800 - $C8FF | $F0:0800 - $F0:08FF | Red conversion |
MMU | Flat | R/W | Name | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|
$D000 | $F0:1000 | RW | MSTR_CTRL_0 | — | GAMMA | SPRITE | TILE | BITMAP | GRAPH | OVRLY | TEXT |
$D001 | $F0:1001 | RW | MSTR_CTRL_1 | — | — | FON_SET | FON_OVLY | MON_SLP | DBL_Y | DBL_X | CLK_70 |
TEXT: Enable text layer
OVRLY: Overlay text on graphics, by making text background transparent. See FON_OVLY
GRAPH: Enable graphics layers (tile, sprites, bitmaps)
BITMAP: Enable bitmap layers (if GRAPH is also set)
TILE: Enable tile layers (if GRAPH is also set)
SPRITE: Enable sprite layers (if GRAPH is also set)
GAMMA: Enable gamma correction
CLK_70: Enable 400p70, else 480p60
DBL_X, DBL_Y: Double text mode character width & height
MON_SLP: Turn off monitor SYNC, putting it into sleep mode
FON_OVLY: Only BG color 0 is transparent in OVRLY mode. Else, all BG colors are transparent.
FON_SET: Chooses font set 0 or 1
MMU | Flat | R/W | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|
$D002 | RW | — | Layer 1 | — | Layer 0 | |||||
$D003 | RW | — | — | — | — | — | Layer 2 |
There are 6 configurable graphics maps that can be placed into any of the 3 visible layers. Layer 0 is the front graphics layer.
Code | Graphics Map |
---|---|
0 | Bitmap 0 |
1 | Bitmap 1 |
2 | Bitmap 2 |
4 | Tilemap 0 |
5 | Tilemap 1 |
6 | Tilemap 2 |
MMU | Flat | R/W | Name | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|
$D004 | RW | BRDR_CTRL | — | SCROLL_X | — | — | — | ENABLE | |||
$D005 | RW | BRDR_BLUE | Border color Blue component | ||||||||
$D006 | RW | BRDR_GREEN | Border color Green component | ||||||||
$D007 | RW | BRDR_RED | Border color Red component | ||||||||
$D008 | RW | BRDR_WIDTH | — | — | — | SIZE_X | |||||
$D009 | RW | BRDR_HEIGHT | — | — | — | SIZE_Y |
MMU | Flat | R/W | Name | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|
$DE00 - $DE01 | RW | MULU_A | Multiplication A (Unsigned 16-bit) | ||||||||
$DE00 - $DE02 | RW | MULU_B | Multiplication B (Unsigned 16-bit) | ||||||||
$DE04 - $DE05 | RW | DIVU_DEN | Denominator (Unsigned 16-bit) | ||||||||
$DE06 - $DE07 | RW | DIVU_NUM | Numerator (Unsigned 16-bit) | ||||||||
$DE08 - $DE0B | RW | ADD_A | Addition A (Unsigned 32-bit) | ||||||||
$DE0C - $DE0F | RW | ADD_B | Addition B (Unsigned 32-bit) | ||||||||
$DE10 - $DE13 | RW | MULU | Multiplication A×B (Unsigned 32-bit) | ||||||||
$DE14 - $DE15 | RW | QUOU | Quotient of Num/Den (Unsigned 16-bit) | ||||||||
$DE16 - $DE17 | RW | REMU | Remainder of Num/Den (Unsigned 16-bit) | ||||||||
$DE18 - $DE1B | RW | ADD_R | Addition A+B Result (Unsigned 32-bit) |
Multiplication, division, and addition operations are completely independent of each other. Results are available immediately.
MMU | Flat | R/W | Name | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|
IO Page 1
MMU | Flat | R/W | Name | Description |
---|---|---|---|---|
$C000 - $C7FF | $F0:4000 - $F0:47FF | Font set 0 (256 × 8-byte chars) | ||
$C800 - $CFFF | $F0:4800 - $F0:4FFF | Font set 1 (256 × 8-byte chars) |
Characters are 8×8 pixels. Each byte is an 8-pixel row of bits, with MSB at the left. 8 rows top to bottom.
MMU | Flat | R/W | Name | Description |
---|---|---|---|---|
$D000 - $D3FF | $F0:5000 - $F0:53FF | Graphics CLUT 0 (256 × BGRx) | ||
$D400 - $D7FF | $F0:5400 - $F0:57FF | Graphics CLUT 1 (256 × BGRx) | ||
$D800 - $DBFF | $F0:5800 - $F0:5BFF | Graphics CLUT 2 (256 × BGRx) | ||
$DC00 - $DFFF | $F0:5C00 - $F0:5FFF | Graphics CLUT 3 (256 × BGRx) |
The 4th byte ('x') in each entry is unused.