the sx10 porting thread - page 33 - General Discussion and Assistance - CHDK Forum

the sx10 porting thread

  • 613 Replies
  • 303862 Views
Re: the sx10 porting thread
« Reply #320 on: 11 / June / 2009, 14:33:24 »
Advertisements
I've been using the 1.02b build and it's working great!  I think it's ready to be released (as beta at least).
Thanks to Grin and Nimrod for their work.

Re: the sx10 porting thread
« Reply #321 on: 11 / June / 2009, 17:29:04 »
nimrod: don't forget that variable addresses could change too.

I looked for that, but I don't think any of them did. I found that the best way to do this is to dump all the symbols to a .MAP file then diff those text files. I'm not sure if this is 100% reliable, after all, if something wasn't mapped to a symbol by IDA or the IDC scripts then it's not going to be in the MAP file, but trying to diff the entire disassembly text (75M files) doesn't seem to work so well due to the massive filesize.

Let me know if you think diffing the MAP file is good enough. If not I'll have to think of something else. Perhaps diffing as a shortcut just won't work and I'll have to just recheck/recopy everything manually.
I suppose I could also chop the massive disasm text files into different chunks too.


BTW, has anyone tried my CHDK config yet? I'm curious as to whether it works for others and what people think of my OSD layout.

Re: the sx10 porting thread
« Reply #322 on: 11 / June / 2009, 17:33:19 »
Is this a firmware upgrade, or an add-on?

Read the wiki. It loads more like a linux kernel module. If you think of a linux kernel file on disk as "firmware", a kernel module just replaces some kernel functions in the kernel after it's loaded into memory without modifying the kernel on disk. CHDK essentially does the same thing.

*

Offline reyalp

  • ******
  • 13847
Re: the sx10 porting thread
« Reply #323 on: 11 / June / 2009, 19:03:34 »
Let me know if you think diffing the MAP file is good enough.
I doubt it. Most of RAM addresses used by CHDK aren't recognized by IDA as variables. The thing to do is either
1) just try it.
2) compare the code where the variable is referenced by the canon firmware.
If you start with the highest value address (or the highest that's easy to fine), and it's the same it's a fair bet the others are all the same too.

From the looks of things, 102b and 101a are identical (unless the stubs_min.s for 102b was just copied and not checked!) If this is true, it's probably reasonable to assume in between versions like 101b are the same as well.
Don't forget what the H stands for.


*

Offline GAJoe

  • *
  • 15
Re: the sx10 porting thread
« Reply #324 on: 11 / June / 2009, 19:33:59 »
Thanks for the brain work Nimrod and Grin!
I have loaded it and have my RAW working. Also did a quick test on two of my favorite scripts ult_intrvl & lightningb successfully. Love having the battery and memory meters.
You guys are great!
GAJoe

*

Offline ewavr

  • ****
  • 1057
  • A710IS
Re: the sx10 porting thread
« Reply #325 on: 11 / June / 2009, 20:28:20 »
From the looks of things, 102b and 101a are identical (unless the stubs_min.s for 102b was just copied and not checked!) If this is true, it's probably reasonable to assume in between versions like 101b are the same as well.

It seems that stubs_min.S for 1.02b is just copy of 1.01a. But at least FlashParamsTable address (in ROM) must be different?
p.s. In 1.01a and 1.01b zoom_status address is also different.

Re: the sx10 porting thread
« Reply #326 on: 11 / June / 2009, 20:54:11 »
   
the few options I had the chance to test worked very well but ... the menu seems to disappear sometimes without reason

Re: the sx10 porting thread
« Reply #327 on: 11 / June / 2009, 21:52:38 »
From the looks of things, 102b and 101a are identical (unless the stubs_min.s for 102b was just copied and not checked!) If this is true, it's probably reasonable to assume in between versions like 101b are the same as well.

Wait, what?

Just comparing the autogenerated stubs_entry.S files, 101a and 101b are different in many places. 101b and 101c only differ in these functions:

101b:
Code: [Select]
NSTUB(_log, 0xffb01a10)
NSTUB(_log10, 0xffb0069c)
NSTUB(_pow, 0xffb0080c)
NSTUB(_sqrt, 0xffb0366c)


102b:
Code: [Select]
NSTUB(_log, 0xffb01a40)
NSTUB(_log10, 0xffb006cc)
NSTUB(_pow, 0xffb0083c)
NSTUB(_sqrt, 0xffb0369c)

That's what lead me to think that 101b and 102b were mostly the same (As someone mentioned, looks like 0x30 bytes were added) but diffing some code in 101b&102b it looks like someone changed a datatype from unsigned to signed in the firmware source because lots of "LDR R0, #0" all over have changed to "LDR R0, #FFFFFFFF" (and #1 to #FFFFFFFE, etc.).


*

Offline reyalp

  • ******
  • 13847
Re: the sx10 porting thread
« Reply #328 on: 11 / June / 2009, 22:05:54 »
From the looks of things, 102b and 101a are identical (unless the stubs_min.s for 102b was just copied and not checked!) If this is true, it's probably reasonable to assume in between versions like 101b are the same as well.

Wait, what?
I was specifically referring to the variable addresses in stubs_min.s, but from ewavrs post it appears this is an error in the 102b port.
Don't forget what the H stands for.

Re: the sx10 porting thread
« Reply #329 on: 11 / June / 2009, 22:54:38 »
Is this a firmware upgrade, or an add-on?

Read the wiki. It loads more like a linux kernel module. If you think of a linux kernel file on disk as "firmware", a kernel module just replaces some kernel functions in the kernel after it's loaded into memory without modifying the kernel on disk. CHDK essentially does the same thing.

I did.  And then I read this:

First of all thanks a lot.
I just bought the SX10 and wasn't expecting to get a CHDK-Build for it so fast!!  :blink:

Amazing, guys!!!

For the newbies to install the 1.02B:
Just download the test 1.02B from Grin:  http://rapidshare.de/files/47479851/sx10-102b-0.9.8.rar.html
Then get the 1.01A from the Autobuild http://mighty-hoernsche.de/ (I took the 'Complete') extract it
and replace the 'PS.FI2' and  'DISKBOOT.BIN'.
Copy the files to your card (dont'lock it), start the camera with the 'play'-button, press 'MENU', go 'up', run the firmware upgrade and you're done.
(worked for me  :))


Thanks for clearing it up for me.  :)

 

Related Topics