I found most of the addresses and the patched the code in boot.c, but the camera kept crashing in record mode and I moved on to other things. If you can post your source code, I could pretty quickly drop my stuff into your code and see how that goes.
I'm sure it will be no surprise with a newbie doing a first port if I confess that my source code at this point is a mess. Starting from scratch, I've had to tinker to understand how this all comes together. I think that I now understand the build structure basics. The ground rules are to not change stuff in the trunkNNN
core, include and
lib directories. I'm not so sure about how to treat the
platform/generic directory - some of the files have duplicate names with the ones under
platform/ixus120_SD940. But the build process seems to sort that out - some don't get compiled and some do despite the name conflict. Not sure how that magic happens yet. In any case, at some point I'll take a day and clean up so that the changes I made in the common files all migrate over to the version specific files.
Any chance you could send me your
lib.c, stubs_entry_2.S and
stubs_min.S ? I parsed the
stub_entry.s version from the SD980 in a spreadsheet and the labels show up in the same order in memory for the SD940 and SD980. Initially they used the same addresses but gradually spread apart. I calculated the average spread at the point where the SD980
stubs_entry_2.S were found and used that as a starting point for finding the SD940 equivalents. Brute force.
Also, I have not started on the
capt_seq.c or
movie_rec.c so getting a look at yours would help.
You are welcome to any of my files or maybe you'd rather wait until I get a little farther along and I'll just zip up the whole build ?