Yes, camera crashes. If it helps, ROMLOG in attachment.
Thanks for confirming.
I have written a howto, but it will quickly become obsolete because this workaround is
not ideal. If you choose to commit it, please put notes in that this is a temporary measure.
It's possible that other CHDK operations are also affected by the change detailed in the linked thread.
Trace back the parameter passed to ClearEventFlag in the following event procedures (note I'm using names provided by sigfinder):
MoveFocusLensToDistance_FW
PutInNdFilter_FW
Then find the two functions that initialize them, they are called from InitializeAdjustmentFunction (you have to look in the function called from InitializeAdjustmentFunction, actually).
Trace back the parameter passed to TakeSemaphore in the following event procedure:
TurnOnNdFilter_FW
Then find the function that initializes it, it is called from Mecha.Create .
Note that the sigfinder will use TurnOnNdFilter if both TurnOnNdFilter and PutInNdFilter are available. If this is the case, the ND filter eventflag doesn't need to be initialized.
For ixus160 100a:
sub_ffad6344: ND semaphore init (also registers some event procedures)
sub_ffaa8558: ND eventflag init (not needed, because the other ND funtions are used)
sub_ffb7ebfc: focus eventflag init
You can call the above 2 required functions right after taskcreatePhySw_my in boot.c (that's just a suggestion).
This will fix:
- ND override
- subject distance override
- set_zoom (this one is only affected because CHDK attempts re-focusing after adjusting zoom)