GPU/External Registers: Difference between revisions

Profi200 (talk | contribs)
MarcusD (talk | contribs)
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
|-
|-