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 some debug functions
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.* video frame rates in LV are displayed too high (exactly 1.2x)
* make sure your battery is chipped, else canon firmware will abort "firmware update" (=loading ML)
Installation1) Update camera firmware to 2.0.3
2) Format your CF card from the camera
3) Extract contents of ML .zip into your card's root folder
4) Run "firmware upgrade" once again
5) Voilà. Magic Lantern. (press DELETE for menu)
Technical DetailsWhy 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.
TroubleshootingAfter 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.comThe 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!
Magic Lantern is a community effort, and you are now part of that community!
Click here to read this article!DownloadMagic Lantern for 7D alpha 1Canon firmware v2.0.3