Progress!
Thanks to ASM1989, I made the same 3 changes to the original script,
Firstly,
-- this is required for event procedure AllocateMemory
if (call_event_proc("System.Create") == -1) then
error("SystemEventInit failed")
end
Second,
-- this is required for event procedures SetAE_ShutterSpeed, MoveIrisToAv, SetCDSGain
if (call_event_proc("FA.Create") == -1) then
error("FA CREATE failed")
end
if (call_event_proc("InitializeAdjustmentSystem") == -1) then
error("InitializeAdjustmentSystem failed")
end
& Finally substituting the last change with specific IXUS 100 values, in my case...
-- go to manual exposure mode
function manualexp()
ret=call_func_ptr(0xFF830084,0,0)
end
function autoexp()
ret=call_func_ptr(0xFF82FF40,0,0)
end
The above memory locations were taken from,
from platform/ixus100_sd780/sub/100c/stubs_entry_2.S
NHSTUB(ExpCtrlTool_StartContiAE, 0xFF82FF40) //"StartContiAE"
NHSTUB(ExpCtrlTool_StopContiAE, 0xFF830084) //"StopContiAE"
For this to function I assume you'll need to find the exact memory locations for your specific camera.
Note the first function called is StopContiAE, which enables you to make manual adjustments.
I run the script, lock in the changes, shutter & ISO, (aperture is not available on IXUS)
While the camera is not recording, these values seem to lock in fine. I can point the camera at a bright target and the camera will not try to auto-adjust.
Unfortunately as soon as I hit record, the camera takes over ISO control again.
Damn! so close!!!