Update:
now available in the nightly builds!Another pipe dream came true 
- are you afraid to waste shutter clicks on timelapse or focus stacks?
- do you need to take pictures in quiet environments?
- do you have problems with mirror vibration (e.g. at very long focal lengths)?
- your shutter is worn out so badly that you can no longer take pictures (ERR20)?
- old silent picture mode's resolution was too low for these tasks?
I believe I've just found the solution to all of the above.
How it works?I've tried to call a factory test routine: FA_CaptureTestImage (helped by FA_CreateTestImage and FA_DeleteTestImage). At first sight, it did not do anything visible (g3gg0 already tried it years ago), but the diagnostic log and the EDMAC info box revealed the magic: the sensor was sampled at full resolution, without shutter actuation!
So, to take an useful image, I went to LiveView first to open the shutter and raise the mirror, then I've paused LiveView (from ML powersave routines, or by going to PLAY mode or Canon menu from LiveView). Then I've called the above routines, and after that, all I had to do was to fill the raw_info structure and save the DNG.
If you call these routines without going to LiveView first, the result will be a dark frame (interesting for astro - you can take 300 dark frames without wearing the shutter mechanism).
For more details, take a look at
this changeset.
Limitations- The fastest shutter speed I've got is around 1/10 seconds (very rough estimation by comparing brightness from a regular picture). With regular pictures, faster speeds are done via mechanical shutter actuation.
- Long exposures are fine up to 15 seconds (longer exposures will crash the camera).
- Fastest capture speed: 220ms on 5D3, 320ms on 5D2. This includes a dummy readout, which is probably a bias frame.
- So, at least for now, the usefulness is limited to timelapse and medium-long exposures (no moving subjects).
- If you use the intervalometer, I recommend taking a picture every 10 or 15 seconds (not faster). Saving DNGs from the camera is slow.
- In photo mode, aperture will be most likely wide open, regardless of the setting, because of exposure simulation (enable Expo Override to fix it).
4K video?Too early to ask. Find a way to speed up the capture process first (see the research section below).
However, I don't really expect more than 10 fps (in LV crop mode on 5D3, 1/3.6 of the total sensor area is sampled at 30fps). If you implement a burst mode from the current code base, you'll get up to 5 fps.
Is it safe?You'll have to judge yourself; I'll just give you some details.
- I've discovered this the day before yesterday
- I took less than 100 pictures, on 4 different cameras (5D3, 5D2, 550D and 60D)
- The functions I'm calling were meant for factory testing (see
these comments from silent.c for some details on what they do)
- The functions I'm calling will change some properties back and forth, e.g. PROP_FA_ADJUST_FLAG (you know, properties are usually persistent settings, and a mistake there may soft-brick the camera)
- The sensor is sampled in the same way as in photo mode, just without mechanical shutter actuation
- I won't include it in the nightly builds at this stage; early adopters will have to compile it themselves.
How do I install it?Download the latest nightly build and enable silent.mo.
Research- log file from 5D2:
FA_CaptureTestImage.log- some of my experiments on 5D2:
http://pastebin.com/6Lyhrqtj-
http://magiclantern.wikia.com/wiki/ADTG-
http://magiclantern.wikia.com/wiki/Register_Map-
How does the camera take a picture?-
ADTG registers thread and
classic adtg_gui- enhanced
adtg_gui from the
iso-research branch
- analyze Canon debug messages with the code from the
dm-spy-experiments branch
- figure out how to speed up the capture process (maybe without the dummy capture step, or find out how to trigger the continuous readout mode)
- figure out how to get fast shutter speeds, as in LiveView (electronic shutter)
- implement a fast bracketing, exposure stacking or other funky capture modes
- compare the dynamic range with regular photo mode, with raw_diag (
check the ISO research thread)
- don't burn your sensor

Please do not ask for builds in this thread. This thread is for development related feedback only.
If you would like a build compiled, so you can help the Magic Lantern development team by testing this feature and providing feedback, please see
this thread.