VDP register reference

$80xx: mode set register #1

VDP register $80xx: mode set register #1
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0 0 LCB IE1 0 1 M3 0

$81xx: mode set register #2

VDP register $81xx: mode set register #2
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0 DISP IE0 M1 M2 1 0 0

Note that V30 mode only works properly on PAL systems.

$82xx: plane A table address

VDP register $82xx: plane A table address
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0 0 SA15 SA14 SA13 0 0 0

$83xx: window table address

VDP register $83xx: window table address
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0 0 WD15 WD14 WD13 WD12 WD11 0

$84xx: plane B table address

VDP register $84xx: plane B table address
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0 0 0 0 0 SB15 SB14 SB13

$85xx: sprite table address

VDP register $85xx: sprite table address
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0 AT15 AT14 AT13 AT12 AT11 AT10 AT9

$87xx: background color

VDP register $87xx: background color
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0 0 CPT1 CPT0 COL3 COL2 COL1 COL0

$8Axx: hblank interrupt rate

VDP register $8Axx: hblank interrupt rate
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
HIT7 HIT6 HIT5 HIT4 HIT3 HIT2 HIT1 HIT0

$8Bxx: mode set register #3

VDP register $8Bxx: mode set register #3
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0 0 0 0 IE2 VSCR HSCR LSCR

$8Cxx: mode set register #4

VDP register $8Cxx: mode set register #4
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
RS0 0 0 0 S/TE LSM1 LSM0 RS1

$8Dxx: hscroll table address

VDP register $8Dxx: hscroll table address
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0 0 HS15 HS14 HS13 HS12 HS11 HS10

$8Fxx: autoincrement

VDP register $8Fxx: autoincrement
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
INC7 INC6 INC5 INC4 INC3 INC2 INC1 INC0

$90xx: tilemap size

VDP register $90xx: tilemap size
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0 0 VSZ1 VSZ0 0 0 HSZ1 HSZ0
Possible tilemap sizes
VSZ1-0 HSZ1-0 Size in tiles
000032×32
000164×32
0011128×32
010032×64
010164×64
110032×128

Other tilemap sizes will not work as expected.

$91xx: window X division

VDP register $91xx: window X division
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
RIGT 0 0 WHP5 WHP4 WHP3 WHP2 WHP1

$92xx: window Y division

VDP register $92xx: window Y division
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
DOWN 0 0 WVP4 WVP3 WVP2 WVP1 WVP0

$93xx,$94xx: DMA length

VDP register $93xx: DMA length (low)
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
LG7 LG6 LG5 LG4 LG3 LG2 LG1 LG0
VDP register $94xx: DMA length (high)
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
LG15 LG14 LG13 LG12 LG11 LG10 LG9 LG8

$95xx,$96xx,$97xx: DMA source

VDP register $95xx: DMA source address (low)
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
SA8 SA7 SA6 SA5 SA4 SA3 SA2 SA1
VDP register $96xx: DMA source address (middle)
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
SA16 SA15 SA14 SA13 SA12 SA11 SA10 SA9
VDP register $97xx: DMA source address (high)
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
DMD1 DMD0 SA22 SA21 SA20 SA19 SA18 SA17