@srsa_4c
TEST RESULTS for your new CODE
CHDK_s90_100c_disableisdriveerror_nodistcorr works perfectly. The new nice surprise ... for Canon CR2 raws, Canon software now does *not* do the correction also, as needed! So I can use it as I have always done with the old S50 // beautiful.
Liveview barrel poke(0x5338,1) and unbarrel poke(0x5338,0) work perfectly. So you can go ahead and permanently code in poke(0x5338,0).
==>> Only tested on the 100c so far. I will try to get your 101a version to work tomorrow. If you're confident your solutions will work on the 101a, then I can comfortably certify that as of today, we have a 100% viable PFP system with the S90. You are amazingly talented!
OTHER USEFUL ODDS and ENDS ?
1. It would be useful to get at the numerical JPG quality parameter. For example:
set_quality(0.9)
reyalp told me that it exists for video but not for stills. Reason: the S90 has 2 settings in the Canon menu: "medium" and "fine." With CHDK override I can set to "superfine." However, even "superfine" quality is poor on this camera (3MB for a 10Mpx). A good superfine 10Mpx should be around 5-6MB, as on my SX110. I think Canon degraded the S90 to give users the illusion of faster shooting by making files smaller.
2. Could it be possible for you to make the camera go into M manual mode on ->REC? Reason: with the mode switch disconnected, camera goes to AUTO on ->REC and I have to change the value with the pulldown each time.
Could you give these some thought?
Also, for DISKBOOT.BIN, please compile for both cameras. Example .......
>> DISKBOOT_s90_101a_no_startup_lens_check_disableisdriveerror_nodistcorr
>> DISKBOOT_s90_100c_no_startup_lens_check_disableisdriveerror_nodistcorr
Does Canon call barrel "dist"? If not, can you name the files using "nobarrelcorr" please, since it is more accurate?
edit:
I think #2 could be possible just to add a bit of Lua code into the REC button in CHDKPTP if you feel hard-coding it into FW may put normal functionality at risk. Adding Lua code to REC might be another, or safer, alternative. What do you think?
erratum:
Last night I had said "code in poke(0x5338,1)," but I meant "code in poke(0x5338,0)."