User Tools

Site Tools


lcd_controller

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
lcd_controller [2025/05/04 20:49] arisoturalcd_controller [2025/05/17 00:05] (current) arisotura
Line 1: Line 1:
 ====== LCD controller ====== ====== LCD controller ======
  
-The gamepad provides simple framebuffer-based display hardware.+The gamepad provides simple display hardware that can display a video feed (from the camera or the H264 decoder) and a framebuffer overlay on top.
  
 Register map: Register map:
Line 13: Line 13:
 | 0xF0009418 | Horizontal end of display | | 0xF0009418 | Horizontal end of display |
 | 0xF000941C | Vertical end of display | | 0xF000941C | Vertical end of display |
-| 0xF0009420 | ?? video-out X offset+| 0xF0009420 | Video feed X offset | 
-| 0xF0009424 | ?? video-out width+| 0xF0009424 | Video feed width | 
-| 0xF0009428 | ?? video-out Y offset+| 0xF0009428 | Video feed Y offset | 
-| 0xF000942C | ?? video-out height|+| 0xF000942C | Video feed height |
 | 0xF0009430 | ?? | | 0xF0009430 | ?? |
 | 0xF0009434 | ?? | | 0xF0009434 | ?? |
Line 40: Line 40:
 | 0xF00094D0+(N*4) | YUV->RGB matrix (N=0..8) | | 0xF00094D0+(N*4) | YUV->RGB matrix (N=0..8) |
 | 0xF00094F4 | ?? | | 0xF00094F4 | ?? |
-| 0xF00094F8 | ?? |+| 0xF00094F8 | Camera sync |
 | 0xF00094FC | Counter of sorts | | 0xF00094FC | Counter of sorts |
 | || | ||
Line 155: Line 155:
 ^ Bits ^ Desc. ^ ^ Bits ^ Desc. ^
 | 0    | ?? breaks display | | 0    | ?? breaks display |
-| 1    | Must be set for display to work. Presumably enables overlay. +| 1    | Enable display (0=black screen) 
-| 2    | ?? causes weird effects +| 2    | Enable video feed (camera/H264?
-| 3    | ?? | +| 3    | Video feed input(0=post-processed camera?, 1=raw camera?
-| 4    | Must be set for display to work. Presumably general display enable. +| 4    | Enable overlay |  
 +| 5    | ?? | 
 +| 6    | ?? |
  
 **0xF00094B0** **0xF00094B0**
Line 220: Line 222:
  
 Note: YUV mode produces darker colors, even with maximum factor values. One can use the color correction registers at 0xF0009600 to compensate for this. Note: YUV mode produces darker colors, even with maximum factor values. One can use the color correction registers at 0xF0009600 to compensate for this.
 +
 +
 +**0xF00094F8**
 +
 +Camera sync.
 +
 +^ Bits ^ Desc. ^
 +| 0-10 | Vertical position |
 +| 15   | ??? |
 +
 +This register allows to synchronize camera output to the display. The camera frame IRQ fires 8 scanlines after the specified position.
 +
 +This register can be disabled by setting it to a value equal to or greater than the display's total vertical span (as set in 0xF0009404). In this case, the camera outputs at its 'natural' framerate without synchronizing to the display, and the camera frame IRQ fires whenever a frame is finished.
  
  
lcd_controller.1746391785.txt.gz · Last modified: 2025/05/04 20:49 by arisotura

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki