supplierdeeply

ELPH300HS aka IXUS220HS - Porting Thread

  • 861 Replies
  • 183668 Views
*

Offline tommi2water

  • ***
  • 157
  • IXUS 220 HS Firmware: 1.00c
Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #220 on: 26 / November / 2011, 06:23:51 »
Advertisements
I cleaned up my code and moved it to trunk revision 1431, built and tested it.

Source Code (File: ixus220_elph300hs_100c_trunk1431_20111126.zip) and as well a first version of binary files (File: ixus220_elph300hs_100c_trunk1431_20111126.zip) for testing are attached to this post.

This should only be used for IXUS220HS / ELPH300HS with Firmware version 1.00c!

This first port of ixus220_elph300hs is based on trunk1431 of CHDK.

changes have been made to the following files/folders:
Code: [Select]
trunk1431/core/gui.c // add support for ixus220_elph300hs
trunk1431/core/kbd.c // add support for ixus220_elph300hs
trunk1431/camera_list.csv // add ALPHA Status entry for ixus220_elph300hs
trunk1431/loader/ // add new folder "ixus220_elph300hs" with loader files for ixus220_elph300hs
trunk1431/platform/ // add new folder "ixus220_elph300hs" with platform files for ixus220_elph300hs Firmware 1.00c

Firmware 1.00c for camera ixus220_elph300hs was taken from here:
http://www.box.com/shared/tscho3m30j/4/55272271/669226134

btw:
This port is not yet finished, it is just an alpha version. I just started a request to bring this alpha version into source code repository.

And:
This port would never have been possible to be done by me without the great support of:
philmoz
waterwingz
reyalp (on CHDK IRC channel)
and of course all people who provided helpful information in some older threads  ;)

Thanks for your support!

Now we have to check this port for missing working features to bring this port to a final version.  :)



--
Update: removed binary because no or wrong functionality, newer version available in later posts
« Last Edit: 27 / November / 2011, 15:15:46 by tommi2water »

Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #221 on: 26 / November / 2011, 08:07:17 »
Incredible work, tommi (and the others too ;))

I've got very little programming experience, but I'd like to help with testing. I have firmware ver. 1.01a, though, so probably I've got to wait until someone ports it...

I briefly looked through the wiki articles on porting to a new firmware version, and it doesn't seem like it's as much of work as porting to a new model. It's mostly way over my head though.

If anyone without ver. 1.01a would like to try porting it, I'd love to help testing.
I have a fair bit of time, too.

Also, this confuses me: Would porting tommi's alpha version to another firmware require modifying ONLY the loader files and boot.c?
Meaning that once this basic (loader and boot.c) porting is done, any further bugfixes or developments on to this model would apply to ALL firmware versions, once this basic firmware porting has been completed?

Or does each firmware have to be developed separately like a different model?  :blink:

Thanks again for all your efforts, and good job! I'm quite excited about the prospect of running CHDK on my camera! :P

*

Offline tommi2water

  • ***
  • 157
  • IXUS 220 HS Firmware: 1.00c
Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #222 on: 26 / November / 2011, 09:26:36 »
I compared some address ranges in firmware files from 1.00c, 1.01a and 1.01c.

Found some small differences and changed boot.c and as well stubs_entry_2.S.

Please find attached for testing the first binaries for 1.01a and 1.01c firmware.

As soon as you provide positive feedback, that you were at least able to start CHDK (please provide information about your used firmware [1.01a or 1.01c]) I will upload the folders with source code for 1.01a and 1.01c [depending on your feedback].

Put content of zip-files on a SDCard and start camera with Play-Button. Press Menu-Button and select "Firm Update ..." entry and press OK.

Camera should start in normal record mode and after some seconds you should see CHDK logo. <ALT> mode can be activated by pressing Video button. Normal video functionality can be access by long press of Video button.

Please describe the behaviour of your camera in a small test report if possible. Thanks!

Use at your own risk.

If you have further questions please take a look at:
http://chdk.wikia.com/wiki/FAQ


--
Update: removed binary because no or wrong functionality, newer version available in later posts
« Last Edit: 27 / November / 2011, 15:16:34 by tommi2water »

Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #223 on: 26 / November / 2011, 09:53:35 »
tommi, what changes did you make to boot.c for 101a?  just curious.  I didn't see what to change there.  I modified a dozen entries from stubs_entry_2.S based on the diffing the generated stubs_entry.S files.  But the binary I built did nothing but black-screen.

anyhow, your build is up and running on my 101a.



haven't figured out how to make it do anything useful yet - it just kind of displays flickering overlays on top of canon stuff.


Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #224 on: 26 / November / 2011, 09:59:37 »
I copied DISKBOOT.BIN and PS.FI2 onto the root of my card and ran Firm. Update. (Ver. 1.01a)
The result:

After a second, the lens comes out and the screen loads as normal.
After a few seconds, I see this:


Pressing the video button results in no ALT menu showing up, but text at the bottom left saying "Default Script       <ALT>", like this:


Long pressing video key works as expected, with a little window in the center of the screen showing bitrate and elapsed time.
Taking photos, etc  work fine. All normal canon functions seem to be working normally.

Sorry for the bad photo quality. The only other camera I have on me is my webcam :P

*

Offline tommi2water

  • ***
  • 157
  • IXUS 220 HS Firmware: 1.00c
Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #225 on: 26 / November / 2011, 10:01:54 »
anyhow, your build is up and running on my 101a.

Thanks for the quick feedback, jstanley!  :)

Flickering is normal, don't care about that.

Have you already activated <ALT> mode with Video Button and tried to access the menu inside <ALT> mode?

Please find attached the 101a folder for your 101a firmware. I commented the lines in boot.c which I had to change for 1.01a firmware.

I'm happy that I was able to help you!  :D

---
Update: I just exchanged the 101a.zip file with a smaller one (I removed a 3 MB txt-file which is not necessary).
« Last Edit: 26 / November / 2011, 10:14:31 by tommi2water »

*

Offline tommi2water

  • ***
  • 157
  • IXUS 220 HS Firmware: 1.00c
Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #226 on: 26 / November / 2011, 10:08:44 »
Pressing the video button results in no ALT menu showing up, but text at the bottom left saying "Default Script       <ALT>", like this:

Thanks for feedback.

As long as you are in <ALT> mode you can enter the <ALT> menu by pressing the MENU button of your camera.  :)

Attached you will find the "full" version of the binaries for 1.01a (just copy everything on your SDCard), then you will be able to see the same CHDK logo like jstanley and you could start playing around with e.g. SCRIPTS.


--
Update: removed binary because no or wrong functionality, newer version available in later posts
« Last Edit: 27 / November / 2011, 15:13:56 by tommi2water »

Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #227 on: 26 / November / 2011, 10:13:31 »
Oh wow! I didn't know that :P
This is awesome! I'll copy that on and see now...


Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #228 on: 26 / November / 2011, 10:29:21 »
Have you already activated <ALT> mode with Video Button and tried to access the menu inside <ALT> mode?

Yes.  I can get into that menu.  I tried doing a shutter speed override, but this did not seem to work.  I imagine this is expected right now--we just haven't gotten that far.  I hope to be able to contribute toward completing the port (rather than just staying one step behind you!)

Please find attached the 101a folder for your 101a firmware. I commented the lines in boot.c which I had to change for 1.01a firmware.

My stubs_entry_2.S file is identical to yours, so I guess I did something right. :)

As for boot.c, your changes made sense to me once I sorted the stubs by address.  Those that are different in 101a are grouped together at the end.  You just figured out where data was inserted into the firmware, and adjusted addresses in that range.  I like to think I would have gotten there eventually.

*

Offline tommi2water

  • ***
  • 157
  • IXUS 220 HS Firmware: 1.00c
Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #229 on: 26 / November / 2011, 10:39:10 »
... You just figured out where data was inserted into the firmware, and adjusted addresses in that range.  I like to think I would have gotten there eventually.

Of course you would have figured it out, too! But why not saving some time.  ;)

Why did I provide my current status also to other firmware like 1.01a and 1.01c? I know that some people are out there which own cameras with these firmware versions. These people should take this software as starting point for their investigations because (as you already wrote) we are just at the beginning. e.g. I was able to start Intervalometer Script. But it did only take one picture. Many CHDK features will not work for the moment, but to find the not working features we need more people. ;)

Maybe we get faster to a somehow complete port if more people work in parallel with the same basis.

I'm still waiting for feedback of 1.01c versions (already downloaded 2 times, but no feedback until now).

 

Related Topics