IXUS 1100 HS ELPH 510 Porting Thread - page 3 - DryOS Development - CHDK Forum

IXUS 1100 HS ELPH 510 Porting Thread

  • 89 Replies
  • 29886 Views
*

Offline philmoz

  • *****
  • 3332
    • Photos
Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #20 on: 07 / February / 2014, 02:47:00 »
Advertisements
Okay I've got it compiling and I've filled out a lot of the files needed with the help of reyalp in IRC,  the big hurdle now is that I really don't know enough about ASM to get the output from the perl dissassembler I used and put it back into the files: boot.c and capt_seq.c  Anyone have any pointers?  Or can I attache the perl output from the dissasembly and have someone that knows how to do this help?

~Phil

The 'code_gen' tool can automate most of this for you - you still need to find the start addresses; but it takes a lot of the tedium out of it.

Have a look at one of the ports that uses 'code_gen' - look for the file code_gen.txt in the platform/camera/sub/ver directory. If there is one that is close to your camera in release date and specs then you might be able to use it as a starting point. The 'tools/code_gen.c' file contains usage documentation.

nafraf has done a lot of blind ports successfully so he might have some other suggestions.

Phil.
CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)

*

Offline nafraf

  • *****
  • 1308
Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #21 on: 07 / February / 2014, 08:11:49 »
@pompelisneaks
Could you share the firmware dump? Is this a DryOS R52 camera?
Additionally to offical ports, there are some unfinished ports of new cameras, they are here.

Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #22 on: 07 / February / 2014, 08:46:13 »
the big hurdle now is that I really don't know enough about ASM to get the output from the perl dissassembler I used and put it back into the files: boot.c and capt_seq.c  Anyone have any pointers?  Or can I attache the perl output from the dissasembly and have someone that knows how to do this help?
There is also this : CHDK-PT. Unlike your Perl dissassembler,  it does disassembly in the exact format used in boot.c,  capt_seq.c and movie_rec.c

It runs quite well using Wine on Linux and can be handy for poking around while you are creating the code_gen files.
Ported :   A1200    SD940   G10    Powershot N    G16

Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #23 on: 07 / February / 2014, 11:53:13 »
@pompelisneaks
Could you share the firmware dump? Is this a DryOS R52 camera?
Additionally to offical ports, there are some unfinished ports of new cameras, they are here.

From stubs_entry.S:

Code: [Select]
// Camera info:
//   DRYOS R49 (DRYOS version 2.3, release #0049)
//   Firmware Ver GM1.00B   // Found @ 0xff08eef4, "GM1.00B" @ 0xff08ef01
//   Firmware build timestamp: Jul 22 2011 15:01:52
//   Canon PowerShot ELPH 510 HS
CBDUMPER.LOG: https://www.dropbox.com/s/fwajviige093uik/CBDUMPER.LOG
PRIMARY.BIN: https://www.dropbox.com/s/3cb11h473mmm5wy/PRIMARY.BIN
« Last Edit: 07 / February / 2014, 11:55:11 by pompeiisneaks »


Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #24 on: 07 / February / 2014, 11:53:54 »
the big hurdle now is that I really don't know enough about ASM to get the output from the perl dissassembler I used and put it back into the files: boot.c and capt_seq.c  Anyone have any pointers?  Or can I attache the perl output from the dissasembly and have someone that knows how to do this help?
There is also this : CHDK-PT. Unlike your Perl dissassembler,  it does disassembly in the exact format used in boot.c,  capt_seq.c and movie_rec.c

It runs quite well using Wine on Linux and can be handy for poking around while you are creating the code_gen files.

Water,

I'll try it out, I have a windows box, I just work on a mac doing work on linux servers for most of my day job :)

~Phil

Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #25 on: 07 / February / 2014, 20:33:31 »
I tried it out but either I'm doing it wrong, or the 310 is way different from the 510 because chdk-pt got nothing. 

It looks like nafraf is working on it blind though, so as he gets it ready, I can build and test his versions.

~Phil

Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #26 on: 07 / February / 2014, 21:10:11 »
I tried it out but either I'm doing it wrong, or the 310 is way different from the 510 because chdk-pt got nothing. 
Nothing?  hmmm ... can you share a bit more about what that means?  What specifically did you do - step by step?
Ported :   A1200    SD940   G10    Powershot N    G16

Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #27 on: 07 / February / 2014, 21:19:48 »
I tried it out but either I'm doing it wrong, or the 310 is way different from the 510 because chdk-pt got nothing. 
Nothing?  hmmm ... can you share a bit more about what that means?  What specifically did you do - step by step?
I'll get that for you when I get back to a computer

Phil


Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #28 on: 07 / February / 2014, 22:19:42 »
Okay so here it goes, per what I'd read on the CHDK wiki page about CHDK-PT here: http://chdk.wikia.com/wiki/CHDK-PT_:_A_tool_for_porting_CHDK_to_different_firmware_versions_of_the_same_camera

after basic setup of a rom, which I've already done, it says to use the "convert: Stubs" feature which needs the comparable rom and comparable stubs_entry.S file.  I copied those from my linux host to my windows host and downloaded the primary.bin for the elph 310 rom version100b like mine, and its associated stubs_entry_2.S

This is the output that gave me:
Code: [Select]
// Note : This file generated by CHDK-PT.
#include "stubs_asm.h"

I can't seem to find an asddress.txt for the other version though to try that part from the convert feature.

Also if I try to run "stubs" on analyze from the elph 310, I get nothing at all, empty field.

Re: IXUS 1100 HS ELPH 510 Porting Thread
« Reply #29 on: 07 / February / 2014, 22:45:39 »
Okay so here it goes, per what I'd read on the CHDK wiki page about CHDK-PT here: http://chdk.wikia.com/wiki/CHDK-PT_:_A_tool_for_porting_CHDK_to_different_firmware_versions_of_the_same_camera

after basic setup of a rom, which I've already done, it says to use the "convert: Stubs" feature which needs the comparable rom and comparable stubs_entry.S file.  I copied those from my linux host to my windows host and downloaded the primary.bin for the elph 310 rom version100b like mine, and its associated stubs_entry_2.S

This is the output that gave me:
Code: [Select]
// Note : This file generated by CHDK-PT.
#include "stubs_asm.h"

I can't seem to find an asddress.txt for the other version though to try that part from the convert feature.

Also if I try to run "stubs" on analyze from the elph 310, I get nothing at all, empty field.

I was a bit afraid of this.  Sorry.

Those "features" you are using were useful two years ago when the sig_find tool did not find more than about 25% of all the necessary entries in stubs_entry.S.   You basically had to slug it out for yourself with every port so I added some things that tried to help create new stubs_entry_2.S files for you.

Those days are gone - the sig finder pretty much gets them all now.   So CHDK_PT is really only a somewhat handy dissassembler with some GUI capability ( C&P).

That being said,  here's the links I have related to the addresses.txt file :
link> CHDK-PT : Using the addresses.txt file - thread 1
link> CHDK-PT : Using the addresses.txt file - thread 2
link> CHDK-PT : Using the addresses.txt file - thread 3

Every few months I play with code to convert it into a tool to support the new code_gen stuff.  But there are only so many hours in a day.   Some day maybe.

Ported :   A1200    SD940   G10    Powershot N    G16

 

Related Topics