Oh hello. It was a bit funny (and disappointing?) to see that most of my research is a duplicate of this thread
Anyway, the interesting bit for you is probably Ximr Context structure and layers implementation from Digic 7 (with pure Ximr functions).
From what I understand some CHDK cameras have separate buffer for GUI and for focus box overlay, which is similar to EOS R/RP setup (Digic 8 ), while other have single buffer (like on 200D / Digic 7).
Of course this can still be depending on Zico firmware, but since 200D don't use this feature and it is still available, I guess D6 cameras should have it too.
Additional info, not posted yet: "flags" or "color" field of MARV structure is kind of bitfield, It seems to contain 4 things (starting from MSB): Type (?), bits per pixel, subsampling and flag if VRAM has separate opacity layer (UYVY + Alpha). I experimented with that a bit yesterday and had "input" YUV+Alpha layers working on EOS R for different subsampling modes. Unfortunately I found no traces of potential indexed RGB mode - it would be too easy
Now, questions time
@srsa_4c - do you have any idea for accessing drysh on zico core? At least on EOS Zico firmwares there are all the strings there. But we are able to switch UART only between main core and Lime with drysh uart_change command. Turtius traced how this switch works and it just sets 2 bit bitmasks at locations:
- d01202f0 (RX) and d01202f4 (TX) for R/D8
- d20702e4 (RX) and d20702e0 (TX) for 200D/D7
"11" switches to Lime, "00" to ICU, as for 01 and 10 - there's just a silence.