Main Builds » 550D / Rebel T2i 1.0.9
Desktop changer with optional slide-o-matic view for that ol'-timey slideshow look. The frame was photoshopped out of a scanned image from 1965.
Latest Build (2018-07-03 00:22)
Test results: 8 passed, 0 failedPlease take the results with a grain of salt - this is not the same as running on a physical camera.
Menu test passed (animation)
Free Memory test passed (animation)
Small Malloc test passed (animation)
Lua Hello World test passed (animation)
Null pointer test passed (animation)
Format/restore test passed (animation)
File Manager test passed (animation)
Silent picture test passed (animation)
Change Log7a3b5fa: Ghost image: further cleanups and fixes
4702ca0: Ghost image: fix crash (issues #2796, #2783, #2878, #2885)
94442d9: features.tmpl edited online with Bitbucket: use id in th section heading to allow for direct linking via anchor
5e40987: Merged in edmac (pull request #886)u000au000aEDMAC module: fixes for DIGIC 4, connection map
b54a0c6: Merged in adv_int (pull request #907)u000au000aAdvanced intervalometer updates
58e11ee: Merged in memory-backend (pull request #906)u000au000aMemory backend improvements
87dfe3c: Makefile: fix 'make install_qemu CONFIG_QEMU=y' for minimal targets
7c04c75: memset64/memcpy64: use versions from b831cb1; fix calls from Magic Zoom to ensure proper alignment
375fa4e: Backout b831cb1 (breaks Magic Zoom and CONFIG_MARK_UNUSED_MEMORY_AT_STARTUP, as memset64 is not the same as memset)
287c785: adv_int: ignore empty lines when loading keyframes
6239bc6: adv_int: use strstr instead of my_strstr (fixes slow load)
284656a: Include strstr in ML core
ef21d82: adv_int: refactor keyframe time formatting
5ca412b: adv_int: auto-load the saved sequence at startup
a4869c8: adv_int: renamed menu entry to 'Ramping options'
86accb6: Memory backend: drop timestamps from history; show last 1024 events
d016ccf: Memory backend: show total allocations (number and amount), including untracked ones
0e56fe7: Memory backend: allow using shoot_malloc as a last resort, even for small blocks;u000aallow small blocks (smaller than minimum_free_space / 64) to break the minimum_free_space limit (until minimum_free_space / 4)u000afine-tuned until the old set of Lua scripts were able to run on 1100D without umm_malloc
28bf259: Memory backend: a pointer to task names (rather than copying the full string) should be enough
a67b3ed: Memory backend: renamed memcheck_mallocbuf to memcheck_entries
b831cb1: Moved memset64 and memcpy64 to bench.mou000a- simplified to accept only 32-bit aligned pointersu000a- using regular memset for Magic Zoomu000a- closing issue #1995
d7866ee: Memory backend: if shoot_malloc fails, try SRM nextu000a(poor man's autodetection, since we don't know how to query the available size in advance)
ee7abdb: exmem: reworked shoot_malloc to handle large requests betteru000a- moved autodetection to dedicated functions (for both fragmented and continuous allocations)u000a- autodetect the max available size for large requests (slower, but when it fails, it fails gracefully)
bd7a1dd: exmem: removed the 'relaxed' checks introduced in 04f02a4u000a(not sure why they were needed; we'll find out if it fails)
766ffbb: exmem: speed-up shoot_mallocu000a(1s timeout probably not needed)
51f6129: exmem: do not keep track of full shoot memory allocationsu000a(allows reserving some memory in advance and allocating all the remaining RAM afterwards)
f12eba5: Memory backend: fix handling of untracked blocksu000a(possible buffer overflow before this fix)
f9f3358: Memory backend: figured out why AllocateContinuousMemoryResource may crash with many small blocksu000au000a(todo: figure out where to keep 89e3b12 or not; adapt tests if not)
e4fd29d: Memory backend: when checking available memory, allocate both Shoot ans SRM at the same timeu000a(they may overlap)
1162fce: Memory backend: fix initialization
67f582f: mem.c: option to disable heap poisoningu000a(useful when running in QEMU with -d memcheck - with this, overflowing reads will be caught as well)
26f1647: Memory backend: allow breaking minimum_free_space for small blocksu000a(it was possible to fail the allocation for very small blocks that could not be covered by shoot_malloc)
c6d6699: Memory backend: allow AllocateMemory as a last resort, even if free space is below limitu000a(it was possible to fail the allocation for very small blocks that could not be covered by shoot_malloc)
1e4985e: memory backend: reduce memcheck area (should reduce overhead a bit)
4e59a74: memory backend: ignore null pointers passed to free (Lua does that)
2ade4a5: exmem: when autodetecting available memory, print all srm/shoot memory blocks to console
fee1ee2: edmac: make sure the log files don't have unnecessary newlinesu000a(channels with complex size configuration may get printed on multiple lines; that makes the log file harder to parse)
1508a54: edmac: LOG_INTERVAL can now be changed from menu (persistent setting)
564b0c5: edmac: use numbered log file names
edcb52f: edmac: fix behavior when the extra info buffer gets full
056e56e: edmac: use half-shutter as trigger for logging EDMAC channels;u000afine-tuned messages
2eddc9f: edmac: fix crash on models other than 5D3u000a(there was a hardcoded stub)
4b161ce: edmac: fix crash when using 'Log EDMAC usage' on D4 models
bc3bd0d: Merged unified into edmac
b4a8fad: Added edmac.mo to nightly builds
2061922: edmac-memcpy: check to make sure all models have AbortEDmacu000a(to make sure it's correct: selftest.mo -> Stubs API test)
fff0aeb: edmac.mo: display connection map (experiment)
InstallationInstallation
Magic Lantern Canon T2i
- Make sure you are running Canon firmware 1.0.9.
- Once you have the correct Canon firmware:
- Format the card from the camera.
- Unzip the archive and copy ML files to the memory card.
- Run the Firmware Update process from Canon menu.
This procedure will enable the BOOTDISK flag in your camera's Flash ROM, allowing it to load and execute custom code from the memory card. A copy of the original (unmodified) ROM contents will be saved to the card.
Magic Lantern will run from this card; it won't replace your original firmware.
- After installation, please copy your ROM backup files (ML/LOGS/ROM*.BIN on the card) to a safe place.
Uninstallation
Canon Eos M Magic Lantern
From camera:
- Run Firmware Update from your ML card.
- Follow the on-screen instructions, including the fine print.
This procedure disables the BOOTDISK flag. You will no longer be able to run Magic Lantern, unless you reinstall it.
Some settings changed by Magic Lantern might be persistent; this procedure will not reset them. To restore the camera to factory state, you may also want to clear all camera settings and custom functions from Canon menu.
From one card:
- Canon menu: Format card, remove Magic Lantern.
- This procedure does not disable the BOOTDISK flag. With this method, you will still be able to run Magic Lantern from other cards.
- Never delete the Magic Lantern files from the card! Format the card instead.
Camera doesn't boot?
Magic Lantern Firmware For Canon
- Remove battery, remove card.
- Put battery back, close card and battery covers.
- Start the camera without card.
- » Did it work? Format the card, reinstall Magic Lantern.
- » Still not working? Double-check battery and card doors, run the diagnostic tools and get in touch with us.
Troubleshooting tips
- If your camera locks up, remove the battery and reboot.
- Make sure you have a backup card without Magic Lantern on it (just in case).
- To restore ML defaults: Prefs → Config files.
- To see what settings you have changed from ML defaults: Modified (Δ) menu.
- To disable Magic Lantern temporarily: press and hold SET at startup.
Canon 550d Magic Lantern
Magic Lantern is not approved nor endorsed by Canon in any way, and using it will probably void your warranty.
We are not responsible for any damages to your camera.
Copyright (C) 2009-2018 Magic Lantern Development Team
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.