IXUS 130 (SD1400 IS) Porting Thread - page 2 - DryOS Development - CHDK Forum

IXUS 130 (SD1400 IS) Porting Thread

  • 288 Replies
  • 131368 Views
*

Offline emlyn

  • **
  • 88
Re: IXUS 130 (SD1400 IS) Porting Thread
« Reply #10 on: 19 / August / 2010, 18:23:16 »
Advertisements
You don't need to find all the functions in the disassembler. Start using the finsig/gensig  in the CHDK build process. See http://chdk.wikia.com/wiki/Signature_finder
Thanks, I had just seen the finsig tool, and was wondering how to use it.

See also http://chdk.wikia.com/wiki/GPL_Tools This (among other things) explains how to turn your dump into an ELF that you can feed to the demo version of IDA.
OK, I'll look into this.

The dryos porting page is quite old, it dates from when dryos cameras were first being ported. http://chdk.wikia.com/wiki/Adding_support_for_a_new_camera is probably the best place to start.
Thanks for all the info, I am starting to understand a bit better what is involved.

*

Offline emlyn

  • **
  • 88
Re: IXUS 130 (SD1400 IS) Porting Thread
« Reply #11 on: 20 / August / 2010, 05:12:23 »
I ran finsig, and it managed to find 97 functions, although of those, 55 are less than 100% match (about evenly distributed between 50-100%) but I'll ignore that for now.
It was unable to find 17, but of those I could find (or guess) 9 from the firmware dump. Of the remaining 8, 4 are not referenced and the other 4 I just set to a dummy address for the moment (I used 0xDEADC0DE).
After that there were 17 undefined references, of which I found/guessed 5, and set the other 12 to the dummy address.

I think I will leave that for the moment and start looking into the boot process.

What would be a good reference camera? I thought the Ixus 95 (SD 1200), since it is listed close by on the For Developers wiki page, and although it is in magenta, it seems to be in the trunk now. Is this a good choice?

*

Offline hwntw

  • ***
  • 159
Re: IXUS 130 (SD1400 IS) Porting Thread
« Reply #12 on: 20 / August / 2010, 09:54:57 »
Yes, good choice, mine is in dark grey.
Ixus 300HS S100


Windows 10

*

Offline reyalp

  • ******
  • 14080
Re: IXUS 130 (SD1400 IS) Porting Thread
« Reply #13 on: 20 / August / 2010, 13:24:21 »
I ran finsig, and it managed to find 97 functions, although of those, 55 are less than 100% match (about evenly distributed between 50-100%) but I'll ignore that for now.
It was unable to find 17, but of those I could find (or guess) 9 from the firmware dump. Of the remaining 8, 4 are not referenced and the other 4 I just set to a dummy address for the moment (I used 0xDEADC0DE).
I suggest pointing them at a BX LR instruction instead, with a comment, as you are more likely to at least be able to boot and debug.

Keep in mind that some are not found automatically at all, these are manually added to stubs_entry_2.s

The partial matches need to be verified, and if needed, corrected by overriding them in stubs_entry_2.s.
Quote
What would be a good reference camera? I thought the Ixus 95 (SD 1200), since it is listed close by on the For Developers wiki page, and although it is in magenta, it seems to be in the trunk now. Is this a good choice?
I suggest referring to multiple cameras, and not just copying one and trying to "fix" for your model. This almost inevitably leads to obscure bugs when you forget to update some part. You will probably want to refer to at least one of the dryos R39 cameras (G11, S90, SX20) as they are more likely to be similar to the new OS version than older ones. In other cases, you'll want to refer to ones with a similar hardware setup.
Don't forget what the H stands for.


*

Offline emlyn

  • **
  • 88
Re: IXUS 130 (SD1400 IS) Porting Thread
« Reply #14 on: 23 / August / 2010, 05:41:29 »
Thanks for all the tips, reyalp. I haven't had much time to work on this the last few days, hopefully soon I can continue a bit more.

It's tempting to just copy an existing camera, then change things, as you always have something that at least compiles. But I suppose the way you suggest is better in the long run, and it will force me to understand things a bit better.

*

Offline reyalp

  • ******
  • 14080
Re: IXUS 130 (SD1400 IS) Porting Thread
« Reply #15 on: 23 / August / 2010, 12:12:55 »
It's tempting to just copy an existing camera, then change things, as you always have something that at least compiles. But I suppose the way you suggest is better in the long run, and it will force me to understand things a bit better.
If you keep very clear notes of what you have and have not done that can work too. The main point is that almost every platform specific file has to be gone through, line by line or function by function. Essentially all the inline assembler has to be done from scratch.

You can find out what isn't platform specific by looking at a few different cameras (although be ware there's a few different styles of doing things.)

To get things building quickly, I prefer to leave stuff out, e.g. if you don't start the tasks, you don't need to do capt_seq and movie_rec, and if you don't start kbd you just need few placeholders to make it compile.
Don't forget what the H stands for.

Re: IXUS 130 (SD1400 IS) Porting Thread
« Reply #16 on: 04 / September / 2010, 16:52:01 »
Yes finally someone takes up the task :D
Seems a bit dead?

*

Offline emlyn

  • **
  • 88
Re: IXUS 130 (SD1400 IS) Porting Thread
« Reply #17 on: 04 / September / 2010, 17:44:33 »
Yes finally someone takes up the task :D
Seems a bit dead?

I've been a bit busy lately, but hope to get back to it soon.
Just don't hold your breath, as I have no previous experience with CHDK, so it will be slow.


*

Offline emlyn

  • **
  • 88
Re: IXUS 130 (SD1400 IS) Porting Thread
« Reply #18 on: 10 / September / 2010, 04:48:06 »
OK, I've got the toolchain set up on OS X now. If anyone else wants to do the same, I've added the steps to the wiki.
Now I can do little bits and pieces when I have some spare time (previously I had to start up the Linux VM each time and never got around to doing anything) so hopefully we will get at least some slow progress as opposed to nothing at all...

Re: IXUS 130 (SD1400 IS) Porting Thread
« Reply #19 on: 10 / September / 2010, 11:49:29 »
Cool, thanks for the info :)

 

Related Topics