Line 148:
Line 148:
| 0x04
| 0x04
| 4
| 4
−
| VScanStart(?)
+
| HDispStart(?)
| Values 0xD1-0x1C1 inclusive are valid (except 2DS bottom screen)
| Values 0xD1-0x1C1 inclusive are valid (except 2DS bottom screen)
min. 0xD1, bitmask 0xFFF
min. 0xD1, bitmask 0xFFF
Line 155:
Line 155:
| 4
| 4
| ?
| ?
−
|
+
| must be >= REG#0x00
|-
|-
| 0x0C
| 0x0C
| 4
| 4
| ?
| ?
−
|
+
| must be >= REG#0x08
|-
|-
| 0x10
| 0x10
| 4
| 4
−
| VAdjustGranule
+
| VAdjustGranule(?) or VBackPorch(?)
or
or
−
HAdjust(2DS bottom screen)
+
VAdjust(2DS bottom screen)
−
| Finetune vertical pixel offset, 0x1C2 max = half pixel
−
or
+
−
offset the bottom screen (0 to kill 2DS top screen, 0x1C2 max on bottom screen)
+
Seems to offset pixels relative to someting
+
+
(last row of pixels blitted increases by this amount;
+
+
setting this to lower than 2 will kill the screen timing)
+
| Finetune vertical pixel offset(blur screen), 0x1C2 max = half pixel
+
+
or (2DS)
+
offset the bottom screen (0 to kill top screen, 0x1C2 max on bottom screen)
|-
|-
| 0x14
| 0x14
Line 183:
Line 190:
| 4
| 4
| ???
| ???
−
|
+
| should be < REG#0x10
|-
|-
| 0x20
| 0x20
| 4
| 4
−
| ?
+
| HFrontPorch(?)
| ??? the screen gets vertically offset with wrap-around
| ??? the screen gets vertically offset with wrap-around
horizontal timing gets messed up
horizontal timing gets messed up
Line 198:
Line 205:
| 0x28
| 0x28
| 4
| 4
−
| VStart(?)
+
| VDispStart(?) or VFrontPorch
|
|
|-
|-
Line 208:
Line 215:
| 0x34
| 0x34
| 4
| 4
−
| VDisp
+
| VDisp(?)
−
| Total amonut of vertical scanlines displayed
+
| Total amonut of vertical scanlines displayed (only for top screen it seems like)
|-
|-
| 0x44
| 0x44
Line 223:
Line 230:
| 0x50
| 0x50
| 4
| 4
−
| Vertical scanline counter
+
| Horizontal position counter
| read-only
| read-only
|-
|-
| 0x54
| 0x54
| 4
| 4
−
| Horizontal scanline counter
+
| Horizontal scanline (HBlank) counter
| read-only
| read-only
|-
|-