CHDK Forum
CHDK Development => General Discussion and Assistance => Firmware Dumping => Topic started by: Chefchen on 05 / December / 2007, 06:49:57
-
Ok Guys
This time i checked it!
i just dumped the 1.01b dump from by camera and started doing a few things but it seems i dont really get it running.
as included in the archive you will find my progress in adopting to 1.01b
content:
primary.bin - 101b
sub source - mixture between 101a and 101b
diskboot.bin - 101b
ps.fir - 101b
status:
i can already start the "firmware update" and the camera comes back with a LCD truned on then the blue LED blinks once an the camera shuts down.
debugging in this environment seem to be a nightmare...
so any idea from someone who did a porting before?
link:
http://rapidshare.com/files/74434482/SD500_101b.zip.html
help welcome!
cheers
Chefchen
PS:
a hint: if you should try to work with IDA on this aim for a version 5+!!
it cost me weeks to find out!
PPS: of course all the work is based on the existing version 1.01 port. which seems to be a great help
-
one more thing....
i obviously changed the following files in the sub 101b:
stubs_min.S
stubs_entry_2.S
boot.c
lib.c
i marked all the changes with //1b or //1a 1b or // 1a
1b ~ i think this is the right address
1a 1b ~ seem to be the same in both versions
1a ~ did look for it but did not find it
if there is no comment, i did not touch it (most likely) so feel free to double check my suggestions .... maybe we can get a working version out of it....
cheers
chefchen
-
Ok, tonight I shall try to help you.
Quick look - address of GetProperyCase is 0xFF825CA4
-
Thanks..... IT DID CHANGE Everything!!!!
the first look it, that it works.....
coming back in a few minutes after playing around!!!!
cheers!
-
Checking it for a few minutes...
it was partly successfully.
in playback mode it works 100%
i do have the splash screen and all the menus
but when i go to camera mode the sd500 dies.
most likely a wrong address still somewhere
keep up the good suggestions
cheers
-
My version of stubs_entry_2.S:
#include "stubs_asm.h"
NHSTUB(Open, 0xFF86A938)
NHSTUB(Close, 0xFF86A944)
NHSTUB(Read, 0xFF86A9A4)
NHSTUB(Write, 0xFF86A9B0)
NHSTUB(Remove, 0xFF86A950)
NHSTUB(free, 0xFFABCC78)
NHSTUB(Mount_FileSystem, 0xFF869CD4)
NHSTUB(SetPropertyCase, 0xFF825B9C)
NHSTUB(GetPropertyCase, 0xFF825CA4)
NHSTUB(VbattGet, 0xFFA60A9C)
NHSTUB(GetZoomLensCurrentPoint, 0xFFA56FBC)
NHSTUB(GetCurrentAvValue, 0xFFA6F28C)
NHSTUB(GetZoomLensCurrentPosition, 0xFFA56FD0)
NHSTUB(GetFocusLensSubjectDistance, 0xFFA64C98)
NHSTUB(MoveFocusLensToDistance, 0xFFA715D8)
NHSTUB(UniqueLedOn, 0xFFA6887C)
NHSTUB(UniqueLedOff, 0xFFA688D8)
NHSTUB(platformsub_kbd_fetch_data, 0xFF8299B4)
NHSTUB(kbd_p1_f_cont, 0xFF828FEC)
NHSTUB(kbd_p1_1, 0xFF8293FC)
NHSTUB(kbd_p1_2, 0xFF829464)
NHSTUB(kbd_p1_3, 0xFF829848)
//null stub
NHSTUB(PhySw_testgpio, 0xFF8118C0)
NHSTUB(SetZoomActuatorSpeedPercent, 0xFF8118C0)
NHSTUB(kbd_p1_f, 0xFF8118C0)
NHSTUB(kbd_p2_f, 0xFF8118C0)
NHSTUB(kbd_read_keys_r2, 0xFF8118C0)
note that autofind of shooting-related function is incorrect.
boot.c and lib.c are right. Now I will check capt_seq.c and movie_rec.c
-
I changed the the stubs_entry_2.s
it did not fix the problem.
in fact I did not touch capt_seq.c and movie_rec.c, yet.
so this might be the source.
cheers and thanks for the good work
-
Yes, capt_seq.c is incorrect, I have fixed it. Wait some time, I will post corrected sources.
-
Sources and binaries - http://www.zshare.net/download/5391899f340d10/ (http://www.zshare.net/download/5391899f340d10/).
I hope that it will work :-[
-
:)
You know what!
it does!
so we have a sd500 1.01b version now!
Congrats!
Chefchen
-
You are both LEGENDS. HEROES!! Brilliant, can't wait to try it. (and I'm surely not the only one)
-
tested most of the stuff.... and it seems to work.
the only thing i found not working (at least for me) is the speed override at the moment.
can anyone confirm this?
another thing..... who is going to include the sources into the CVS?!
-
another thing..... who is going to include the sources into the CVS?!
It seems that EWAVR already did it - http://tools.assembla.com/chdk/browser/branches/EWAVR/platform/ixus700/sub/101b
-
the only thing i found not working (at least for me) is the speed override at the moment. can anyone confirm this?
If you're talkin' the shutter speed override, it's working for me?
I fired off a couple of 10 second test exposures, no problems.
-
Sorry. I just realized I posted into the IXUS 700 / SD500 thread. Sorry for the noise.