supplierdeeply

new to porting - maybe I need too much help :)

  • 5 Replies
  • 1917 Views
  • Publish
    new to porting - maybe I need too much help :)
    « on: 26 / April / 2008, 16:16:43 »
    Advertisements
    I'm attempting to port the ixus700-sd500 1.01b firmware to 1.01c

    I am able to compile from trunk source and I think I am making progress.  I have the disassembled output from both the 1.01b and 1.01c firmwares.  I started with the boot.c code to see if I could even get past the blank screen when loading the new firmware.   Is this a good place to start?  I just compared the .asm output (from IDA) between the two firmwares and am replacing mostly address locations in boot.c

    I would post the .asm output from each, but the filesize is around 25M for each. 

    I guess I have made some progress, as my new firmware flips back to the stock interface instead of locking up the camera entirely.


  • Publish
    Re: new to porting - maybe I need too much help :)
    « Reply #1 on: 29 / April / 2008, 16:20:13 »
    yeah, I guess its a bit over my head.

    I suppose I'll just have to be patient and hope someone uses my dump to port to the 1.01c firmware...

    Oh well  :P

  • Publish
    Re: new to porting - maybe I need too much help :)
    « Reply #2 on: 29 / April / 2008, 16:55:56 »
    In platform\generic\main.c you can comment-out  *entry = (long)capt_seq_hook;  and  *entry = (long)movie_record_hook;

    Then, you have to be certain the code you have pasted into boot.c has the correct addresses.

    You have to check all the entries in the stubs and in \sub\lib.c.

    This is tedious  .................

    To get an idea of how some of the lib.c entries are found, study the lib.c entries for various builds in the trunk.


    Good luck !


    David

  • Publish
    Re: new to porting - maybe I need too much help :)
    « Reply #3 on: 29 / April / 2008, 18:15:05 »
    As far as I see, 1.01c isn't too far off of 1.01b.

    I've been working the diffs there, but have only messed with boot.c so far.

    I'll start digging into lib.c and see what happens.

    I only wish there were a better way to debug.  I feel like my hands are tied and I'm in the dark...


  • Publish
    Re: new to porting - maybe I need too much help :)
    « Reply #4 on: 30 / April / 2008, 16:46:36 »
    In platform\generic\main.c you can comment-out  *entry = (long)capt_seq_hook;  and  *entry = (long)movie_record_hook;

    Then, you have to be certain the code you have pasted into boot.c has the correct addresses.

    You have to check all the entries in the stubs and in \sub\lib.c.

    This is tedious  .................

    To get an idea of how some of the lib.c entries are found, study the lib.c entries for various builds in the trunk.


    Good luck !


    David

    Strangely enough in the two previous ports I have for the SD500 (1.01a and 1.01b) I am having trouble finding ANY references to the addresses that are used in lib.c

    So... how does one rally some troops to call for a new working port?  ;) Is it mainly just that someone like myself decides they need it and goes for it, provided they have the skills to get it done?

  • Publish
    Re: new to porting - maybe I need too much help :)
    « Reply #5 on: 30 / April / 2008, 17:48:47 »
    I am having trouble finding ANY references to the addresses that are used in lib.c

    It is not easy.

    This gives you some clues /trunk/platform/s5is/sub/101b/lib.c - chdk - Trac

    Study the stubs for 101a and look at each function address in the disassembly.

    You then have to find similar code in your disassembly.

    Often it is identical, just in a different location.

     

    Related Topics