SD940 (IXUS120) porting thread - page 30 - DryOS Development - CHDK Forum
supplierdeeply

SD940 (IXUS120) porting thread

  • 542 Replies
  • 202778 Views
*

Offline msl

  • *****
  • 1280
  • A720 IS, SX220 HS 1.01a
    • CHDK-DE links
Re: SD940 (IXUS120) porting thread
« Reply #290 on: 11 / February / 2011, 11:03:34 »
Advertisements
@waterwingz

We have your ixus120 versions integrated into CHDK-DE based on this patch file. Thanks for your great job.

http://my-trac.assembla.com/chdkde/changeset/565/trunk

Binaries are available here. In this version the default menu language is German. Simply delete the language file german.lng in CHDK/LANG and the menu is in English.
CHDK-DE:  CHDK-DE links

Re: SD940 (IXUS120) porting thread
« Reply #291 on: 11 / February / 2011, 22:28:21 »
We have your ixus120 versions integrated into CHDK-DE based on this patch file. Thanks for your great job.
Thanks - feels really good to see this.  It has been a long learning curve and way more work than I ever expected over last 5 months.  But its been a lot of fun too.  Still more to do but I'm happy that it will bring most of CHDK to IXUS120 SD940 owners as is.
Ported :   A1200    SD940   G10    Powershot N    G16

*

Offline reyalp

  • ******
  • 14082
Re: SD940 (IXUS120) porting thread
« Reply #292 on: 13 / February / 2011, 19:07:26 »
Added in the trunk, great job waterwings. Sorry for the delay getting to this, 12+ hour days in the day job don't leave much time for CHDK...

A few comments:
CAM_HAS_VIDEO_BUTTON is defined in camera.h. Does this camera actually have a distinct video button to start recording video, separate from the shutter button ? On some cameras the DP button can be programmed for this, but these generally don't get CAM_HAS_VIDEO_BUTTON, and it looks like sd940 doesn't have a DP button anyway.

CAM_HAS_JOGDIAL is undefined (which looks correct from the pictures), but some jogdial functions are present in plaform/.../lib.c
I've removed them.

draw_filled_rect in lib.c is probably a bad thing.

vid_get_viewport_live_fb not being implemented means MD will be slow.

In the modemap:
   { MODE_VIDEO_STD,          2603   }, // video standby
   { MODE_VIDEO_STD,          3622   }, // video in progress

Usually MODE_VIDEO_STD is when the mode is selected, not recording in progress. How recording in progress is handled isn't well defined and actually needs some reworking in CHDK in general :[

I added a few things to notes.txt, please check if they are correct.
Don't forget what the H stands for.

Re: SD940 (IXUS120) porting thread
« Reply #293 on: 13 / February / 2011, 20:16:30 »
Added in the trunk, great job waterwings. Sorry for the delay getting to this, 12+ hour days in the day job don't leave much time for CHDK...
Thanks reyalp.  I wasn't in any hurry - the SD940 doesn't exactly have a huge user base and I would expect that most of those have probably found the porting thread on the forum. Still, nice to see it move into a "release" state.  Like everything else in CHDK, getting a release accepetd has been a lot of reading forums, trying things and seeing what works.

CAM_HAS_VIDEO_BUTTON is defined in camera.h. Does this camera actually have a distinct video button to start recording video, separate from the shutter button ? On some cameras the DP button can be programmed for this, but these generally don't get CAM_HAS_VIDEO_BUTTON, and it looks like sd940 doesn't have a DP button anyway.

CAM_HAS_JOGDIAL is undefined (which looks correct from the pictures), but some jogdial functions are present in plaform/.../lib.c I've removed them.
As you noticed, no video button or jog dial - this is a really small camera.  The code is hang-overs from my early attempts at a port where I started with the SD980 Beta source.  Thanks for the clean-up.

draw_filled_rect in lib.c is probably a bad thing.
I agree but its the best I've been able to do and it seems to work pretty well.  Posted about it at http://chdk.setepontos.com/index.php?topic=5857.msg57276#msg57276.  Since then I've tried to improve it by looking at many other camera dumps - most recently for the SD4000 and S90 - and while I can match the stubs, I can't get their version of draw_filled rect() to work.  Curiously, Waldo ended up with a very similiar hack for his original port of the SD940 1.02c too.  I'm open to suggestions here.

vid_get_viewport_live_fb not being implemented means MD will be slow.
I'll add that to my "to do" list - really looking forward to lightening pictures this summer.

In the modemap:
   { MODE_VIDEO_STD,          2603   }, // video standby
   { MODE_VIDEO_STD,          3622   }, // video in progress

Usually MODE_VIDEO_STD is when the mode is selected, not recording in progress. How recording in progress is handled isn't well defined and actually needs some reworking in CHDK in general :[
Completely untested I confess - another c&p from the SD980.  I've not been too interested in video in general.

I added a few things to notes.txt, please check if they are correct.
Notes.txt looks correct - thanks again.  Did not understand the comment about fast MD not being implemented but your note about vid_get_viewport_live_fb explains that now.


Note to patient SD940 owners with 1.03B firmware : I've started work on the 1.03b version of the firmware.  Working with another new forum member - he's looking at the stub_entry_2.S stuff and I've started converting the C files in the sub directory.



Ported :   A1200    SD940   G10    Powershot N    G16


Re: SD940 (IXUS120) porting thread
« Reply #294 on: 13 / February / 2011, 21:13:41 »
Well, the first patch for the autobuild release did not take long - its the fixes for PTP that we worked out today :
http://chdk.setepontos.com/index.php?topic=4338.msg61420#msg61420.
Changes to stub_entry_2.S for set_control_event().

ixus120sd940-patch1058.patch - 0.00MB
Ported :   A1200    SD940   G10    Powershot N    G16

*

Offline reyalp

  • ******
  • 14082
Re: SD940 (IXUS120) porting thread
« Reply #295 on: 13 / February / 2011, 23:06:32 »
Added, thanks.
Don't forget what the H stands for.

Re: SD940 (IXUS120) porting thread
« Reply #296 on: 14 / February / 2011, 04:54:30 »
Hi,

New to CHDK development, just picked up one of these off eBay pretty cheap. Only problem is, seems like I lucked out too, Firmware 1.03B.

I would gladly like to assist in development in anyway that I can, but I wondered..

How impossible would it be to flash my 1.03B to 1.03C. I couldn't find if this was asked before, but I'm genuinely curious. I mean, I'm sure it's possible, but not as straight forward as putting CHDK on an SD card.

In any case, I'd be totally down to flash my camera to 1.03C, if that is at all possible.

Re: SD940 (IXUS120) porting thread
« Reply #297 on: 14 / February / 2011, 07:40:33 »
How impossible would it be to flash my 1.03B to 1.03C. I couldn't find if this was asked before, but I'm genuinely curious. I mean, I'm sure it's possible, but not as straight forward as putting CHDK on an SD card.
The general consensus on this forum is that its not possible to update firmware on Canon cameras.  Or, at least, Canon does not make firmware updates available, you can't just move a firmware dump from one camera to another and nobody has been willing to risk "bricking" their camera experimenting with a CHDK version that does it.

I would gladly like to assist in development in anyway that I can, but I wondered..
Even done any assembler programming?  I have some fairly straight forward code conversion projects that need doing - take the 1.03C code, find the equivalent code in a 1.03b dump and create the 1.03b version of the file.  I'll get to it eventually but additional experienced hands would be better.

Ported :   A1200    SD940   G10    Powershot N    G16


Re: SD940 (IXUS120) porting thread
« Reply #298 on: 14 / February / 2011, 08:18:42 »
The general consensus on this forum is that its not possible to update firmware on Canon cameras.

That's interesting, as with Canon's DSLR line you can update firmware just fine. Simply copying the .fir file to the SD card gets the job done. I wonder if it's possible to add this functionality within CHDK, by examining the firmware dump of a DSLR.

Even done any assembler programming?

Sadly, I have not. I'm actually deciding on whether or not I should begin learning it, as the only programming language I've ever dabbled in is Java.

What I meant originally by my statement was that I'd gladly test/debug any builds of CHDK. I am never satisfied with a stable release, so I frequently subscribe to dev channels to get nightly builds and such.

In any case, while no-one wants to brick anything they own, I've been fairly lucky in the past and wouldn't mind doing things considered dangerous/risky. Like I mentioned earlier, I did snag this camera fairly cheap, so I wouldn't be bothered too much if I were to somehow turn this into a paperweight. I just really had my eyes set on CHDK when I bought the camera, and that's what I attend to do with it.

*

Offline reyalp

  • ******
  • 14082
Re: SD940 (IXUS120) porting thread
« Reply #299 on: 14 / February / 2011, 12:57:50 »
The general consensus on this forum is that its not possible to update firmware on Canon cameras.

That's interesting, as with Canon's DSLR line you can update firmware just fine. Simply copying the .fir file to the SD card gets the job done. I wonder if it's possible to add this functionality within CHDK, by examining the firmware dump of a DSLR.
There is a misunderstanding. It is certainly possible to update Canon P&S cameras, Canon simply doesn't release firmware updates for them most of the time.

Updating without a Canon update (using a firmware dump from another version) is possible in theory, but in practice has never been done (that we know of) and has a very high likelihood of destroying the camera, or at least degrading it's performance due to incorrect camera specific calibration. In any case creating a CHDK port for a new Canon version would be far easier and safer than attempting this.
Don't forget what the H stands for.

 

Related Topics