Script is below. It's a bit lame, and may cause the camera to switch off. It will try to dump memory (16MB) starting from 0xFF000000, then it will try the same from 0xFE000000, etc...
The argument of mydump() shows which memory segment is to be dumped.
Dump files will show up in the root of the SD card.
You can try to look at the dump files with a hex viewer, and zip up those which contain something other than 00 bytes (7zip recommended for compression).
dim f,a,startadr=0,romsize=0x1000000,msgstr=0
private sub mydump(c)
startadr = c * 0x1000000
startadr = startadr + 0xf0000000
sprintf(msgstr,"A/DUMP%0X.BIN",c)
LCDMsg_SetStr(a,msgstr)
f=Fopen_Fut(msgstr,"w")
Fwrite_Fut(startadr,romsize,1,f)
Fclose_Fut(f)
end sub
private sub Initialize()
UI.CreatePublic()
a=LCDMsg_Create()
LCDMsg_SetStr(a,"Running")
System.Create()
msgstr = AllocateMemory(80)
' mydump(15)
' mydump(14)
mydump(13)
mydump(12)
' mydump(11)
' mydump(10)
' mydump(9)
' mydump(8)
' mydump(7)
' mydump(6)
' mydump(5)
' mydump(4)
' mydump(3)
' mydump(2)
' mydump(1)
' mydump(0)
LCDMsg_SetStr(a,"Done")
FreeMemory(msgstr)
end sub
edit: commented parts of the code which appear to be unnecessary, changed chunk size to 16MB