Changes

Jump to navigation Jump to search
897 bytes added ,  15:09, 5 July 2019
Line 75: Line 75:  
| [[#Transfer_Engine|Transfer Engine]] "DMA"
 
| [[#Transfer_Engine|Transfer Engine]] "DMA"
 
|
 
|
 +
|-
 +
|colspan="5"| 0x1EF01000/0x10401000 - 0x1EF01C00/0x10401C00 maps to [[GPU/Internal_Registers|GPU internal registers]]. These registers are usually not read/written directly here, but are written using the command list interface below (corresponding to the GPUREG_CMDBUF_* internal registers)
 
|-
 
|-
 
| 0x1EF01000
 
| 0x1EF01000
Line 170: Line 172:  
|-
 
|-
 
| 0x10
 
| 0x10
| Vertical pixel interpolation(?)
+
| Window X start (LgyFb)
| Some sort of delay in signal. Has dither-like effect.
+
| Offsets the viewing window on the display's physical X co-ordinate relative to its front porch end.
 +
 
 +
Outside of LgyFb changing this value only seems to cause weird pixel interpolation and blurryness.
 
|-
 
|-
 
| 0x14
 
| 0x14
| Horizontal data offset(?)
+
| Window X end (LgyFb)
| ??? Seems to offset the screen to the left if this value is high enough, but can glitch out the syncing on the bottom screen. High enough values will make the screen skip too many "pixels". If this value is higher or equal to *some value* (aka. if less than one pixel per line is displayed on the screen) then the screen will lose synchronization.
+
| Window X start + window width - 1 is written here to set the end display scan pixel offset.
 +
 
 +
Outside of LgyFb it seems to offset the screen to the left if this value is high enough, but can glitch out the syncing on the bottom screen. High enough values will make the screen skip too many "pixels". If this value is higher or equal to *some value* (aka. if less than one pixel per line is displayed on the screen) then the screen will lose synchronization.
 
|-
 
|-
 
| 0x18
 
| 0x18
| ???
+
| Window Y start (LgyFb)
| ???
+
| Offsets the viewing window on the display's physical Y co-ordinate relative to the first visible scanline.
 
|-
 
|-
 
| 0x20
 
| 0x20
| Low: Horizontal pixel data offset(?)
+
| Low: Window Y end (LgyFb)
 
High: ???
 
High: ???
| ??? extra pixels get inserted in the first displayed scanline and thus the image gets shifted to the right. Seems to make horizontal syncing a bit glitchy. If a HSync occurs, the pixel data is suspended until the first pixel is supposed to be displayed, then the pixel stream will continue where it left off until a delayed HSync gets processed relative to the pixel data.
+
| Low: Window Y start + window height - 1 is written here to set the last display scanline relative to the first visible scanline.
 +
 
 +
High: This is cleared to zero when displaying LgyFb. Outside of LgyFb this doesn't really seem to do anything useful.
 +
 
 +
 
 +
??? extra pixels get inserted in the first displayed scanline and thus the image gets shifted to the right. Seems to make horizontal syncing a bit glitchy. If a HSync occurs, the pixel data is suspended until the first pixel is supposed to be displayed, then the pixel stream will continue where it left off until a delayed HSync gets processed relative to the pixel data.
 
|-
 
|-
 
| 0x24
 
| 0x24
215

edits

Navigation menu