G9 porting progress - page 3 - DryOS Development - CHDK Forum
supplierdeeply

G9 porting progress

  • 281 Replies
  • 143780 Views
*

Offline reyalp

  • ******
  • 14080
Re: G9 porting progress
« Reply #20 on: 24 / September / 2008, 19:07:34 »
Advertisements
G9 surely doesn't actually have an ND filter, so you should have CAM_HAS_ND_FILTER undefined.

(canon uses an ND filter on the subcompact cameras that don't have an actual controllable aperture)

oops,  :-X
« Last Edit: 24 / September / 2008, 19:16:18 by reyalp »
Don't forget what the H stands for.

*

Offline fe50

  • ******
  • 3147
  • IXUS50 & 860, SX10 Star WARs-Star RAWs
    • fe50
Re: G9 porting progress
« Reply #21 on: 24 / September / 2008, 19:13:02 »
G9 surely doesn't actually have an ND filter, so you should have CAM_HAS_ND_FILTER undefined.
(canon uses an ND filter on the subcompact cameras that don't have an actual controllable aperture)

That's right on the Ixus models, but some "bigger" models have both, an aperture and a ND filter - the G9 also has a ND-Filter, see DCRP Review: Canon PowerShot G9  :)
« Last Edit: 24 / September / 2008, 19:25:30 by fe50 »

*

Offline uvvv

  • *
  • 11
  • G9
Re: G9 porting progress
« Reply #22 on: 25 / September / 2008, 04:24:32 »
to bitdivision
from my last post in G9 porting progress
in attach file with my build for G9 (100G)
where I add working JogDial
you need take same code from stubs_entry.S
...
NSTUB(PutInNdFilter, 0xFF810958)
NSTUB(PutOutNdFilter, 0xFF810958)
...
and modify address for 100h...
« Last Edit: 25 / September / 2008, 07:19:30 by uvvv »

Re: G9 porting progress
« Reply #23 on: 25 / September / 2008, 10:41:18 »
I just checked my G9 and the firmware is GM1.00D.
Is there anything I should or could do to help?


Re: G9 porting progress
« Reply #24 on: 25 / September / 2008, 10:46:31 »
Ah, silly me. Of course the addresses are going to be different in the new firmware. I assume I will need to load up version G and H in IDA and look for the addresses that are already there in the stubs file and see if I can find them in H???
Will I need to do this for all of the functions in that file? What about stubs_entry_2?
Can I use the sigfinder in the tools directory?
If this does work (I will try it when I get home), I will post it here so others with 1.00h can try uvvv's trunk out.

« Last Edit: 25 / September / 2008, 10:53:36 by bitdivision »

Re: G9 porting progress
« Reply #25 on: 25 / September / 2008, 10:52:56 »
Yowzah,

If you want to try out uvvv's build, there are directories for 1.00D but the binary in the download is for 1.00G and therefore will not work for you. So you would need to set up an dev environment as described on the wiki and then build using the bat file provided (might need to change it to the diff firmware though).
This should work as long as uvvv has set up the addresses for your firmware, if not, and if my attempt at porting it to 1.00H succeeds, I will try to do the same for D.


Re: G9 porting progress
« Reply #26 on: 25 / September / 2008, 13:53:30 »
bitdivision,

Thank you, I think I will have to wait and see if either you or someone else does it for 1.00D.
I have no programing experience.
thanks for working on this!

Re: G9 porting progress
« Reply #27 on: 25 / September / 2008, 14:07:13 »
Yowzah,
You should be thanking uvvv, he did all the work, I haven't done anything.

uvvv,

I looked at 100g and 100h in IDA and the address in stubs for PutInNDFilter and PutoutNdFilter, seems to refer to the same thing in the firmware namely a BX LR.  ???


Re: G9 porting progress
« Reply #28 on: 25 / September / 2008, 14:29:51 »
uvvv,

Thank you!

*

Offline reyalp

  • ******
  • 14080
Re: G9 porting progress
« Reply #29 on: 25 / September / 2008, 15:03:41 »
Yowzah,
I looked at 100g and 100h in IDA and the address in stubs for PutInNDFilter and PutoutNdFilter, seems to refer to the same thing in the firmware namely a BX LR.  ???
Pointing to a return is usually done when the actual function hasn't been found yet. You can try looking at the dump of a similar camera that has a working ND filter to get an idea of what the actual code should look like. Or you can just leave it stubbed for now, as it isn't essential.

If you do this, you should comment that it is a null stub.
Quote
Will I need to do this for all of the functions in that file? What about stubs_entry_2?
stubs_entry.S is auto generated by finsig. A version is checked into the source tree so people can build without generating it, but you shouldn't add anything manually. stubs_entry_2.S is for manually found entry points. They will automatically override whats in stubs_entry.S, so this is used to correct things that don't detect right, without editing the generated file.

If you haven't already, you should generate stubs_entry.S for your firmware dump. Then go through the detected entry points, and make sure that they make sense for the function they are supposed to be.

See Signature finder - CHDK Wiki
Don't forget what the H stands for.

 

Related Topics