CHDK for SX120 - page 3 - CHDK Releases - CHDK Forum

CHDK for SX120

  • 597 Replies

Offline reyalp

  • ******
  • 13454
Re: CHDK for SX120
« Reply #20 on: 03 / December / 2009, 22:41:28 »
oh...  Well, I dont know what to do or what programs, but if someone can provide me with instructions on how to port it, ill do it.  I have too much free time anyway
1) become proficient in C
2) Learn enough assembly language that you can follow it reasonably well with the help of a reference manual.
3) Get a working build environment. Refer to for instructions
4) Get a firmware dump, if there isn't one already.
5) Follow the instructions in

You will not find step by step instructions for #1 and #2 here. Together they represent 2-4 terms worth of university level CS courses, depending where you start from.
« Last Edit: 03 / December / 2009, 22:46:43 by reyalp »
Don't forget what the H stands for.

Re: CHDK for SX120
« Reply #21 on: 04 / December / 2009, 10:15:01 »
Ah... I'll ask my dad if he can do it then... >_>

Re: CHDK for SX120
« Reply #22 on: 06 / December / 2009, 12:34:24 »
I've sent an email to gajownik but he seems to have dropped off the face of the planet.  I'll be getting one of these for good in a few weeks and will attempt to start my own port over the holidays, when I'll have more "free" time


Offline reyalp

  • ******
  • 13454
Re: CHDK for SX120
« Reply #23 on: 13 / December / 2009, 17:51:26 »
So, the brand new SX120 IS is in my hands now :-) Its FW version is the same as in CHDK part1 archive, so nothing new here.
Firmware dump is loaded in IDA, initial CHDK.idc run completed, FLIRT signatures applied. Now I will write PM to gajownik -- he seems to have done some initial porting.

A question is to how one should choose a reference port. It seems that I should look for well-supported camera based on DryOS and DIGIC-IV processor. It is either SX10 or SX200, is it right choice?

Also I'd like to know what gcc/binutils version is in use right now. Is gcc 4.3.3 + binutils 2.18 considered to be stable (for generating image, I'm aware of binutils 2.18 bugs described in the wiki). Do do you all use gcc 4.2.1?

EDIT: I've managed to build arm-elf toolchain and gcc 4.3.3, succesfully generated CHDK for Canon SX200IS. Had to build without "--with-cpu=arm9".
Now will poke gajownik...
I'd suggest the SX10 as a primary reference, it's a reasonably mature and was mostly done by people who are experienced with the CHDK codebase. FWIW, I don't suggest copying any port and then trying to "fix" it. The problem is that a lot of things can be broken without causing something obvious like a crash. So they get passed on to the new port without ever getting corrected, leading to obscure bugs that I have to track down later. See,3977.msg37430.html#msg37430 for some further thoughts.  In any case, you will want to look at the other SXnnn cameras as well.

Don't forget what the H stands for.

Re: CHDK for SX120
« Reply #24 on: 14 / December / 2009, 07:15:18 »
fwiw, which is not much since I'm at a customer site right now and not my "own man" I've got the camera and have downloaded and built the source for the sx100 (I'll do the sx10 now) I hope to start working on crashing my camera, er, porting soon.

Re: CHDK for SX120
« Reply #25 on: 15 / December / 2009, 18:13:40 »
Hi :)

One day hard disk in my laptop died and it was a good reason to take a break from everything in my life (I burned myself out). Add to this existential nature of problems and, as you can guess, I did nothing since then. Sorry for letting you down.

If someone is willing to continue porting you can find source code attached to this post (based on older svn checkout).

* loader/ seems to be finished.
* platform/kbd.c -- finished except one thing: SX120IS does not have KEY_PRINT so I had to define it in static KeyMap keymap[] table with the same value as KEY_FACE. ALT key should be defined in a more sane way...
platform/lib.c -- there's a bug in vid_bitmap_refresh() -- I did not have time to look at it but this,4333.msg42131.html#msg42131 should help you (big thanks to RaduP)
* platform/main.c - TODO
* platform/shooting.c - TODO
* plafromt/wrapper.c - TODO

* boot.c - JogDial_task_my() TODO (it's quite different than in other firmwares)
* capt_seq.c - capt_seq_task() is done, but longer exposure does not work
* lib.c seems to be finished (maybe RAW stuff needs more checking)
* movie_rec.c TODO
* stubs* finished

* include/camera.h - almost everything needs to be fixed

It would be nice if someone could recheck all the files. I based my work mainly on SX10, SX110 and SX200 firmwares.

I was able to make DNG RAW files but with broken colour palette (include/camera.h!). badpixel.lua does not work -- you have to create appropriate file on the SD card on your own. I wasn't able to import CRW files in anything.

I presume that I will come back to porting in one month period or something like that. Unfortunately, I have more important things to finish first :/

"Trying is the first step towards failure." (Homer Simpson)

Re: CHDK for SX120
« Reply #26 on: 15 / December / 2009, 20:01:16 »
Excellent.  I can't promise I'll be any faster since I still haven't made it back home but I've got a strong incentive to work on this

Re: CHDK for SX120
« Reply #27 on: 16 / December / 2009, 18:50:16 »
Michael, would you consider it going over your head if I gave this a shot?  I've never done a CHDK port before and I'm not an expert in computers, but I do know C and a small amount of assembly (just got through a class on assembly actually). 

I make no promises, but I just got this camera today and love it so I have high incentive to get this done.

But Michael, if you don't want me to try, I won't.

Re: CHDK for SX120
« Reply #28 on: 17 / December / 2009, 00:33:35 »
Note at all, that's what open source is all about.  I don't have a clear sense of when these things get put into the repository but in the meantime I'll put my mods up here if you will.

Re: CHDK for SX120
« Reply #29 on: 17 / December / 2009, 01:08:09 »
gajownik, many thanks!
So, yesterday I've launched CHDK on SX120 :-) Had to correct some things though, it seems that something has changed since r816 :-)
I have no keys for making FI2 yet, so all I can is load CHDK via DISKBOOT.BIN automatically.
Now I'll prepare my modifications for public testing and place  them here.

"levent_table" address should be found, I can't do this without IDA databases for reference cameras. I plan to make them in a couple of days.


Related Topics