FWIW, the script seems to work fine on d10 and a540
Curious. The a540 is quite old but the D10 came out after my G10 but before my SD940. It works and mine don't.
The sd940 and G10 romlogs are different enough that I wouldn't be surprised if they are two unrelated problems.
Some of this we talked about in IRC, but I'll put it here for posterity.
sd940 103c
Assert is triggered by the return value of sub_FF87C778 (KerFlag.c) called from FF8B2B74 ( ExpDrv.c Line 3499) It's curious that this is in expdrv, which I wouldn't expect to be directly related to focus or zoom. Maybe AE... I guess KerFlag is "kernel flag" but I don't have much idea what any of this is doing. We do hook expdrv for "extra long exposure" support, but waterwingz tried disabling the hook and there was no change.
G10 102a
Phil covered most of this.
One thing I can add is sub_FFAD17B8 is MoveFocusLensToDistance (MoveFocusDistance refers to the same address).
shooting_set_zoom calls this via shooting_set_focus -> lens_set_focus_pos. So the zoom is probably working, it's attempting to re-focus afterward that's the problem.
g12 has a hack in lens_set_focus_pos for continuous af mode.
Following is basically duplicated form Phils post.
--
ASSERT!! FocusLensController.c Line 650 in PhySw (aka kbd_task)
this is triggered by return value of the call to sub_FF938AF8 at FF939368
sub_FF938AF8 is a quite simple function that compares it's argument to *(0x8C3C + 4)
It looks to me like the argument is *(0xF5E8+0xC)
--
Watching these values while zooming manually might be instructive.