ELPH300HS aka IXUS220HS - Porting Thread - page 5 - DryOS Development - CHDK Forum

ELPH300HS aka IXUS220HS - Porting Thread

  • 861 Replies
  • 200511 Views
Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #40 on: 04 / May / 2011, 04:59:03 »
Advertisements
Don't panic 8)

I never had the idea to touch the signature file!!!
I just try to understand what's going up during compilation and where the standard-patch points are!

@waterwingz: I didn't understood from the scratch how your tool works, so I try to look a bit into the build process.
                       As soon as I have a basic understanding of the process, I will come back to your tool for sure.

Please be patient with a CHDK newbie...
I usually try to understand before destroying anything...
...all my actual (maybe stupid) questions are only part of getting informations, not the base for wild actions :xmas

Even when my questions are "a pain in the a...", hopefully you will help me further getting a basic overview...

...have fun...

Michi

Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #41 on: 04 / May / 2011, 06:28:54 »
Hi funnel,

now I have the makefile stuff running, so it is time for the next step:

Finding the best matching port as template!

Your SX220 port is a hot candidate...equal dryOS Version...equal launch date.
Do you think, I can clone your trunk as start point for the IXUS220hs.
I'd like to try it with my PRIMARY.BIN to see how good it is matching.

Did you publish your last work anywhere, so that I can copy/clone it?

...have fun...

Michi


Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #42 on: 04 / May / 2011, 07:45:29 »
@waterwingz: I didn't understood from the scratch how your tool works, so I try to look a bit into the build process.
                       As soon as I have a basic understanding of the process, I will come back to your tool for sure.
Let me know what you find confusing and / or not clear?  I'm too close to it to see it.

I'm reworking the dialog boxes to try and make things more obvious.  And I added an automatic short help file that appears when the app starts.  Still,  a wiki page on what everything does is probably required in addition to the porting page I started. 


Even when my questions are "a pain in the a...", hopefully you will help me further getting a basic overview...
You are doing great !   If I thought you were asking stupid or PITA questions I would be simply ignoring them.

Ported :   A1200    SD940   G10    Powershot N    G16

*

Offline funnel

  • ****
  • 349
Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #43 on: 04 / May / 2011, 07:56:06 »
Yes, I'll post the source in the SX220 section, but it's heavily commented from the sx210 and now from me, so use it just for reference. I took a look at the ixus220 firmware and found that the beginning of boot.c is the same, just at an offset of 810000.


Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #44 on: 04 / May / 2011, 08:11:34 »
Hi,

my problem was not the tool, but the flow itself:

I tried to load the PRIMARY.BIN, but it was without a template platform directory build setup, especially the stub files, not clear what is generated and what is analyzed.

The general flow is clear PRIMARY.BIN + signature pattern = stub-files, but the role of the buttons was not clear to me.

What is scanning?
What is analyzing?
What is generating stubs?

For an insider this may be stupid questions, but for beginner it's hard to determine what the dedicated flow of actions has to be!

Most of it is getting clearer by building a platform and observing the log and the missing symbols, but starting the PT and wild clicking didn't do the job for me.

I didn't understood the scan and pattern matching until I looked into the Makefiles...

And even more important, what have I to do with unresolved symbols, it is clear that I have to dissassemble and scan it by hand, but what is very important for me is a hint, which stub files may be changed by hand without be killed by another generator run....

Please understand this not as critic on your tool, the intention seems to be brilliant...my problem is that without a flow description:
How is a new platform added to the trunk?
What's coming in?
What's going out?
What metadata is fed into the process?
Where are the patch points for handmade patches?

A rookie may have problems to understand what has to be done when?

This may be related also to my style...I always try to understand what a GUI-click does, so most interesting are LOGs and make protocols...

Poooh ... that was lot of prosa ... hopefully containing some informations  :blink:

...have fun...

Michi

P.S.: Unfortunately I've only a few hours per day in the late evening, so please be patient with my progress.
« Last Edit: 04 / May / 2011, 08:13:30 by michi1911 »

Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #45 on: 04 / May / 2011, 08:16:40 »
Yes, I'll post the source in the SX220 section, but it's heavily commented from the sx210 and now from me, so use it just for reference. I took a look at the ixus220 firmware and found that the beginning of boot.c is the same, just at an offset of 810000.
Would be great, I picked an older IXUS for first experiments and this seemed pretty far from the actual binary(as expected)...
I hope, that the SX220 is much closer to the IXUS220HS!

...have fun...
Michi

Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #46 on: 04 / May / 2011, 11:19:59 »
my problem was not the tool, but the flow itself:
Okay - I think I understand much more now.  The tool will be better if it is integrated into a well explained porting process that a newbie can understand.  I can probably improve the wiki page for the process of using CHDK-PT quite a bit.  However, there is a balance point at which it gets too long,  people stop reading and just "dive in".  If I can subdivide into logical sections then I think that will help.

What is scanning?
What is analyzing?
What is generating stubs?
I'll make sure to cover that - good feedback !

Poooh ... that was lot of prosa ... hopefully containing some informations  :blink:
This has been a big help prior to my moving the tool into a more general release format.  If anything else comes to mind let me know.  I've made a few UI changes already and am working on the last of the known bugs in the disassembler.

Thank you.

Ported :   A1200    SD940   G10    Powershot N    G16

*

Offline reyalp

  • ******
  • 12065
Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #47 on: 04 / May / 2011, 12:16:56 »
Hi funnel,

now I have the makefile stuff running, so it is time for the next step:

Finding the best matching port as template!

Your SX220 port is a hot candidate...equal dryOS Version...equal launch date.
Do you think, I can clone your trunk as start point for the IXUS220hs.
I strongly suggest you refer to several completed, fully functional ports. Philmoz' SX30 or G12 ports would be good candidates.

I am not a fan of copying a port and trying to 'fix' it. Every address and piece of assembler needs to be checked and corrected, so in the end, it doesn't matter much which one you start with. Some further discussion of this http://chdk.setepontos.com/index.php?topic=3977.msg37430#msg37430

SX220 may have some useful hints because it's the same OS version, but working from an uncompleted port by someone who is not familiar with the source is likely to introduce a lot of errors and confusion.

Don't forget what the H stands for.


Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #48 on: 04 / May / 2011, 12:59:15 »
Accepted.

I will spend some time checking the coverage in different ports.
@reyalp: Thx for your advice because it is very hard for me to find out the best template port for starting.
              I've no indication which port is best as starting point, so each advice is very welcome !!!

I picked randomly the 200is, but the coverage of finsig was suprisingly low.
I have to experiment a bit before starting the real port.
As always knowledge is proportional to time spent in analysis 8)


...have fun...

Michi

*

Offline philmoz

  • *****
  • 3123
    • Photos
Re: ELPH300HS aka IXUS220HS - Porting Thread
« Reply #49 on: 04 / May / 2011, 16:14:52 »
I picked randomly the 200is, but the coverage of finsig was suprisingly low.

The latest dryos version being used by gensig/finsig is an R39 camera.
Much of the code seems to have changed with more recent camera so the signature matching is not as good.
I'm looking into improving this; but it will take some time (have to be careful not to break any existing ports).

Any new camera requires a lot of research, analysis of the firmware code, and trail and error; but that's half the fun :)

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)

 

Related Topics