You are right with "half the fun", but my microcopter wants to fly with camera and remote control I compiled sx30 and G12 with my PRIMARY.BIN and only a handful mismatches happend:Fgets_FutFread_FutFwrite_FutLocalTimeWrite_log_log10_powmemcpymemsetset_control_eventstrtolxvsprintfIdentical list of mismatches for both! It seems to be feasible to find them!?Any comments are welcome......have fun...Michi
I compiled sx30 and G12 with my PRIMARY.BIN and only a handful mismatches happend:
In the end, you need to be able to understand the disassembly and find the relevant functions. No tool will replace this any time soon.
...Not sure what you mean by mismatches; but you can't just copy your cameras firmware to an existing port and expect it to work.Have you read http://chdk.wikia.com/wiki/Adding_support_for_a_new_camera.The signature finder attempts to find functions in the firmware by matching code from other firmware versions. It writes these out to stubs_entry.S along with the % match if it was not 100%. Sometimes multiple signatures will match and you will get a comment with the ALT signature match details. A lot of times it won't find a match at all and you get an 'ERROR' comment for the function in stubs_entry.S.Every function must match 100% for CHDK to work.Any function not found by finsig or found with less than 100% match must be manually found and/or confirmed in the firmware dump by you. You then put these correct addresses in stubs_entry_2.s (manually) - it helps to add comments on how you found/matched them for future reference.The build process scans stubs_entry.s and stubs_entry_2.s to make sure that every function has an entry in at least one of the files. If there are missing functions the compile stops with errors and a dump of the missing functions is created.If you put your PRIMARY.BIN into my G12 or SX30 port you are just using the addresses I have found for these two cameras - which will be wrong for yours, so you still need to verify everything. It's best to start with an empty stubs_entry_2.s file so you get a list of all the functions not matched. You can then put all these into your stubs_entry_2.s along with any that did not match 100%. Then you start the painstaking process of finding and verifying each one in the firmware code - this can take days, weeks or months depending on how much free time you have to work on it, and how many similar cameras you have to compare firmware dumps. When trying to find missing functions I find it useful to have the firmware dumps loaded into IDA (or whatever tool you use) for a few similar cameras that have working ports (release date, features, etc). You can then find the functions in the working dump to see what the code looks like and try and find some way to identify the function to allow you to search for it in your camera firmware.Hope this helps,Phil.
For the SX220 stubs I checked them all and found that a lot of them were wrong, even when the match % was high and some were right when the % was small. So is best to recheck them all manually to be sure.
With these facts I've to recalculate if the port will exceed my time budget
Started by acseven General Discussion and Assistance
Started by ELPH300 « 1 2 » Hello, I'm a NEWBIE - HELP!! (Newbies assistance, User Guides and thank you notes)
Started by VincentD « 1 2 3 » General Help and Assistance on using CHDK stable releases
Started by yoshiharra General Help and Assistance on using CHDK stable releases
Started by igb General Help and Assistance on using CHDK stable releases