Windows GUI for CHDK porting

  • 94 Replies
  • 45865 Views
Re: Windows GUI for CHDK porting
« Reply #50 on: 31 / March / 2012, 14:21:33 »
Advertisements
Released CHDK-PT v2.02 today.

Changes include :
  • Fixed : converting tasks using address.txt was broken due to changes made when disassembly editing was added.
  • Added : a default ini file is now included.
  • Added :  made the Setup value for Indent persistent via an ini file entry.
  • Cleanup :  new example files provided and they are now set as the default entries in the ini file
The fourth change will allow me to update the instructions in the wikia so that a newbie using the default values will be able to exercise all of CHKD-PT's functions.
Ported : A1200  SD940  G10  Powershot N  G16*

*

Offline c10ud

  • ***
  • 245
Re: Windows GUI for CHDK porting
« Reply #51 on: 02 / April / 2012, 06:00:10 »
works like a charm, thanks!

*

Offline asm1989

  • *****
  • 527
  • SX720, SX260, SX210 & SX200
Re: Windows GUI for CHDK porting
« Reply #52 on: 15 / April / 2012, 11:02:27 »
@waterwingz

Great Work!!

One litle bug, Tested in sx260 finally :D,
and the functions copied in ram for the new cams, indentified by chdk-pt as FC.....  hangs the camera,  It should name them 00..... instead of FC



Re: Windows GUI for CHDK porting
« Reply #53 on: 15 / April / 2012, 11:24:07 »
One litle bug, Tested in sx260 finally :D,
and the functions copied in ram for the new cams, indentified by chdk-pt as FC.....  hangs the camera,  It should name them 00..... instead of FC
The need to handle memory relocation will take a bit of work.   I'll probably need to add some manual user setup function where you can specify which block of memory gets relocated and where it goes to.   Right now,  the dissassembler assumes all code is in the ROM memory area - that has to change too.

As far as you can tell,  is there only one block of memory that needs to get relocated (at least on the cameras examined so far) ?

Ported : A1200  SD940  G10  Powershot N  G16*


*

Offline asm1989

  • *****
  • 527
  • SX720, SX260, SX210 & SX200
Re: Windows GUI for CHDK porting
« Reply #54 on: 15 / April / 2012, 11:38:29 »
yes only one block at the beginning, and all the subs starting at 0x006.......
for example like irqenable , irqdisable....


Re: Windows GUI for CHDK porting
« Reply #55 on: 15 / April / 2012, 11:42:25 »
yes only one block at the beginning, and all the subs starting at 0x006.......
for example like irqenable , irqdisable....
So does the CHDK-PT dissassembly of the code in the ROM block try to branch to ROM addresses when it should be branching to the relocated RAM addresses ?
Ported : A1200  SD940  G10  Powershot N  G16*

*

Offline asm1989

  • *****
  • 527
  • SX720, SX260, SX210 & SX200
Re: Windows GUI for CHDK porting
« Reply #56 on: 15 / April / 2012, 11:59:58 »
yes CHDK-PT branches to 0xFC6....   when it should branch to 0x006....

Re: Windows GUI for CHDK porting
« Reply #57 on: 16 / July / 2012, 23:19:23 »
yes CHDK-PT branches to 0xFC6....   when it should branch to 0x006....
similar observation posted here : http://chdk.setepontos.com/index.php?topic=8318.msg88012#msg88012

I need to look into this.  I've made some cosmetic changes that I have not posted yet as well so maybe its time to crank up my Win7 partition and dive back into the auto-it code.


Ported : A1200  SD940  G10  Powershot N  G16*


*

Online srsa_4c

  • ******
  • 3374
Re: Windows GUI for CHDK porting
« Reply #58 on: 20 / July / 2012, 00:23:16 »
Hi,

while working with the S1IS ROM I stumbled into some weirdness in the disassemblies. Not sure what the cause is, may be related to the "unusual" function prologue/epilogue this GCC compiled ROM uses. CHDK-PT 2.02
An example: in the function starting at 0xFF1CDE9C, you get the following

ROM:FF1CDF04 0xE3A01640    MOV     R1, #40,0xC

while it should be (GPL disasm)

ff1cdf04:    e3a01640    mov   r1, #67108864   ; 0x4000000

I think only MOVs are affected, but not sure.
The ROM is here: https://www.assembla.com/code/chdk-s1/subversion/nodes/misc , starts at 0xff000000.
This is only meant as a notice, maybe one more thing to look at when you find time  :)

I also find your utility useful, I can get nicely formatted ASM functions with it.
Thanks.

Re: Windows GUI for CHDK porting
« Reply #59 on: 20 / July / 2012, 00:38:01 »
Hi,

while working with the S1IS ROM I stumbled into some weirdness in the disassemblies. Not sure what the cause is, may be related to the "unusual" function prologue/epilogue this GCC compiled ROM uses. CHDK-PT 2.02
An example: in the function starting at 0xFF1CDE9C, you get the following

ROM:FF1CDF04 0xE3A01640    MOV     R1, #40,0xC

while it should be (GPL disasm)

ff1cdf04:    e3a01640    mov   r1, #67108864   ; 0x4000000

I think only MOVs are affected, but not sure.
The ROM is here: https://www.assembla.com/code/chdk-s1/subversion/nodes/misc , starts at 0xff000000.
This is only meant as a notice, maybe one more thing to look at when you find time  :)

I also find your utility useful, I can get nicely formatted ASM functions with it.
Thanks.
I think you will find that those are both correct - although the GPL one is confusing if you don't know what its doing.

Take a look at this : http://www.davespace.co.uk/arm/introduction-to-arm/immediates.html

Basically,  you can only have an 8-bit value as an immediate operand.  But there are an additional 4 bit for a multiplier (ring shift right where the number of bits shifted is the 4-bit value *2)

So in this case,  #40,0xC  means 40 ring shifted right 12 bits or 0x4000000 - although I guess maybe the #40 should be #0x40 ?  Or is hex assumed ?  Need to look at that .



« Last Edit: 20 / July / 2012, 01:32:15 by waterwingz »
Ported : A1200  SD940  G10  Powershot N  G16*

 

Related Topics