IXUS750/SD550 - Now working, for firmware 1.0F PAL! - General Discussion and Assistance - CHDK Forum supplierdeeply

IXUS750/SD550 - Now working, for firmware 1.0F PAL!

  • 61 Replies
  • 32379 Views
IXUS750/SD550 - Now working, for firmware 1.0F PAL!
« on: 09 / July / 2008, 09:59:28 »
Advertisements
Hi,

I've spent the last few days painstakingly porting CHDK to the IXUS750. I've got a PAL one, firmware 1.0F.

I've got it to the point of booting up and showing the CHDK startup screen, but of course the keyboard doesn't work  :(

So I've got a bunch of questions  :)

1. How do I check-in my changes into the tree, so others can work on it, if need be? I'm happy to send my work-in-progress to a developer to check-in if that's how it works.

2. Is there any way, now I've got it this far, of getting CHDK to emit debugging stuff, e.g. writing to a log file on the SD card or displaying on screen? I must admit I haven't looked at CHDK beyond the platform/sub folder yet as I've  been concentrating on getting it going.

3. Is anyone interested in helping me check my stubs_min.c/stubs_entry.c/stubs_entry2.c/boot.c/lib.c files? For example, I haven't yet gone through stubs_entry to check that all the results of findsig were correct.

Now turning to the immediate problem, the keyboard.

I've been using the SD500 and SD700 ports as references. At the moment, my kbd.c is identical to the SD700 one which is much simpler than the SD500 one. However it has a kbd_fetch_data function that uses 3 absolute addresses (0xc0220200 to 0xc0220208) that I can't find referenced anywhere when using IDA against the SD700 primary.bin.

Alternatively the SD500 kbd.c is quite different, and has a bunch of extra functions (and also an additional one in boot.c). I started off trying to port these functions and found it very difficult to match up anything similar in the SD550/IXUS750 disassembly - for example it relies on entries in stubs_entry_2.s of kbd_p1_1, kbd_p1_2 and kbd_p1_3 that just didn't look there at all.

My next plan is to check my stubs_entry.c generated addresses for anything kbd related. I'd be grateful if anyone with any experience could give me any pointers on any strategy to follow. Also, I'd really like to share the fixes I've done (hence question 1 above)...is it appropriate to add to the SD550 wiki page, or post here?
« Last Edit: 12 / July / 2008, 22:58:27 by Zippo »

*

Offline diju

  • *
  • 4
  • IXUS 750
Re: IXUS750/SD550 - Almost there (I think), but need help.
« Reply #1 on: 12 / July / 2008, 07:29:51 »
Hi Zippo,
I'm also working on SD550, Version 1.00G.
There are a bunch of differences, even to 1.00H which makes life pretty hard.

I appreciate the idea, to extend at least camera.h with the SD550 plattform so
living with SVN will get a bit easier.

Re: IXUS750/SD550 - Working!
« Reply #2 on: 12 / July / 2008, 22:57:56 »
OK,

CHDK is now running on the IXUS750!  :D

Fixed all the keyboard issues. For anyone who wants to follow me and port to other firmwares, here's the top tip: Do not base your code on the SD500, but on the SD450 instead. The SD450 was released onto the market at the same time, and looking at the code (at least for my 1.00f build) it's very very close in structure.

Anyway, I have a working SD550 build. I'll do a bit of testing on it today, and put a link up here tonight.

Only think I haven't done is the mount.c (i.e. CAM_MULTIPART) stuff, mainly because the SD450 port doesn't have it. Is it really important?

*

Offline imh

  • *
  • 6
  • Ixus 750
Re: IXUS750/SD550 - Now working, for firmware 1.0F PAL!
« Reply #3 on: 13 / July / 2008, 05:35:19 »
CHDK is now running on the IXUS750!  :D

Cool!  :D

at least for my 1.00f build

Drat  :( I have a 1.00G...  Anyway, will download and test once you've uploaded it...


*

Offline diju

  • *
  • 4
  • IXUS 750
Re: IXUS750/SD550 - Now working, for firmware 1.0F PAL!
« Reply #4 on: 13 / July / 2008, 07:52:39 »
only boot.c will work - the differences between 1.00F and 1.00G are too big.

I'm still working on 1.00G

Re: IXUS750/SD550 - Now working, for firmware 1.0F PAL!
« Reply #5 on: 13 / July / 2008, 08:11:04 »
OK,

Anyone with a IXUS750 PAL, 1.00f is welcome to try the following:

zSHARE - ixus750_sd550_101f_chdk_test_binary.rar

rename the ixus750_sd550-101f.FIR to PS.FIR, and follow the normal instructions on getting chdk onto an SD card.

I've tested as much as I can - everything seems to work, i.e. I can shoot raw, I can zoom while shooting a movie, all the OSD stuff works and I can do 64 second exposures. I'm not making any claims about 100% bug-free, so I'd really like to hear feedback!

diju - check your PM in a minute, I'm sending you the src.

Everyone else - I guess I should add to the sticky thread above to get my work checked in. Will do by tomorrow (got to go to bed!)

Note: The filename is actually a bit wrong - when I started out I set up my directories as 1.01F, when in actual fact this is a build for 1.00F (PAL) firmware. I don't think a 1.01F firmware exists, but anyway if one does, I apologize if the filename gets your hopes up.
« Last Edit: 13 / July / 2008, 08:20:14 by Zippo »

Re: IXUS750/SD550 - Now working, for firmware 1.0F PAL!
« Reply #6 on: 14 / July / 2008, 03:17:05 »
Updated binary, after more testing:

chdk-allbest-ixus750_sd550_100f_pal_v0.1.rar - 0.21MB

The source code for this port is available

here

Changes:

1. Added support for multiple partitions (i.e. mount.c is now implemented). Probably moot as I don't believe the IXUS750 can support SDHC cards, so you'd have to find a 4gig SD card to have any benefit.

2. Changed the constants and modemap in main.c to use values from SD500 rather than SD450, as they're probably closer.

Issues:

1. I'm not entirely convinced that the values being displayed by the DOF/focus calculations are correct.
2. Battery max voltage, i.e. when fully charged, isn't correct for my camera, however that may be because my battery is old, so I can't put the right value in.

Feedback would be appreciated... :)

Re: IXUS750/SD550 - Now working, for firmware 1.0F PAL!
« Reply #7 on: 14 / July / 2008, 12:54:13 »
Hi.This is my first posting here.
I have the Digital Ixus 750 with 1.00G Firmware.I have tested the 1.00F Firmware and i think the most options are working with my cam.I am still testing and waiting for a firmware for the 1.00G.
Thx a lot for your work.


Re: IXUS750/SD550 - Now working, for firmware 1.0F PAL!
« Reply #8 on: 15 / July / 2008, 18:47:23 »
Hello,

Even though I have a 1.00G SD550 (NTSC), I thought that I would give Zippo's firmware a try. I can confirm that it boots up, menus display, and some functionality works just fine (or appears to); bracketing in continuous mode, for example, appears to work beautifully. However, nothing I have tried (Photoshop CS3, Mac OS X Preview, Canon's software) will read the RAWs that are being produced. I'm guessing there's where one of the differences between the F and G code comes into play...

But, I'm very encouraged to see it working at all! If anyone needs another set of eyes for testing, please let me know. And, above all else, thanks to everyone for their hard work in getting this thing ported to the SD550!  :D


*

Offline fe50

  • ******
  • 3147
  • IXUS50 & 860, SX10 Star WARs-Star RAWs
    • fe50
Re: IXUS750/SD550 - Now working, for firmware 1.0F PAL!
« Reply #9 on: 15 / July / 2008, 19:26:47 »
Hi jsteel,

Quote
However, nothing I have tried (Photoshop CS3, Mac OS X Preview, Canon's software) will read the RAWs that are being produced. I'm guessing there's where one of the differences between the F and G code comes into play...
No - you have to use dng2ps-2 to convert the RAW files to DNG format...

CHDK wikia - FAQ: I've shot some RAW pictures. How do I process them ?
CHDK for Dummies: RAW

 

Related Topics