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/20 13:45] – [LV peaking (Highlights / zebra)] kitor | digic8:registers [2022/02/21 23:03] (current) – [LV peaking (Highlights / zebra)] kitor | ||
---|---|---|---|
Line 27: | Line 27: | ||
^ Address | ^ Address | ||
- | | '' | + | | '' |
- | | '' | + | |
| '' | | '' | ||
| '' | | '' | ||
| '' | | '' | ||
| '' | | '' | ||
- | | '' | + | | '' |
- | | '' | + | |
| '' | | '' | ||
| '' | | '' | ||
Line 42: | Line 40: | ||
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. |
- | Code suggests there are more registers: | + | __It is possible to have independent zebras configured on LCD and HDMI while running in Clean HDMI mode!__ |
- | + | ||
- | ^ Output | + | |
- | | HDMI(?) | Enable | + | |
- | | HDMI(?) | Threshold | '' | + | |
- | | HDMI(?) | Color | '' | + | |
- | | LCD(? | + | |
- | | LCD(? | + | |
- | | LCD(? | + | |
- | For ''n > 1'' | + | ===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 from model to model. See [[digic6: | ||
- | For '' | + | 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=== | ===Enable register=== | ||
Line 63: | Line 54: | ||
Value written should be masked '' | Value written should be masked '' | ||
+ | |||
+ | This register lies in **Display registers** range and most likely has more meanings. | ||
===Threshold / style register=== | ===Threshold / style register=== | ||
Line 79: | Line 72: | ||
Value written should be masked '' | Value written should be masked '' | ||
- | ^ Field ^ Range ^ Description ^ | + | ^ Field ^ Range ^ Description ^ |
| visibility | | visibility | ||
| speed | 0-3 | lines/dots are moving slower -> faster | | speed | 0-3 | lines/dots are moving slower -> faster | ||
Line 87: | Line 80: | ||
| underexpo_th | 0-255 | Threshold on undexexpo register, ignored on overexpo | | underexpo_th | 0-255 | Threshold on undexexpo register, ignored on overexpo | ||
| overexpo_th | | overexpo_th | ||
+ | |||
+ | **Note: On HDMI max threshold is 0xE8** Values above that are not displayed! | ||
===Color register=== | ===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.1645361130.txt.gz · Last modified: 2022/02/20 13:45 by kitor