IXUS75/SD750 1.01a | 1.00b | 1.02a - Update 09Nov2008 - Passing the Torch

  • 381 Replies
  • 87389 Views
*

Offline TPC

  • *
  • 46
  • SD750 1.01a
  • Publish
    Advertisements
    Update November 9th, 2008

    Alright kids, here it is, I'm waving the white flag for now.

    I've put a little bit of work into CHDK for the SD750 since the last release but nothing worth making a new post over.  Also since the last release I've been getting bombarded with PMs and emails from people who are anxious to get what I've done into the trunk for CHDK, fix bugs, get support for 1.02a, etc.

    Not that I mind, it reminds me find the time to ZIP/upload the stuff. :p

    Here it is:

    SD 750 Dev Environment - Copy of the SVN Repository downloaded a few months ago with SD750 code added in on top.  If you want the raw code for SVN/personal use, download this.
    SD750 Firm Dumps/IDA Stuff - Firmware dumps and IDA database files for 1.01a, 1.00b, and 1.02a.

    There it is.  I'll monitor the thread from time to time to update the title post when things change.  Just send me a PM or I'm skim the thread for updates once in a while.

    Now that that's over with, let me take a moment to thank the creators of CHDK, the folks here in this forum, the testers, and camera geeks in general.  This was a fun little project that I'm proud to have put work into, and proud to turn loose for others to use.

    GLHF



    Update June 8th, 2008

    Rebuild of the 1.02a has been posted.

    Significant progress on the 1.00b port has been made. Only the stubs entry file remains. If the first 1.00b build isn't posted tonight, check back here tomorrow. Update: the first build of the 1.00b has been posted below.

    Update June 5th, 2008

    Look for the next build of the 1.02a port and the first build of the 1.00b port on Sunday.

    Update May 10th, 2008

    The first 1.02a port was released last night, but it was crashing cameras, so I have re-checked my stubs_entry files and made a few corrections.  The latest is available below.


    Update May 7th, 2008

    CHDK got posted on Slashdot and a number of other sites, and in the comments I noticed some people looking for the SD750... so I put the ports a little higher on my priority list. The 1.02a port will be available for testing this weekend.

    Update April 22nd, 2008

    Reference:
    Wiki page: SD750 - CHDK Wiki
    My porting walkthrough for this cam: IXUS75/SD750 1.01a - Port (Maybe) Finished

    CHDK Releases:
    SD750 1.00b (Testing): zShare - chdk_sd750_100b_08jun08_2109.zip
    SD750 1.01a (Done): zSHARE - chdk_sd750_101a.zip
    SD750 1.02a (Testing): zSHARE - chdk_sd750_102a_08jun08_1547.zip.zip Test, report results

    I'm currently working on the 1.01b and the 1.02a firmware versions.

    I hope to have CHDK for these versions posted in a few days. I will need help testing.

    I am not working on the 1.01a as I believe it is finished. If you have a dump of another version, please post it or message me.

    That is all.

    Original Post ============================================================

    Hello,

    I noticed there wasn't any development in progress for the IXUS75/SD750 (according to the wiki) so I decided to start working on my own SD750. After several days of blinking/analysis I managed to get the firmware out of it...

    ...however now that I have the firmware I've run into a problem while using IDA.

    I followed this guide:

    Loading dump to IDA - CHDK Wiki

    I'm using the SD1000 1.01b firmware for comparison, and in IDA there are many entries in the Names window that correspond to the missing functions in the stubs_entry files. There's also alot of blue in the graph at the top of the IDA window. Everything looks fine.

    When I load the SD750 firmware and apply the signature file/run the CHDK IDC script, the Names window is comparatively sparse (though a ton of entries still show up) and the color graph has very little blue. The other major thing that happens is in the log window at the bottom, I get many "ROM:FFXXXXXX: Can't find name (hint: use manual arg)" messages. Also, there are alot of unresolvable addresses (highlighted in red) in the IDA disassembly viewing window.

    From looking at the firmware in a hex editor I know that this is a VxWorks 5.5 camera, so I know I can't be applying the wrong FLIRT signatures/running the wrong CHDK IDC file.

    So, my question/request is this: can someone have a look at the IDA database file (below) and see what it is that I'm doing wrong, or give me a hint on how to proceed?

    SD750 Dump (1.01a):

    EDIT: See link below...

    IDA Database file(s):

    Link removed, out of date


    ==========
    Bonus Info
    ==========

    For those that are just passing by the thread searching for random bits of info on dumping this camera, here's the LED addresses for SD750:

    #define LED_AF 0xc02200C0
    #define LED_PR 0xc02200CC
    Firmware starts at 0xFF810000
    « Last Edit: 09 / November / 2008, 20:09:32 by TPC »

    *

    Offline GrAnd

    • ****
    • 916
    • [A610, S3IS]
      • CHDK
  • Publish
    Re: IXUS75/SD750 - Help with IDA
    « Reply #1 on: 30 / March / 2008, 15:21:33 »
    It seems that you edited the dump in a editor which replaces Unix-like end of line code 0x0A with DOS-like 0x0D, 0x0A. You can use zSHARE - primaryixus75_sd750-101b.bin for comparison.
    If you keep the original (non-edited) dump, please share it.
    CHDK Developer.

    *

    Offline TPC

    • *
    • 46
    • SD750 1.01a
  • Publish
    Re: IXUS75/SD750 - Help with IDA
    « Reply #2 on: 30 / March / 2008, 19:06:50 »
    It appears that, in addition to the DOS newline problem you mentioned, I failed to properly dump two of the 4096 1K blocks, thereby crippling the firmware image and causing IDA to become quite confused about halfway through the dump...

    I've fixed both problems and the dump appears to have disassembled correctly in IDA. So far many of the subroutine addresses in 1.01A are the same as those in 1.01B. Thanks for your help, I never would have figured out the newline problem on my own.

    Here's the corrected dump, version 1.01a:

    zSHARE - ixus75_sd750_101a.zip

  • Publish
    Re: IXUS75/SD750 - Help with IDA
    « Reply #3 on: 30 / March / 2008, 20:07:42 »
    Did you use the udumper to get your dump? I have an SD750 1.02A and might be able to do the dump from udumper. Not sure about a blinker dump though.


    *

    Offline TPC

    • *
    • 46
    • SD750 1.01a
  • Publish
    Re: IXUS75/SD750 - Help with IDA
    « Reply #4 on: 31 / March / 2008, 00:41:50 »
    No, I haven't messed any with the udumper.  I modified the blinker code (whichever one it is that sends crc16 data for each block) and wrote 3 separate programs in VC++ to interpret the output from an ASCII audio file.  My waveforms in Adobe Audition didn't look anything like what was shown in the wiki so I had to improvise...

    ...which eventually lead to the problem that I had today. For some reason one of my programs wasn't writing in binary mode. Oops.

    Keep checking back, I hope that one day soon I can post a ported build so that someone else can benefit from my work.

    *

    Offline GrAnd

    • ****
    • 916
    • [A610, S3IS]
      • CHDK
  • Publish
    Re: IXUS75/SD750 - Help with IDA
    « Reply #5 on: 31 / March / 2008, 03:06:41 »
    @somacore
    whim has got his dump of SD750 using udumper - [DOWNLOAD LINKS] Firmware dumps available. Ask him.
    CHDK Developer.

    *

    Offline TPC

    • *
    • 46
    • SD750 1.01a
  • Publish
    Re: IXUS75/SD750 - Help with IDA
    « Reply #6 on: 02 / April / 2008, 21:42:46 »
    For those that are following along, I've gotten CHDK to boot on the SD750 101a. The 101b firmware looks mighty similar and it might work there too.

    Before you get all excited, this is not a complete port, the lens does not extend and none of the keys work (yet). If you have an SD750 101a/b/whatever, please try this and see if it works for you too.


    ** EDIT Link out of date... please see post below.
    « Last Edit: 03 / April / 2008, 00:22:15 by TPC »

  • Publish
    Re: IXUS75/SD750 - Help with IDA
    « Reply #7 on: 02 / April / 2008, 21:45:34 »
    Tonight I was able to disassemble my dump in IDA, and it all looks good.

    What do I do next? I want to get this thing going!

    I'm uploading my .idb file now, can you guys use that or should I save it as something else?


    edit: I have the 1.02a posted above, maybe you could take a crack at that? I'll post the link to my .idb file when it's done uploading (40Megs)


  • Publish
    Re: IXUS75/SD750 - Help with IDA
    « Reply #8 on: 02 / April / 2008, 21:50:02 »
    For those that are following along, I've gotten CHDK to boot on the SD750 101a. The 101b firmware looks mighty similar and it might work there too.

    Before you get all excited, this is not a complete port, the lens does not extend and none of the keys work (yet). If you have an SD750 101a/b/whatever, please try this and see if it works for you too.


    zSHARE - chdk_trunk_sd750_101a.zip

    This works for my 1.02a camera. The firmware update is a success but none of the buttons work, and it appears the camera is off. Great work!

  • Publish
    Re: IXUS75/SD750 - Help with IDA
    « Reply #9 on: 02 / April / 2008, 22:37:17 »
    Nice to see the Ixus75 will be available, I have an eager friend drooling over CHDK and waiting for this particular build :)

    Can we ask how long it might take to have a fully functional build?

     

    Related Topics