Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - nanomad

Pages: [1]
During the last 3 years, the development of Magic Lantern has shifted from an almost single-dev hobby project, into something more collaborative, with several people contributing to the project. We feel that the right development model for Magic Lantern is something similar to the Linux kernel.  A group of core contributors make changes that go directly into the “official” builds, and other users contribute by submitting pull requests.  Inevitably, forks of the project will be created for the purpose of adding features and fixing bugs.  We encourage these forks and recommend forking as the best method to submit patches to the main repository.

Recently, one actively popular fork began moving in a direction dangerously far away from the main repository, by adding experimental patches that weren’t pulled back to the main repository for collaboration.  As a result, these patches were relatively untested on some cameras and could not be confirmed as safe for all models.

Until recently, 3 ports (EOS-M, 6D, and 7D) were maintained almost completely on the Tragic Lantern fork and not in the main repository.  It has become increasingly harder to merge patches from Tragic Lantern into the Magic Lantern repository

We feel that the current situation only serves to create confusion among users, split the community, and duplicate development efforts. This makes merging harder than rewriting these features and fixes from scratch, and clutters the forum with duplicate requests, issues and development discussion.

Therefore, we have decided to drop any form of official support for these kind of forks.

Starting a week from this announcement, we will begin actively enforcing this decision by dissolving support of the Tragic Lantern fork, as well as any other fork, that fails to follow the guidelines presented here.

This decision is based solely on the forking of Magic Lantern, and ensuring that these forks do not interfere with the core values set forth by the Magic Lantern development team.  1%, the maintainer of Tragic Lantern, and other users, are free to fork and do whatever they wish with the project.  This decision should not be considered as a personal attack towards 1%, or other users, who maintain their forks in a manner that is suitable for themselves.  We respect the development by all members, including development that moves away from the direction of Magic Lantern.

However, in the end, only the main repository can be called Magic Lantern and be supported on this website for all of the reasons listed within.

I’m a user, what does this mean for me?
Tragic Lantern usage and discussion will no longer be accepted on this forum. Please continue discussion about the Magic Lantern ports in these threads: 50D, 7D, EOS-M, 6D, 600D.

But, I found a bug! What should I do now?
If you feel you have found a bug, please open a bug report on the Tragic Lantern bug tracker. If, after testing the latest nightly build of Magic Lantern for your camera you find that the bug applies to Magic Lantern too, please open a ticket here.

How can I help smooth the transition?
Users are more than welcome to point out the differences between Tragic Lantern and Magic Lantern on their cameras here, in order to assist developers in knowing exactly what to merge back to mainline.  It is strongly encouraged that users and developers take priority in getting the 3 ports (EOS-M, 6D, and 7D) to a stable state where they can be maintained by Magic Lantern.

It is hoped that this will solve a number of issues, including, getting these ports supported in Magic Lantern, and creating a situation whereby it is easier for fork maintainers to create pull requests.

What about existing threads and posts?
Any remaining threads about Tragic Lantern will be moved to this section. Next week they will be locked out and put in read-only mode

General Help Q&A / ML Best Practices
« on: September 14, 2013, 09:27:44 AM »
Always format the card from the camera
Since Magic Lantern runs from the card, you may be asking yourself: "what happens if I format it"?

Answer: Magic Lantern first reads all of its required files, including your custom configuration files, and then copies itself back onto the card!

We strongly recommend you to format the card before every important shooting session! This helps maintaining performance when recording files, and prevents the filesystem from becoming fragmented.

A lot of stability and performance issues reported by Magic Lantern users went away after they started to format their cards on a regular basis.

Formatting the card from the camera will make sure your file system is exactly as Canon software and Magic Lantern expect it to be.

Tip: to format the card and remove Magic Lantern, go to the Canon Menu / Format screen and press the shortcut key indicated in brackets, as in the screenshot - on most cameras it's the [Q] button.

Don't remove your card too fast!
After you open the card door, most cameras will access it during the next few seconds. These cameras usually do a short LED blink when it's safe to remove the card.

The card access is usually done without LED activity (and this can't be fixed without reflashing Canon firmware with a modified version). That's why you really need to be patient when removing the card.

If you remove the card too early, the camera will lock up and will slowly drain your battery.

Affected cameras:

  • 5D Mark II, 500D: card activity takes place roughly 2 seconds after opening the card door, and the LED blinks after card activity has ended (so you can remove the card). If there are no blinks in the first 5 seconds, it's safe to remove the card.
  • 50D: card activity takes place without any LED blinks; after opening the card door, wait for 5 seconds before removing the card (even if camera was turned off hours ago!)
  • 60D, 600D, 650D, 700D, 100D, EOSM: card activity is always done with correct LED blinks. Do not remove the card while LED is on.
  • Cameras without this issue: 550D, 1100D.

Never simply delete Magic Lantern files from the card!
If you do, the boot flag will remain on the card. The camera will continue to look for Magic Lantern, but will not find it, and will not boot. To remove Magic Lantern, format the card instead.

If you make this mistake, don't worry. Remove the battery momentarily, format the card in your external card reader, place the card back into your camera and restart it.

Using the same settings on multiple cards
Magic Lantern settings are saved on your memory card, in a file called MAGIC.CFG, which is located in the directory ML/SETTINGS. A side effect of this is that, if you use different cards, each card will have its own settings.

If you'd like to have the same settings on all your cards, you can use this workflow:

  • Customize Magic Lantern settings so they fit your needs and save this config;
  • Put your card in your card reader and copy the ML/SETTINGS directory to the computer.
  • Then, copy this ML/SETTINGS directory from computer to the cards you want to share this config.


  • Once you have found the optimal settings for your style of shooting, you can disable the automatic config file saving from Prefs menu – now your settings will never be overwritten.
  • Having the config file saved on card allows you to create different presets - for example, you can setup one card for video shooting, another card for timelapse and a third card for general stills shooting.

Use a card reader for downloading photos and videos to computer
During normal operation, Magic Lantern may create extra files (like movie LOG files or postprocessing scripts), which are not visible via the USB connection. Therefore, our advice is to always copy files using a card reader.

Always use the safe removal feature from your operating system, and avoid cheap cards and card readers. Corrupted filesystems create problems – do your best to prevent them!

Using the same card in two different camera models - possible?
It will work, but we do not recommend doing this. The settings which are camera-specific may not be preserved properly in the configuration file.

Always use Manual modes - avoid Auto
Magic Lantern is a great tool for power users - most of its features work best in manual modes. Don't forget to enable manual exposure in video mode from Canon menu!

We do not even try to use the camera in auto modes - these modes were not tested at all. Canon seems to do the same, according to this post.

Camera-specific Development / Canon 650D / T4i
« on: August 03, 2013, 07:27:52 PM »
1) Format the card from the camera.
2) Make sure you are running Canon firmware 1.0.4.
3) Copy ML files on the card and run Firmware Update.

1) Run Firmware Update from your ML card.
2) Follow the instructions.

Quote from: Original Post

Status:  Alpha

What's currently not working: All ML features that have to do with audio plus a couple that require more button than what we have

Known "quirks":
- MZ is flickering. No solution known beside basically hardlocking the UI.
- FPS override may cause crashes. This requires a lot of testing to figure out correct timer values. I'm on it

(obsolete info) How do I test it?

1. Download the needed files

- The installer package:

- EOSCard for Windows or MacBoot for OS X

2. low level format your SD card

3. Run EOSCard, uncheck EOS_Develop and BOOTDISK (the card SHOULD NOT be bootable)

4. Upgrade to canon 1.0.4 if you haven't already using the official firmware update

5. low level format your SD card again

6. Start camera in M photo mode and reset settings to default.

7. Extract the contents of the installation zip on SD card.

8. Start camera in M photo mode and run firmware update. THis will run the ML setup and make your card bootable too.

9. Follow the on-screen instructions

Afterwards you can delete the 650D.104.installer.fir file and stay up to date just by replacing files from the official nightly builds. (check the forum homepage)


Status:  Alpha

What's currently not working: Everything audio related plus a couple of features that require more button than what we have

Known "quirks":
- MZ is flickering. No solution known beside basically hardlocking the UI.
- FPS override may cause crashes. This requires a lot of testing to figure out correct timer values. I'm on it

How do I test it?

Note that there are no official ML builds for the 650D right now, but you can use Satriani's build for the moment

1. Download the needed files

- 650D-safe-dumper.fir:

- Latest Magic Lantern builld from user Satriani:

- EOSCard for Windows or MacBoot for OS X

2. low level format your SD card

3.  Copy 650D-safe-dumper.fir on SD card.

4. Copy the stuff from latest build on SD card (ML folder and autoexec.bin).

5. Start camera in M photo mode and run firmware update.

6. Run EOSCard, check EOS_Develop and BOOTDISK

7. Put SD card in camera just press the trashcan button to run ML

Camera-specific Development / Canon 700D / T5i
« on: June 01, 2013, 12:55:41 AM »
Nightly builds:

1) Format the card from the camera.
2) Make sure you are running Canon firmware 1.1.3.
3) Copy ML files on the card and run Firmware Update.

1) Run Firmware Update from your ML card.
2) Follow the instructions.

Original post
Succesfully dumped the 100D and 700D. They look very similar to the 650D/EOSM. I've started the 700D initial port.

(I'll provide proper credit tomorrow, I'm off to sleep now)

Forum and Website / Become a Moderator
« on: May 20, 2013, 12:38:04 PM »
Since the forum is growing larger after the RAW video stuff, I think it's about time we have a proper moderation team that keeps stuff organized.

Moderators' duties are:
- Basic topics management (split / close / move when appropriate)
- User management (issue bans / warnings and so on)

The only requirements are:
- Basic english read/write skills
- Have a bunch of helpful posts on the forum
- Have some free time to spare

When applying, state your local time zone, free hours and if you'd like to moderate a particular board.

General Development / Weird MZ bug on the 650D
« on: May 01, 2013, 05:59:14 PM »
Ok, I've been going through the MZ code and still couldn't figure this out.

While in Liveview, outside of video mode, if MZ is enabled and visible, it completely locks up the UI. The only responding button is the MZ trigger. Even the camera can't shutdown properly.
This does not happen on other cameras like the 1100D.

I'm out of ideas....any help is more than welcome. I've also turned off vsync (i.e removed the ifdef in vsync-lite) and it's all the same

General Development / ROM Map
« on: April 16, 2013, 10:26:17 PM »
Unless I got everything backwards, I'm not quite sure that the FW check we have in reboot-all.c and reboot.c is gonna work with DigicV(+) cameras.

Today I discovered that checksumming from FF010000 on the 650D leads to false positives. Two cameras had a signature that was slightly different but that could run ML without issues.  Moreover, the automatic firmware dumps seems to be completely useless (ROM0 and ROM1 contain mostly 0xFF or 0x00)

Isn't all this related to the fact that the ROM base address is different?
Code: [Select]
650D.101/Makefile:ROMBASEADDR = 0xFF0C0000
6D.113/Makefile:ROMBASEADDR = 0xFF0C0000
5D3.113/Makefile:ROMBASEADDR = 0xFF0C0000
EOSM.106/Makefile:ROMBASEADDR = 0xFF0C0000
6D.112/Makefile:ROMBASEADDR = 0xFF0C0000

General Development / Flexinfo question
« on: April 13, 2013, 11:33:47 AM »
I've been trying to clean up the photo info display by porting what's left to flexinfo, but I'm a bit stuck...

What's left is the free space indicator, but I cannot make it stick next to the battery icon (canon one) while rotating the screen. It keeps jumping to the other side of the screen like something's is wrong.

Dunno if I'm missing some kind of stub for screen rotation or if I missed some kind of const that makes all the other flexinfo stuff stick in place

General Development / OS_FUNCTION macro
« on: January 20, 2013, 11:38:08 PM »
Ok, I'll admit that this has been bothering me for a while (mainly because I'm a bit OCD).

Snippet taken from:
Code: (src/plugin.h) [Select]
// standard functions
#define OS_FUNCTION( fid, fret, fname, ... ) enum { os_##fname = fid }; fret (*fname) (__VA_ARGS__);
#define IMPORT_FUNC( v ) v = get_function( os_##v )
#define REGISTER_PLUGIN_COMMAND( fid, ffunc ) \
__attribute__((section(".plugin_commands"))) \
__attribute__((used)) \
static struct os_command _os_command_##fid##_block = { \
        .id             = fid, \
        .func           = (void*)ffunc, \
#ifdef PLUGIN_C_FILE // only include this from the plugin.c file
#define OS_FUNCTION( fid, fret, fname, ... ) extern fret fname (__VA_ARGS__); REGISTER_PLUGIN_COMMAND( fid, fname );
#define OS_FUNCTION( fid, fret, fname, ... ) extern fret fname (__VA_ARGS__);
#endif // PLUGIN_C_FILE

As far as I could understand the OS_FUNCTION macro is used for two things:

1) Static type-checking for some DryOS functions
2) Exporting them to the plugin interface (ruby) using an unique function_id

If this information is correct, why do we have OS_FUNCTION macros all over the place instaad of inside the "dryos.h" header ?

Reverse Engineering / IDA Snippets
« on: December 09, 2012, 03:03:24 PM »
Let's share some idc we find useful while reverse engineering.

I'll start with this simple IDC that finds all the un-explored STMFD and converts them to code

Code: [Select]
#include <idc.idc>

static main(void)
    auto addr = 0xFF0C0000;
    auto dis;
    while(1) {
        addr = FindUnexplored(addr,SEARCH_DOWN);
        dis = GetDisasm(addr);
        if(strstr(dis,"STMFD") == 0) {
        } else {
            MakeUnkn(addr, DOUNK_EXPAND);
        if(addr > 0xFF7EDFAC) {

Archived porting threads / Canon 650D [OLD]
« on: November 29, 2012, 12:54:43 AM »
Looks like we hit the jackpot with the M and its firmware dumper.

Thanks to your donations, Bart managed to send the "team" 650D to me to start the new port.

If everything goes according to plans (if the package gets here in time, that is), I'll probably have a 650D hello world by the end of the week

It took more than I expected, but here is the proof of concept:

Welcome to the party,  650D!

May the fun begin...I'll keep you posted :)

General Chat / What camera are you running ML on?
« on: November 02, 2012, 05:55:01 PM »
Simple title for a simple question.
 - You can place more than one preference
 - I've included cameras that aren't released yet or that have a beta/alpha ML port
 - Max 3 prefs, if you have more write them below (I'll add them manually)

General Development / ML Universal installer
« on: October 26, 2012, 03:32:47 PM »
Since the # of people that can't install install ML properly is amazing, I'd like to know if anyone is interested in collaborating with me on an universal MagicLantern installer.
This is inspired by the latest release of Pel's EOSCard utility (which sadly works on Windows only)

- Runs on Windows (7+), Linux (.deb and source code install) and OSX
- Has a consistent look & feel across the three OS
- Should be able to format and make the card bootable
- Can uninstall ML  (including making the card non-bootable)
- Can install either the latest stable version (default) or one of the nightly
- Allows the user to manually select a .zip file to install (for new ports or other stuff)

What do I need:
- a developer with a Mac PC
- (not mandatory) a developer with a good knowledge of windows (low level disk access is very important, Pel?)
- a suggestion on what programming language (I think C++ is the only choice here) and toolkit  to use (QT probably)

Reverse Engineering / Button Interrupt?
« on: October 17, 2012, 10:08:23 PM »
So, I was wondering how the hell does canon know about keypresses. If it were me, I'd use an external interrupt driven by the TX chip and then run the appropriate handlers.
Does anyone know if it works like this?

General Development / ARMConsole on AWS
« on: August 20, 2012, 02:57:55 PM »
I just realized that amazon gives away 1 free year of the starter AWS cloud service. Could that be used to run ARM console to build the HTML firmware files for myself?
The only drawback is 600Mb of RAM but I think we can probably get away with enough swap....

Should I go for it?

HDR and Dual ISO Postprocessing / [Linux] MacroFusion: Enfuse GUI
« on: August 20, 2012, 12:14:46 PM »
I know there are probably 3 people beside me using linux for their photos, but I just found this piece of software called MacroFusion that finally gives a "nice" UI to enfusion for HDR and focus stacking

General Chat / DigitalRev TV
« on: July 16, 2012, 01:28:45 PM »
(split from the 7D post)

DRTV Budget is over the roof  :o

« on: July 16, 2012, 12:53:40 PM »
Since no one seems to be able to read the rules before posting  ::)

Forum and Website / MAIL ISSUES
« on: July 12, 2012, 11:26:07 AM »
We had some mail issues yesterday. Some mails were not sent and stuck in queque. This affected notifications, PM, activation and reminders. The issue has been fixed, but it may take up to 2h before everything goes back to normal

Sorry for the inconvience

Share Your Videos / Videos section: Rules
« on: July 10, 2012, 12:57:05 PM »
1. Do not post videos containing material that some people may define as "disturbing" or "inappropriate". This includes, but it's not limited to, nudity (feel free to PM a mod if you want to make sure your Video is OK)

2. You must have copyright on the content that you post.

Infraction of the aformentioned rules may result in sanctions that range from a friendly warning up to temporary account bans.

Share Your Photos / Photos section: Rules
« on: July 10, 2012, 12:53:41 PM »
1. Do not post photos containing material that some people may define as "disturbing" or "inappropriate". This includes, but it's not limited to, nudity (feel free to PM a mod if you want to make sure your photo is OK)

2. Avoid posting photos in full-resolution. The maximum allowed image width is 900 pixels. Quick suggestion: combine url and img tags to allow users to click on the thumbnail and view the full-res photo if they desire to.

3. You must have copyright on the content that you post.

Infraction of the aformentioned rules may result in sanctions that range from a friendly warning up to temporary account bans.

Forum and Website / Magic Lantern Forum - Now with tapatalk support
« on: June 25, 2012, 11:42:35 AM »
Hi all!
Since we are lacking a proper mobile "theme" and since I happen to be a great fan of tapatalk, I've enabled it on our forum. Let me know if you stumble across any issues while using it.

Pages: [1]