I'm trying very hard to find a way to get udumper working for the SD780 (mostly for the alternate FWs 1.00b) What I am finding is that despite there existing an area of low memory that eventually has the correct form:
for (i=0x1900;i<0xF0000;i+=4)
if ((*(unsigned int*)(i+0x34)==0) &&
(*(unsigned int*)(i+0x38)==0) &&
(*(unsigned int*)(i+0x3C)==3) ) &&
(*(unsigned int*)(i+0x4C)>MIN_ADDRESS) &&
(*(unsigned int*)(i+0x50)>MIN_ADDRESS) )
It does not seem to have it during the early stages when udumper is running. Question #1 is this. Is there a sign issue with this code trying to use MIN_ADDRESS? I cast to (unsigned int) but no difference. Can someone with more knowledge just confirm that there is likely no need to add additional casting to the match string. Specifically from a sign point of view?
ROM:0001096B DCB 0
ROM:0001096C DCD 0
ROM:00010970 DCD 0
ROM:00010974 DCD 3
ROM:00010978 DCD 7
ROM:0001097C DCD unk_2000
ROM:00010980 DCD 0x77E000
ROM:00010984 DCD 0xFF903950
ROM:00010988 DCD 0xFF903B38 (and this is the WriteSD as found in the blinked firmware)
RealRom:FF903B38 loc_FF903B38 ; DATA XREF: RealRom:off_FF851ABCo
RealRom:FF903B38 STMFD SP!, {R0-R11,LR}
RealRom:FF903B3C LDR R0, =0x5634
RealRom:FF903B40 SUB SP, SP, #0xC
RealRom:FF903B44 LDR R1, [SP,#0xC]
RealRom:FF903B48 LDR R0, [R0,#8]
RealRom:FF903B4C MOV R11, R2
RealRom:FF903B50 CMP R1, R0
RealRom:FF903B54 MOV R10, #0
RealRom:FF903B58 MOV R5, #2
RealRom:FF903B5C BEQ loc_FF903B90
RealRom:FF903B60 MOV R0, #0x80
RealRom:FF903B64 BL sub_FF86399C
RealRom:FF903B68 LDR R0, [SP,#0xC]
RealRom:FF903B6C BL sub_FF9032D4
RealRom:FF903B70 MOV R4, R0
RealRom:FF903B74 MOV R0, #0x80
RealRom:FF903B78 BL sub_FF8639C0
RealRom:FF903B7C CMP R4, #0
RealRom:FF903B80 BEQ loc_FF903BCC
RealRom:FF903B84 LDR R0, =0x5634
RealRom:FF903B88 LDR R1, [SP,#0xC]
RealRom:FF903B8C STR R1, [R0,#8]
Second question would be (and a bit of a big one). Does the firmware piece above having anything the original udumper doesn't expect? typedef int (*f_w)(int, int, int, int); // drive(?), start sector, number of sectors, address I feel silly asking such a question as open ended as it is. I'm not a great reader of the firmwares.
Anyways if there is anyone that can see something that might help I would be greatful.
Harpo