mov r0, #0bl sub_FF06C4F4
@blackhole, CaefixCan you do an experiment for me?I'm curious whether switching off the card helps with the card error Caefix is experiencing.Please put these in task_Startup_my at the place where the diskboot-related function is commented out.Code: [Select]mov r0, #0bl sub_FF06C4F4I'm not sure if the above does what I think it does, but it does seem to be the equivalent of what DIGIC 6 cameras do.Please comment out the fix_writable_media_flag workaround for this experiment.I'll take a look at the startup issue.
Since I don't know what the third startup possibility is, I'd probably evaluate the on/off button.
I have an old RAM dump from this model. It was made from Canon Basic, playback mode. The word at 0x2ad8 is 0x100000. I'd guess rec mode would be 0x200000.sub_FF02BC5C evaluates 3 GPIOs (playback button, on/off button, and something else).I think the playback button's state is *(int*)0xc022f48c & 0x80000. If I'm correct with the above guess, on/off is *(int*)0xc022f48c & 0x100000.Since I don't know what the third startup possibility is, I'd probably evaluate the on/off button.
I'd guess third is probably the wifi / mobile connect button.
I suppose then * (int *) (0x2ad8) = (* (int *) 0xC022F48C) & 0x100000? 0x200000: 0x100000; should be fine.
How did you get to 0xC022F48C, the first entry in the table @ 0xFF5F82DC is 0xCO22F484, I can't find any index,offset or pointer to C022F48C ?
Edit2: compared both builds, no diff. Browser, scripts, deleting, RAW... all good.
sub_FF06BE70 aka sub_FF06E918 takes a single argument, in r0.That argument is multiplied by 8 (lsl #3 shifts bits to the left, 3 times). So, the GPIO address is taken from 0xFF5F82DC + 8 * r0, the mask is the word after that.
Started by rkomar
Started by klippone
General Discussion and Assistance
Started by ctsurv553
Started by Jack
Hello, I'm a NEWBIE - HELP!! (Newbies assistance, User Guides and thank you notes)
Started by reyalp