Hello @kizza1234, since you asked, here is a small progress update:
In the past few weeks I was working on 5D3 and was digging into preview stuff and EEKO code, well, I finally found the missing piece which I mentioned many times
Also I found some new registers in C0F1 range for 5D3 which being set by EEKO (entrly-level models have these also in C0F1, but on 5D3 they have diffrenet addresses and probably diffrenet functionality, both of them are used for the same purpose), they are used to config YUV stuff (preview) e.g for resizing/cropping preview image (like in x5 vs x10 modes on 5D3) . .
This means:
I probably have all required pieces to start with preview experiments (by understanding how these registers work and how to control them properly).
I tried some quick experiments to force x5 to x10 on 5D3, also tried to force x6.0 preview to x3.0 on 70D (when using digital zoom mode) from these low level registers (by using EngDrvOut from ICU a.k.a main core), unfortunately it didn't work properly, resulting either in frozen preview or registers values overwrite by EEKO EngDrvOut,
This probably means I need to hook EngDrvOut function from EEKO side if I want to control these registers properly, and this is the hard part for now, because we don't have hooking code for EEKO core yet (cache hacks don't work here), but this doesn't mean it's impossible to hook it.
The next step for now is to implement a way to hook EEKO code easily, DIGIC 6 cams will benefit from this too (they have Omar core which is similar to EEKO), @names_are_hard told me he might be able help in this.
Thanks! I have a 5D3 actually, currently there are no tests.
In the past few weeks I was working on 5D3 and was digging into preview stuff and EEKO code, well, I finally found the missing piece which I mentioned many times
Also I found some new registers in C0F1 range for 5D3 which being set by EEKO (entrly-level models have these also in C0F1, but on 5D3 they have diffrenet addresses and probably diffrenet functionality, both of them are used for the same purpose), they are used to config YUV stuff (preview) e.g for resizing/cropping preview image (like in x5 vs x10 modes on 5D3) . .
This means:
I probably have all required pieces to start with preview experiments (by understanding how these registers work and how to control them properly).
I tried some quick experiments to force x5 to x10 on 5D3, also tried to force x6.0 preview to x3.0 on 70D (when using digital zoom mode) from these low level registers (by using EngDrvOut from ICU a.k.a main core), unfortunately it didn't work properly, resulting either in frozen preview or registers values overwrite by EEKO EngDrvOut,
This probably means I need to hook EngDrvOut function from EEKO side if I want to control these registers properly, and this is the hard part for now, because we don't have hooking code for EEKO core yet (cache hacks don't work here), but this doesn't mean it's impossible to hook it.
The next step for now is to implement a way to hook EEKO code easily, DIGIC 6 cams will benefit from this too (they have Omar core which is similar to EEKO), @names_are_hard told me he might be able help in this.
Quote from: kizza1234 on April 16, 2024, 01:26:25 AMbut I do own a 5D III if you needed me to test anything etc.
Thanks! I have a 5D3 actually, currently there are no tests.