Some progress with tommie-lie on IRC. Diskboot doesn't work, but we got a PS.FI2 to turn on LEDs, using modified chdk loader.
err, I'd attach a diff but attachments seem to be disabled.
Index: loader/ixus980_sd990/entry.S
===================================================================
--- loader/ixus980_sd990/entry.S (revision 763)
+++ loader/ixus980_sd990/entry.S (working copy)
-3,9 +3,9 @@
// Turn OFF SD Card power
// to support autostart
// LDR R3, =0xC0220048
- LDR R3, =0xC0220018 // sd990: from sub_FFFF1390, also ref SdPower.c
- MOV R2, #0x44
- STR R2, [R3]
+// LDR R3, =0xC0220018 // sd990: from sub_FFFF1390, also ref SdPower.c
+// MOV R2, #0x44
+// STR R2, [R3]
// looks like idle cycle is required for proper shutdown
MOV R3, #0x8000
Index: loader/ixus980_sd990/main.c
===================================================================
--- loader/ixus980_sd990/main.c (revision 763)
+++ loader/ixus980_sd990/main.c (working copy)
-9,6 +9,14 @@
void __attribute__((noreturn)) my_restart()
{
+ static unsigned ciclo;
+ for (ciclo=0xC02200A0; ciclo<=0xC0220140; ciclo+=4)
+ {
+ (*((unsigned *)ciclo)) = 0x46;
+ }
+ while (1) ;
+
+ /*
void __attribute__((noreturn)) (*copy_and_restart)(char *dst, char *src, long length);
int i;
-18,6 +26,7 @@
copy_and_restart = (void*)RESTARTSTART;
copy_and_restart((void*)MEMISOSTART, (char*)blob_chdk_core, blob_chdk_core_size);
+ */
}
Index: platform/ixus980_sd990/sub/100e/makefile.inc
===================================================================
--- platform/ixus980_sd990/sub/100e/makefile.inc (revision 763)
+++ platform/ixus980_sd990/sub/100e/makefile.inc (working copy)
-1,5 +1,7 @@
#3193
-PLATFORMID=12691
+#PLATFORMID=12691
+#31C0
+PLATFORMID=12736
PLATFORMOS=dryos