s80 anybody? - page 3 - General Discussion and Assistance - CHDK Forum

s80 anybody?

  • 205 Replies
  • 101436 Views
*

Offline jpgr

  • *
  • 13
Re: s80 anybody?
« Reply #20 on: 25 / November / 2008, 13:28:21 »
Advertisements
p.s.

the stubs_entry.s file has been generated from ida

*

Offline reyalp

  • ******
  • 14126
Re: s80 anybody?
« Reply #21 on: 26 / November / 2008, 00:37:26 »
stubs_entry.s is not normally generated using ida. Normally it is using generated with finsig Signature finder - CHDK Wiki

the get_jogdial_direction things sounds like you've defined your camera as having a jogdial, but not implemented the required functions.
Don't forget what the H stands for.

*

Offline jpgr

  • *
  • 13
Re: s80 anybody?
« Reply #22 on: 26 / November / 2008, 15:40:25 »
thanks for the reply.

sorry - stubs_entry.s is being produced by finsig.

*

Offline jpgr

  • *
  • 13
Re: s80 anybody?
« Reply #23 on: 13 / December / 2008, 03:45:07 »
i'm now using the sd450 files as the basis for the s80 port

ive adjusted the addresses and values by comparing fw dumps of the two and finding the equivalent code.

choosing the upgrade firmware option the green play led lights for a few seconds and then the camera shuts down.

if i lock the card and start in play mode, the chdk logo appears and then i get the message 'no memory card'.

obviously somethings working to get the logo up - which files/code should i be looking at to get it to boot all the way?

is there any program/script to allow me to dump the code to the sd card upto the point that chdk fails?

any ideas appreciated.

*

Offline jpgr

  • *
  • 13
Re: s80 anybody?
« Reply #24 on: 14 / December / 2008, 16:34:25 »
im working my way through the files but some of the values dont appear in any searches of camera fw dumps.

specifically:-

/loader/camera/entry.s

/ Turn OFF SD Card power
// to support autostart
   LDR     R3, =0xC0220068 < from where?
   MOV     R2, #0x44
   STR     R2, [R3]

/loader/camera/main.c

#define LED_PR 0xc0220088  < from where?

   volatile long *p = (void*)0xc022002c; < from where?

i cant find them as a direct search, so i assume they are calculated.
ive tried subtracting 220000 from the numbers but still cant find them.

can anyone tell me how the values are produced or where to look in the code?
thanks

*

Offline ewavr

  • ****
  • 1057
  • A710IS
Re: s80 anybody?
« Reply #25 on: 15 / December / 2008, 06:53:30 »
/loader/camera/entry.s

/ Turn OFF SD Card power
// to support autostart
   LDR     R3, =0xC0220068 < from where?
   MOV     R2, #0x44
   STR     R2, [R3]

for which camera and firmware?

For example, for s80 1.00g:
Code: (asm) [Select]
ROM:FF880A80 TurnOffSDCardPower                      ; CODE XREF: ROM:loc_FF8228A8p
ROM:FF880A80                                         ; ROM:loc_FF8228B8p ...
ROM:FF880A80
ROM:FF880A80 var_4           = -4
ROM:FF880A80 arg_4           =  4
ROM:FF880A80
ROM:FF880A80                 MOV     R0, #0x64
ROM:FF880A84                 STR     LR, [SP,#-4]!
ROM:FF880A88                 BL      SleepTask       ; "Canon A-Series Firmware"
ROM:FF880A8C                 MOV     R3, #0xBC
ROM:FF880A90                 ADD     R3, R3, #0xC0000000
ROM:FF880A94                 ADD     R3, R3, #0x220000
ROM:FF880A98                 MOV     R2, #0x44
ROM:FF880A9C                 STR     R2, [R3]
ROM:FF880AA0                 LDR     R1, =0x4FF4
ROM:FF880AA4                 LDRB    R3, [R1]
ROM:FF880AA8                 AND     R3, R3, #0xFD
ROM:FF880AAC                 STRB    R3, [R1]
ROM:FF880AB0                 LDR     PC, [SP],#4
ROM:FF880AB0 ; End of function TurnOffSDCardPower
So, for s80 SD power port address is 0xC02200BC.

Quote
/loader/camera/main.c

#define LED_PR 0xc0220088  < from where?

   volatile long *p = (void*)0xc022002c; < from where?

S80 1.00G, sub_FF82DD64:
Led addresses:
0xC02200(7C, 6C, 8C, 88, 58, 84, 80).
Which LED is blue LED, you must find yourself.

*

Offline jpgr

  • *
  • 13
Re: s80 anybody?
« Reply #26 on: 17 / December / 2008, 12:45:05 »
thanks for the info.

just one more question (for the time being)

void shutdown()
{

   volatile long *p = (void*)0xc022002c; <  where should look for this value?

thanks

*

Offline ewavr

  • ****
  • 1057
  • A710IS
Re: s80 anybody?
« Reply #27 on: 17 / December / 2008, 13:46:31 »
void shutdown()
{

   volatile long *p = (void*)0xc022002c; <  where should look for this value?

Usually it can be found near end of Shutdowntask.

For example, for a610 1.00e:
Code: (asm) [Select]
ROM:FFC124EC sub_FFC124EC
ROM:FFC124EC                 STR     LR, [SP,#-4]! 
ROM:FFC124F0                 BL      GetSRAndDisableInterrupt
ROM:FFC124F4                 MOV     R3, #0xA0       
ROM:FFC124F8                 ADD     R3, R3, #0xC0000000
ROM:FFC124FC                 ADD     R3, R3, #0x220000
ROM:FFC12500                 MOV     R2, #0x44       
ROM:FFC12504                 STR     R2, [R3]       
ROM:FFC12508 loc_FFC12508                   
ROM:FFC12508                 B       loc_FFC12508    ;  forever loop
You can find this 0xC02200A0 address in platform/generic/lib.c


But s80 has more complicated code  :(
In s80 1.00g shutdowntask entry point is 0xFF822878. Maybe 0xC02200DC port?
But you can leave this function empty, it called never if CHDK starts normally.
« Last Edit: 17 / December / 2008, 13:49:52 by ewavr »

Re: s80 anybody?
« Reply #28 on: 28 / January / 2009, 08:35:32 »
Hi, I'm a big S80 fan, and I was wondering if this is still under development.  I sure hope so... I'd love to be able to do with the S80 the kinds of things I can natively do with my G9. :)

Re: s80 anybody?
« Reply #29 on: 10 / March / 2009, 16:01:58 »
Any news on the CHDK for S80 front?
I'd love to be ale to get RAWs out of this great camera. And exposure bracketing would be good, I've been doing quite a lot of HDRs with my G3.
I have some programming experience, mainly with Pascal, and willing give it a go if needed.

Also the links for the 1.00G firmware update are broken.
« Last Edit: 10 / March / 2009, 16:04:30 by surfer69 »

 

Related Topics


SimplePortal © 2008-2014, SimplePortal