Some *.S files for 1.01B firmware for future developers - http://ewavr.nm.ru/chdk/trash/sx10-101b.zipSorry, I can't continue this work.
* First you need either the original firmware or a firmware dump of your camera.
* Create a platform subdirectory for a new camera model/fw version (you can just copy an existing one).
* Modify a couple of addresses and constants. * Check the keyboard "driver" (button constants and behaviour).
* Find the adresses of the RAW-, video- and frame-buffers. * Check the addresses of autofound functions. Manually correct/find the right addresses for some of them with a disassembler like IDA Pro.
Nimrod, looks like you've found pretty much everything you need. Porting a new sub version of an existing firmware is a lot easier than a new port. You will need to dump your specific firmware version.
The majority of function addresses are automatically found, as described in http://chdk.wikia.com/wiki/Signature_finder (that page is aimed at people adding new function signatures, which you don't need to do, but should help you understand the process) So what you are left with is fixing up the asm in boot.c, capt_seq.c, movie_rec.c, and filling in the addresses in stubs_entry_2.s (including any that aren't found correctly in the automatic stubs_entry.s) and stubs_min.s
You can start by copying an existing platform, but for some of the inline asm it's probably easier to start from ida disassembly instead, since you would have to go through line by line to fix all the offsets anyway. For the .s files, you should start from scratch.
The 1.01b files will probably not help you with 1.02b, unless they happen to be compatible. Since there aren't ports for either one yet, we don't know if they are.
// !!! THIS FILE IS GENERATED. DO NOT EDIT. !!!#include "stubs_asm.h"NSTUB(AllocateMemory, 0xffa67c20)// Best match: 56%NSTUB(AllocateUncacheableMemory, 0xff827fd8)NSTUB(Close, 0xff823a64)NSTUB(CreateTask, 0xff81aef4)NSTUB(DeleteFile_Fut, 0xff823310)// ERROR: EnterToCompensationEVF is not found!... etc
C:\CHDK\trunk\trunk772\platform\sx10\sub>diff 101b\stubs_entry.S 102b\stubs_entry.S99,102c99,102< NSTUB(_log, 0xffb01a10)< NSTUB(_log10, 0xffb0069c)< NSTUB(_pow, 0xffb0080c)< NSTUB(_sqrt, 0xffb0366c)---> NSTUB(_log, 0xffb01a40)> NSTUB(_log10, 0xffb006cc)> NSTUB(_pow, 0xffb0083c)> NSTUB(_sqrt, 0xffb0369c)
If you need real time advice, there's frequently a few of us idling in #chdk on freenode.
How often does this turn out to be the case? Funny that it's all the same except for these 4 math functions.
Quote from: Wuzi on 07 / June / 2009, 23:18:55Please make CHDK for FW: 1.02bBIG THX Quote from: redeyes3000 on 07 / June / 2009, 18:51:19 I am very disappointed that no one takes the job. For once I can test your product. Yet I am not the only person to expect a version 1.02b Please MTV.... Pip my Camera !! lolQuote from: ffdown on 07 / June / 2009, 04:00:11Pleeeeeasee!! make chdk ver. 1.02b pleeeeeeeeeeease!!!!!!?? ? ?? ? ?? RAW ? ?? ??(((Please read the thread, and think about what you are asking for a second. What would you do if someone on the street walks up to you and asks you to do a couple days of complex but not very interesting technical work for free ? If they say OMG PLEASE PLEASE PLEASE does that make you more likely to do it ?
Please make CHDK for FW: 1.02bBIG THX
I am very disappointed that no one takes the job. For once I can test your product. Yet I am not the only person to expect a version 1.02b Please MTV.... Pip my Camera !! lol
Pleeeeeasee!! make chdk ver. 1.02b pleeeeeeeeeeease!!!!!!?? ? ?? ? ?? RAW ? ?? ??(((
Can I help you in your work and how?
sources: http://rapidshare.de/files/47479952/sx10-102b-sources.rar.html