digic8:registers
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
digic8:registers [2022/02/19 22:30] – [LV peaking, etc] kitor | digic8:registers [2022/02/21 23:03] (current) – [LV peaking (Highlights / zebra)] kitor | ||
---|---|---|---|
Line 3: | Line 3: | ||
==== UART ==== | ==== UART ==== | ||
- | Controls physical UART connections. | + | Controls physical UART connection. |
^ Address | ^ Address | ||
Line 12: | Line 12: | ||
- | '' | + | '' |
- | + | ||
- | '' | + | |
'' | '' | ||
Line 28: | Line 26: | ||
==== LV peaking (Highlights / zebra) ==== | ==== LV peaking (Highlights / zebra) ==== | ||
- | ^ Address | + | ^ Address |
- | | '' | + | | '' |
- | | '' | + | | '' |
- | | '' | + | | '' |
- | | '' | + | | '' |
- | | '' | + | | '' |
- | | '' | + | | '' |
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
Registers used by '' | Registers used by '' | ||
- | Not tested on HDMI yet (registers found via static analysis). Ability to have underexposure highlights (like on D45) is not yet confirmed. | + | Different addresses and slightly different values than Digic 6/7, but capabilities are very similar. |
- | __Enable register__ | + | __It is possible to have independent zebras configured on LCD and HDMI while running in Clean HDMI mode!__ |
- | ''reg & 0x100'' | + | ===Note on directly writing the registers=== |
+ | Directly writing some registers doesn't work (values are overridden). On R170.739 that happens for HDMI enable register, but this seems to differ | ||
- | __Threshold register__ | + | TL;DR is that you need to find (via xrefs / static code analysis) where reg value is stored, and update that memory address instead. |
- | '' | + | ===Enable register=== |
- | * AA: '' | + | |
- | * BB: range '' | + | |
- | * CC: unknown? '' | + | |
- | * DD: Highlights threshold | + | |
- | __Color register__ | + | '' |
+ | |||
+ | Value written should be masked '' | ||
+ | |||
+ | This register lies in **Display registers** range and most likely has more meanings. | ||
+ | |||
+ | ===Threshold / style register=== | ||
+ | |||
+ | < | ||
+ | **** **** **** **** **** **** **** **** | ||
+ | *... .... .... .... .... .... .... .... visibility (on/off) | ||
+ | ..** .... .... .... .... .... .... .... stripes move speed (0-3) | ||
+ | .... ...* .... .... .... .... .... .... stripes angle (45 / -45 deg) | ||
+ | .... .... ..** .... .... .... .... .... stripes style | ||
+ | .... .... .... .*** .... .... .... .... stripes opacity | ||
+ | .... .... .... .... **** **** .... .... threshold (underexpo) | ||
+ | .... .... .... .... .... .... **** **** threshold (overexpo) | ||
+ | </ | ||
+ | |||
+ | Value written should be masked '' | ||
+ | |||
+ | ^ Field ^ Range ^ Description ^ | ||
+ | | visibility | ||
+ | | speed | 0-3 | lines/dots are moving slower -> faster | ||
+ | | angle | 0-1 | 0: 45 deg, 1: -45 deg | | ||
+ | | style | 0-2 | 0: light dots, 1: thin lines, 2: thick lines | | ||
+ | | opacity | ||
+ | | underexpo_th | 0-255 | Threshold on undexexpo register, ignored on overexpo | ||
+ | | overexpo_th | ||
+ | |||
+ | **Note: On HDMI max threshold is 0xE8** Values above that are not displayed! | ||
+ | |||
+ | ===Color register=== | ||
Controls color of highlight overlays. ''?? | Controls color of highlight overlays. ''?? | ||
+ | |||
+ | ===More registers=== | ||
+ | |||
+ | Code suggests there are more registers: | ||
+ | |||
+ | ^ Output ^ Reg ^ Addresses | ||
+ | | HDMI | Enable | ||
+ | | LCD | Enable | ||
+ | | HDMI | Threshold | '' | ||
+ | | HDMI | Color | '' | ||
+ | | LCD | Threshold | '' | ||
+ | | LCD | Color | '' | ||
+ | |||
+ | n values above 0 and m values above 1 are not understood. There' | ||
+ | |||
+ | For '' | ||
+ | |||
+ | Guess: maybe '' | ||
==== Audio ==== | ==== Audio ==== | ||
digic8/registers.txt · Last modified: 2022/02/21 23:03 by kitor