Now it's time for me to ask.
I've found out, that - under special conditions - the A410 can do manual focus without crash.
Those conditions are:
- previous call to MFOn() in firmware
- zoom has to be used previously (any position will do, even zooming in a step then zooming out)
Using zoom probably causes something to initialize. If there's no MFOn() call, only some zooming, no crash happens (and setting the focus succeeds) until the shutter button is pressed halfways (shoot_half). As soon as the camera wants to do an AF-scan, it crashes as usual.
MFOn() disables any AF-scan. It works not only on A410, but it also helps on A420 (no unnecessary AF-scan during SD-override). I suspect, some other (older?) models could also use it. I've also found this thread http://chdk.setepontos.com/index.php?topic=321.10
about IXUSes, but found no actual code about using MFOn() and MFOff().
My problem is, that properly implementing this MFOn/MFOff stuff seems very complex:
SD override can be switched on/off
- using the menu
- using the keyboard shortcut
- by loading the config on startup (even in play mode...)
All of the above resides in different parts of the core.
I currently switch on this mode in platform/generic/wrappers.c lens_set_focus_pos(), and switch it off when half-shoot happens and the SD override has already been disabled (in gui.c, couldn't find a better place yet) -> could something like this be included in the official trunk? The code in core is #ifdef'd out of course (#ifdef CAM_NEEDS_MFON_FOR_MF).
I'm waiting some suggestions from the devs like
1) Dont bother, nobody's using these old models anyway
2) <some suggestion about tracking & managing the state of this mode>