In your case (i.e. able to compile from source), the recommended workaround is the following:
- get
adtg_gui (or compile it from the iso-research branch if you prefer)
- expecting it to work out of the box on any recent 70D build
- write down the address of CMOS[0]
- compare it with the address of PHOTO_CMOS_ISO_START from dual_iso.c
Saving and restoring Canon settings is not currently supported; they are just too many, and many of them have hardcoded behaviors, or even missing validation checks
*). Some of them may have quirks; see e.g.
this apparently trivial task showing differences in one property (PROP_VIDEO_MODE) across different cameras (not in functionality, but in the preconditions required to change it and in persistence).
*) An example: setting some invalid value to PROP_PIC_QUALITY (whose values are camera-specific, btw) is going to give ERR70, but that doesn't prevent it from being saved in the non-volatile memory. That means, you'll get that ERR70 at subsequent reboots, too. You don't even need ML to trigger this error; some USB remote control apps caused this, too (on other models; not aware of such incidents on 70D). So far, this condition was recoverable (on some models, via gphoto2, on others, with custom code that restored the valid value at startup).
I was thinking to implement some sort of Modified menu for common Canon settings; that should be easier, as most of the properties are common across models, but didn't start writing any code for it, except for identifying their associated
MPU messages. It should be debuggable in QEMU.