| Address |
Register name |
Comment |
| 0x2100 |
Screen Display Register |
a000bbbb a: 0=screen on 1=screen off, b = brightness |
| 0x2101 |
OAM Size and Data Area Designation |
aaabbccc a = Size, b = Name Selection, c = Base Selection |
| 0x2102 |
Address for Accessing OAM |
| 0x2104 |
OAM Data Write |
| 0x2105 |
BG Mode and Tile Size Setting |
abcdefff abcd = BG tile size (4321): 0 = 8x8 1 = 16x16, e = BG 3 High Priority, f = BG Mode |
| 0x2106 |
Mosaic Size and BG Enable |
aaaabbbb a = Mosaic Size b = Mosaic BG Enable |
| 0x2107 |
BG 1 Address and Size |
aaaaaabb a = Screen Base Address (Upper 6-bit), b = Screen Size |
| 0x2108 |
BG 2 Address and Size |
aaaaaabb a = Screen Base Address (Upper 6-bit), b = Screen Size |
| 0x2109 |
BG 3 Address and Size |
aaaaaabb a = Screen Base Address (Upper 6-bit), b = Screen Size |
| 0x210A |
BG 4 Address and Size |
aaaaaabb a = Screen Base Address (Upper 6-bit), b = Screen Size |
| 0x210b |
BG 1 & 2 Tile Data Designation |
aaaabbbb a = BG 2 Tile Base Address, b = BG 1 Tile Base Address |
| 0x210c |
BG 3 & 4 Tile Data Designation |
aaaabbbb a = BG 4 Tile Base Address, b = BG 3 Tile Base Address |
| 0x210d |
BG 1 Horizontal Scroll Offset |
Scroll offset registers are all 16 bits wide. |
| 0x210e |
BG 1 Vertical Scroll Offset |
| 0x210f |
BG 2 Horizontal Scroll Offset |
| 0x2110 |
BG 2 Vertical Scroll Offset |
| 0x2111 |
BG 3 Horizontal Scroll Offset |
| 0x2112 |
BG 3 Vertical Scroll Offset |
| 0x2113 |
BG 4 Horizontal Scroll Offset |
| 0x2114 |
BG 4 Vertical Scroll Offset |
| 0x2115 |
VRAM Address Increment Value |
| 0x2116 |
Address for VRAM Read/Write (Low Byte) |
| 0x2117 |
Address for VRAM Read/Write (High Byte) |
| 0x2118 |
Data for VRAM Write (Low Byte) |
| 0x2119 |
Data for VRAM Write (High Byte) |
| 0x211a |
Initial Setting for Mode 7 |
aa0000bc a = Screen Over b = Vertical Flip c = Horizontal Flip |
| 0x211b |
Mode 7 Matrix Parameter A |
Registers 211b through 2020 are 16 bits wide. |
| 0x211c |
Mode 7 Matrix Parameter B |
| 0x211d |
Mode 7 Matrix Parameter C |
| 0x211e |
Mode 7 Matrix Parameter D |
| 0x211f |
Mode 7 Center Position X |
| 0x2120 |
Mode 7 Center Position Y |
| 0x2121 |
Address for CG-RAM Write |
| 0x2122 |
Data for CG-RAM Write |
| 0x2123 |
BG 1 and 2 Window Mask Settings |
aaaabbbb a = BG 2 Window Settings b = BG 1 Window Settings |
| 0x2124 |
BG 3 and 4 Window Mask Settings |
aaaabbbb a = BG 4 Window Settings b = BG 3 Window Settings |
| 0x2125 |
OBJ and Color Window Settings |
aaaabbbb a = Color Window Settings b = OBJ Window Settings |
| 0x2126 |
Window 1 Left Position Designation |
| 0x2127 |
Window 1 Right Position Designation |
| 0x2128 |
Window 2 Left Postion Designation |
| 0x2129 |
Window 2 Right Postion Designation |
| 0x212a |
BG 1, 2, 3 and 4 Window Logic Settings |
aabbccdd a = BG 4 b = BG 3 c = BG 2 d = BG 1 |
| 0x212b |
Color and OBJ Window Logic Settings |
0000aabb a = Color Window b = OBJ Window |
| 0x212c |
Background and Object Enable |
000abcde a = Object b = BG 4 c = BG 3 d = BG 2 e = BG 1 |
| 0x212d |
Sub Screen Designation |
000abcde a = Object b = BG 4 c = BG 3 d = BG 2 e = BG 1 |
| 0x212e |
Window Mask Designation for Main Screen |
000abcde a = Object b = BG 4 c = BG 3 d = BG 2 e = BG 1 |
| 0x212f |
Window Mask Designation for Sub Screen |
000abcde a = Object b = BG 4 c = BG 3 d = BG 2 e = BG 1 |
| 0x2130 |
Initial Settings for Color Addition |
aabb00cd a = Main Color Window On/Off, b = Sub Color Window On/Off, c = Fixed Color Add/Subtract Enable, d = Direct Select |
| 0x2131 |
Add/Subtract Select and Enable |
abcdefgh a = 0 for Addition, 1 for Subtraction, b = 1/2 Enable c = Back Enable, d = Object Enable, efgh = Enable BG 4, 3, 2, 1 |
| 0x2132 |
Fixed Color Data |
abcddddd a = Blue b = Green c = Red dddd = Color Data |
| 0x2133 |
Screen Initial Settings |
ab00cdef a = External Sync, b = ExtBG Mode, c = Pseudo 512 Mode, d = Vertical Size, e = Object-V Select, f = Interlace |
| 0x2134 |
Multiplication Result (Low Byte) |
| 0x2135 |
Multiplication Result (Mid Byte) |
| 0x2136 |
Multiplication Result (High Byte) |
| 0x2137 |
Software Latch for H/V Counter |
| 0x2138 |
Read Data from OAM (Low-High) |
| 0x2139 |
Read Data from VRAM (Low) |
| 0x213a |
Read Data from VRAM (High) |
| 0x213b |
Read Data from CG-RAM (Low-High) |
| 0x213c |
H-Counter Data |
| 0x213d |
V-Counter Data |
|
| 0x213e |
PPU Status Flag |
| 0x213f |
|
| 0x2140 |
APU I/O Port |
| 0x2141 |
| 0x2142 |
| 0x2143 |
|
| 0x4200 |
NMI, V/H Count, and Joypad Enable |
a0bc000d a = NMI b = V-Count c = H-Count d = Joypad |
| 0x4201 |
Programmable I/O Port Output |
| 0x4202 |
Multiplicand A |
| 0x4203 |
Multplier B |
| 0x4204 |
Dividend (Low Byte) |
| 0x4205 |
Dividend (High-Byte) |
| 0x4206 |
Divisor B |
| 0x4207 |
H-Count Timer (Upper 8 Bits) |
| 0x4208 |
H-Count Timer MSB (Bit 0) |
| 0x4209 |
V-Count Timer (Upper 8 Bits) |
| 0x420a |
V-Count Timer MSB (Bit 0) |
| 0x420b |
Regular DMA Channel Enable |
abcdefgh a = Channel 7...h = Channel 0: 1 = Enable 0 = Disable |
| 0x420c |
H-DMA Channel Enable |
abcdefgh a = Channel 7 .. h = Channel 0: 1 = Enable 0 = Disable |
| 0x420d |
Cycle Speed Designation |
0000000a a: 0 = 2.68 MHz, 1 = 3.58 MHz |
| 0x4210 |
NMI Enable |
| 0x4211 |
IRQ Flag By H/V Count Timer |
| 0x4212 |
H/V Blank Flags and Joypad Status |
| 0x4213 |
Programmable I/O Port Input |
| 0x4214 |
Quotient of Divide Result (Low Byte) |
| 0x4215 |
Quotient of Divide Result (High Byte) |
| 0x4216 |
Product/Remainder Result (Low Byte) |
| 0x4217 |
Product/Remainder Result (High Byte) |
|
| 0x4218 |
Joypad 1 Data (Low Byte) |
abcd0000 a = Button A b = X c = L d = R |
| 0x421a |
Joypad 2 Data (Low Byte) |
| 0x421c |
Joypad 3 Data (Low Byte) |
| 0x421e |
Joypad 4 Data (Low Byte) |
|
| 0x4219 |
Joypad 1 Data (High Byte) |
abcdefgh a = B b = Y c = Select d = Start efgh = Up/Dn/Lt/Rt |
| 0x421b |
Joypad 2 Data (High Byte) |
| 0x421d |
Joypad 3 Data (High Byte) |
| 0x421f |
Joypad 4 Data (High Byte) |