I'll have the camera for a
limited amount of time, i'll try to port as much as i can given my free time.
After dumping the firmware and running through the decompilation, philmoz' finsig and ERR99's
sx40hs port i found out some interesting things about this new DIGIC V camera.
I'll keep you updated on progress.
Some early infos:
// Camera info:
// DRYOS R49 (DRYOS version 2.3, release #0049)
// Firmware Ver GM1.00D
// Canon PowerShot
S100
Led address: 0xC022C30C
seems like it's not enough anymore to write 0x46/0x44 in order to power on/off the led (where did this come from, anyway?), but it's required to do what ERR99 did with
sx40hs
e.g.
volatile long *p=(void*)0xC022C30C;
*p = (*p & 0xFFFFFFCF) | 0x20; // Turn on LED
*p = (*p & 0xFFFFFFCF); // Turn off LED
Today i was talking with philmoz when i had no clue on where to find LED addresses and after some research i found out there's a pattern (at least it these new cameras? i didn't check other dumps) that could be used by finsig to find these addresses (i'm no expert but..), in fact both
sx40hs and
s100 show this patterns (reflected in ERR99's code):
LDR R2, =0xC022C000
LDR R1, [R2,#0x30C]
BIC R1, R1, #0x30
ORR R1, R1, #0x20
STR R1, [R2,#0x30C]
and
LDR R2, =0xC022C000
LDR R1, [R2,#0x30C]
BIC R1, R1, #0x30
STR R1, [R2,#0x30C]