I successfully enabled the bootflag to allow the camera to run from an autoexec.bin file. It works!! I have attached a bootdisk toggle fir file that will toggle the bootdisk on / off each time you run it. I have also attached an autoexec.bin file (the first one of the project!!) which simply blinks the blue and red leds without booting the firmware. Just put the FIR and autoexec.bin files on your cf card, run the firmware update (ONLY DO THIS IF YOU'RE ON v1.1.1 FIRMWARE), and you should see some LED activity telling you the state of the flags.
- any kind of red led at all means something went wrong and the code haulted.
- a solid blue led indicates that bootflag is now enabled (so you can run autoexec.bin files with a prepared card).
- a blinking blue led indicates that the bootflag is now disabled.
Note: there is no way to turn the camera off while using the FIR or this autoexec.bin file, just pull the battery (it's not a big deal).
If you are interested in the changeset please see:
https://bitbucket.org/coutts/5dplus/changeset/dd9a88c8f9f9For anyone curious how I did it:
I spent some time analyzing the bootloader of the 400d. I knew there were functions to set boot flags as this is how the 350d people did it. I ended up finding the functions in the 400d boot loader, and I was curious if I could probe the bootloader section of the 5d to find the same functions.
I used some basic code to scan the entire region, checking every 4 bytes to equal the hex code from the 400d bootloader at specific instructions. I then used the blue and red leds to blink out the location of the function in binary (red was 0, blue was 1), and slowly narrowed down where the bootflag functions were. In the end it worked! I added checks to try to prevent any possible complications (shouldn't be any though).
Enjoy
