First 7D alpha released!

Finally, the first Magic Lantern release for the 7D is here!
It is still an early alpha version, so here are a few things you should know:
- it was primarily tested on one 7D, and a few days on three other 7D's;
- during those tests we took 1000 photos and gigabytes of videos;
- there were no crashes or strange behaviors during our tests;
- this release will not alter any data in your camera's permanent memory;
- this release will not directly alter any so-called "properties" (persistent camera settings);
- this means, some functions like HDR photos, HDR videos, bulb ramping etc will not work yet;
- it is not a firmware upgrade, despite the camera saying "Firmware update program";
- we have disabled all features that are not yet working perfectly;
- please don't beg for adding feature XYZ, it will be added as soon as it works without issues.
But:
- If anything goes wrong, we don't pay for repairs. Use Magic Lantern at your own risk!
Key Features:
- Audio meters while recording
- Zebras
- Focus peaking
- Magic Zooom (via half-shutter, or focus ring)
- Cropmarks, Ghost image
- Spotmeter
- False color
- Histogram, Waveform
- Vectorscope
- Movie logging
- Movie auto stop
- Trap focus
- LiveView settings (brightness, contrast...)
- Level indicator
- Image review tweaks (quick zoom)
- and a lot more
Known issues:
- When using trap focus, opening card door won't shut down the camera. Simply power off using power switch.
- Formatting the card will also remove Magic Lantern files.
- You have to reload Magic Lantern every time you use it.
Technical Details
Why did it take so long to get Magic Lantern running on the 7D?
This is a long story. The workings of single-DIGiC cameras are already well understood. We know how to forge FIRs and we can execute code using this method. Our code gets executed without any interruption to the cameras proper function, we can hook into startup code and simply restart the camera or update the bootflag needed for execution of autoexec.bin. Same applies to autoexec.bin if the bootflag is enabled.
But not so on the Dual-DIGiC 7D cameras.
One DIGiC is called "Master" and the other "Slave." All ML related stuff like GUI, LV etc is running in Slave. The Master cares about focusing, lens communication and some other related technical stuff. So there are two processors that both load the (forged) firmware update program which contains Magic Lantern. But we could not simply reboot the Slave into normal firmware while the firmware update loader is executed. With some tricks like patching the original firmware updater, it was possible to enable the bootflag for autoexec.bin. But even running Magic Lantern in autoexec.bin failed silently. This was the point where our first investigation started stuttering.
After some deeper investigation with new methods like - lets call it "virtual flash patching" by manually patching the processors cache content - we found out that the Master is still running and waits for the Slave to send synchronization signals. If they don't arrive, Master is disabling the Slave where our code runs. Henceforward it was a job of just two weeks to find out what to do and make Magic Lantern start up cleanly and then another two weeks for updating all defines, macros and constants to get the important features running smoothly.
This alpha is a snapshot of what is working reliably enough to begin testing it widely.
Who was involved in developing Magic Lantern for the 7D?
Definitely everyone! As all the features in Magic Lantern came from the many developers contributing to ML.
Although, beyond the usual suspects, there are two key players for the 7D port: Hudson and Indy. They spent an extraordinary amount of time getting the bootflag enabled and building .FIRs that would run perfectly. Without their hard work, there would definitely be no 7D version.
What is still missing?
We can run Magic Lantern from autoexec.bin, but we still can not reliably enable the bootflag to execute it. This means, virgin cameras will only be able to run the .FIR version of ML for now. We know ways to enable the bootflag, but they would involve copyright issues. And that's something we want to avoid.
Also missing is the FPS override feature. We are not sure if this will be possible as it has been in other models.
All HDR features, bulb ramping, and features that require "properties" could possibly work as soon we enable them. For now we will keep the risk at a minimum and slowly test feature after feature - your feedback is important at this stage.
Troubleshooting
After starting the firmware upgrade, if there is only a black screen, but auto-focus works:
- reinstall the firmware v2.0.3 from the links on the right;
- make sure the 7D000203.FIR checksum is correct.
7D000203.FIR checksum
SHA-1: 613439A489A46D2691FB54F0DB22232F17E2AA8E
MD-5: 29AF55CF2B404D2A60220BC9CC579EFD
WinMD5: www.winmd5.com
The camera shows no magic lantern, but a standard firmware
- reinstall firmware again, format card and copy ML files again.
What is next?
We have to better understand what Master and Slave are doing exactly. Which one processes MPEG data, which one compresses JPEGs and what could Magic Lantern achieve by understanding this relationship? As the lens communication seems to be handled by the Master – maybe we can change the lens protocol so you can use lenses that have known bugs, or even lenses with a totally different protocol? Maybe we can read the level sensor at higher rates and embed that data into images for automatic leveling? Or even embed into videos?
But first we have to analyze the firmware. And for this we would love to buy a copy of IDA Pro with Hex-Rays Decompiler for ARM for our developers, and we cannot afford it easily without your help.
We gave our best, our time, and considerable knowledge. So please be kind and support our work!
Thanks to your help, we have covered all our funding needs for now. Please consider donating to EFF for us, they do a great work in defending your digital rights, including the right to run third party software on your own devices!
Magic Lantern is a community effort, and you are now part of that community!



you made a lot of people happy!
Will be using my camera all day tomorrow... will report back if any thing funny happens.
Time to make another donation... pony up people... lets get these guys what they need to make these Canon cameras even better!
As for those prices... damn, i didn't know they were so high.
So let's say you get all this stuff, how much can it improve ML? Is that like the last 10% to discover all the good stuff that mother Canon doesn't want us to have?
I hope for more donations anyway, this porting and the upcoming ones should bring some money to your cause.

So let's say you get all this stuff, how much can it improve ML? Is that like the last 10% to discover all the good stuff that mother Canon doesn't want us to have?
well, it helps us to make our reverse engineering work easier.
there were days where i sat 10 hours in front of the computer, so many of the devs do.
this tool might reduce the time we need to analyze code by factor 2 or more.
