MMIO register table/PPU
! INIDISP
! $2100
| style="text-align: right" | F... BBBB
| W8
| Forced blanking (F), screen brightness (B).
|-
! OBSEL
! $2101
| style="text-align: right" | SSSN NbBB
| W8
| OBJ sprite size (S), name secondary select (N), name base address (B).
|-
! OAMADDL
OAMADDH
! $2102
$2103
| style="text-align: right" | AAAA AAAA
P... ...B
| W16
| OAM word address (A).
Priority rotation (P), address high bit (B).
|-
! OAMDATA
! $2104
| style="text-align: right" | DDDD DDDD
| W8x2
| OAM data write byte (2x for word) (D), increments OAMADD byte.
|-
! BGMODE
! $2105
| style="text-align: right" | 4321 PMMM
| W8
| Tilemap tile size (#), BG3 priority (P), BG mode (M).
|-
! MOSAIC
! $2106
| style="text-align: right" | SSSS 4321
| W8
| Mosaic size (S), mosaic BG enable (#).
|-
! BG1SC
BG2SC
BG3SC
BG4SC
! $2107
$2108
$2109
$210A
| style="text-align: right" | AAAA AAYX
| W8
| Tilemap VRAM address (A), vertical tilemap count (Y), horizontal tilemap count (X).
|-
! BG12NBA
! $210B
| style="text-align: right" | BBBB AAAA
| W8
| BG2 CHR base address (B), BG1 CHR base address (A).
|-
! BG34NBA
! $210C
| style="text-align: right" | DDDD CCCC
| W8
| BG4 CHR base address (D), BG3 CHR base address (C).
|-
! BG1HOFS
M7HOFS
BG1VOFS
M7VOFS
! $210D
$210E
| style="text-align: right" | .... ..XX XXXX XXXX
...x xxxx xxxx xxxx
.... ..YY YYYY YYYY
...y yyyy yyyy yyyy
| W8x2
W8x2
W8x2
W8x2
| BG1 horizontal scroll (X).
Mode 7 horizontal scroll (x).
BG1 vertical scroll (Y).
Mode 7 vertical scroll (y).
|-
! BG2HOFS
BG2VOFS
BG3HOFS
BG3VOFS
BG4HOFS
BG4VOFS
! $210F
$2110
$2111
$2112
$2113
$2114
| style="text-align: right" | .... ..XX XXXX XXXX
.... ..YY YYYY YYYY
| W8x2
W8x2
| BG horizontal scroll (X).
BG vertical scroll (Y).
|-
! VMAIN
! $2115
| style="text-align: right" | M... RRII
| W8
| VRAM address increment mode (M), remapping (R), increment size (I).
|-
! VMADDL
VMADDH
! $2116
$2117
| style="text-align: right" | LLLL LLLL
hHHH HHHH
| W16
| VRAM word address.
|-
! VMDATAL
VMDATAH
! $2118
$2119
| style="text-align: right" | LLLL LLLL
HHHH HHHH
| W16
| VRAM data write. Increments VMADD after write according to VMAIN setting.
|-
! M7SEL
! $211A
| style="text-align: right" | RF.. ..YX
| W8
| Mode 7 tilemap repeat (R), fill (F), flip vertical (Y), flip horizontal (X).
|-
! M7A
! $211B
| style="text-align: right" | DDDD DDDD dddd dddd
| W8x2
| Mode 7 matrix A or signed 16-bit multiplication factor.
|-
! M7B
! $211C
| style="text-align: right" | DDDD DDDD dddd dddd
| W8x2
| Mode 7 matrix B or signed 8-bit multiplication factor.
|-
! M7C
! $211D
| style="text-align: right" | DDDD DDDD dddd dddd
| W8x2
| Mode 7 matrix C
|-
! M7D
! $211E
| style="text-align: right" | DDDD DDDD dddd dddd
| W8x2
| Mode 7 matrix D
|-
! M7X
! $211F
| style="text-align: right" | ...X XXXX XXXX XXXX
| W8x2
| Mode 7 center X
|-
! M7Y
! $2120
| style="text-align: right" | ...Y YYYY YYYY YYYY
| W8x2
| Mode 7 center Y
|-
! CGADD
! $2121
| style="text-align: right" | AAAA AAAA
| W8
| CGRAM word address.
|-
! CGDATA
! $2122
| style="text-align: right" | .BBB BBGG GGGR RRRR
| W8x2
| CGRAM data write, increments CGADD byte address after each write.
|-
! W12SEL
! $2123
| style="text-align: right" | DdCc BbAa
| W8
| Enable (ABCD) and Invert (abcd) windows for BG1 (AB) and BG2 (CD).
|-
! W34SEL
! $2124
| style="text-align: right" | DdCc BbAa
| W8
| Enable (EFGH) and Invert (efgh) windows for BG3 (EF) and BG2 (GH).
|-
! WOBJSEL
! $2125
| style="text-align: right" | LlKk JjIi
| W8
| Enable (IJKL) and Invert (ijkl) windows for OBJ (IJ) and color math (KL).
|-
! WH0
! $2126
| style="text-align: right" | LLLL LLLL
| W8
| Window 1 left position.
|-
! WH1
! $2127
| style="text-align: right" | RRRR RRRR
| W8
| Window 1 right position.
|-
! WH2
! $2128
| style="text-align: right" | LLLL LLLL
| W8
| Window 2 left position.
|-
! WH3
! $2129
| style="text-align: right" | RRRR RRRR
| W8
| Window 2 right position.
|-
! WBGLOG
! $212A
| style="text-align: right" | 4433 2211
| W8
| Window mask logic for BG layers (00=OR, 01=AND, 10=XOR, 11=XNOR).
|-
! WOBJLOG
! $212B
| style="text-align: right" | .... CCOO
| W8
| Window mask logic for OBJ (O) and color math (C).
|-
! TM
! $212C
| style="text-align: right" | ...O 4321
| W8
| Main screen layer enable (PPU registers#).
|-
! TS
! $212D
| style="text-align: right" | ...O 4321
| W8
| Sub screen layer enable (#).
|-
! TMW
! $212E
| style="text-align: right" | ...O 4321
| W8
| Main screen layer window enable.
|-
! TSW
! $212F
| style="text-align: right" | ...O 4321
| W8
| Sub screen layer window enable.
|-
! CGWSEL
! $2130
| style="text-align: right" | BBMM ..AD
| W8
| Color addition black clip region (B), color math disable region (M), fixed/subscreen (A), direct color (D).
|-
! CGADSUB
! $2131
| style="text-align: right" | MHBO 4321
| W8
| Color math add/subtract (M), half (H), backdrop (B), layer enable (O4321).
|-
! COLDATA
! $2132
| style="text-align: right" | BGRC CCCC
| W8
| Fixed color channel select (BGR) and value (C).
|-
! SETINI
! $2133
| style="text-align: right" | EX.. HOiI
| W8
| External sync (E), EXTBG (X), Hi-res (H), Overscan (O), OBJ interlace (i), Screen interlace (I).
|-
! MPYL
MPYM
MPYH
! $2134
$2135
$2136
| style="text-align: right" | LLLL LLLL
MMMM MMMM
HHHH HHHH
| R24
| 24-bit signed multiplication result.
|-
! SLHV
! $2137
| style="text-align: right" | .... ....
| R8
| Software latch for H/V counters.
|-
! OAMDATAREAD
! $2138
| style="text-align: right" | DDDD DDDD
| R8
| Read OAM data byte, increments OAMADD byte.
|-
! VMDATALREAD
VMDATAHREAD
! $2139
$213A
| style="text-align: right" | LLLL LLLL
HHHH HHHH
| R16
| VRAM data read. Increments VMADD after read according to VMAIN setting.
|-
! CGDATAREAD
! $213B
| style="text-align: right" | .BBB BBGG GGGR RRRR
| R8x2
| CGRAM data read, increments CGADD byte address after each write.
|-
! OPHCT
! $213C
| style="text-align: right" | ...H HHHH HHHH HHHH
| R8x2
| Output horizontal counter.
|-
! OPVCT
! $213D
| style="text-align: right" | ...V VVVV VVVV VVVV
| R8x2
| Output vertical counter.
|-
! STAT77
! $213E
| style="text-align: right" | TRM. VVVV
| R8
| Sprite overflow (T), sprite tile overflow (R), master/slave (M), PPU1 version (V).
|-
! STAT78
! $213F
| style="text-align: right" | FL.M VVVV
| R8
| Interlace field (F), counter latch value (L), NTSC/PAL (M), PPU2 version (V).