Experiment: a single autoexec.bin running on many cameras

123 views
Skip to first unread message

Alex

unread,
Jul 31, 2011, 6:43:56 AM7/31/11
to Magic Lantern firmware development
Here's an experiment which should simplify things a bit:

It lets you use the same card (with the same autoexec.bin) on more
cameras (ie. you can swap cards if you have two different cameras,
both with ML).

At the same time, it will simplify the install process (i.e. which
version should I download?) and the release process (only one zip to
be uploaded).

I've tested it on 550D/1.0.9 and 60D/1.1.0. It should also work on
600D/1.0.1. Other cameras may be included, even if they are not in the
unified branch yet, so if there is any interest in having a single
binary for all cameras, please let me know.

Technical (how it works):

In reboot.c (which is pretty much the same on all cameras), the old
autoexec.bin was copying magiclantern.bin at RESTARTSTART and then
jumping to it. RESTARTSTART is camera specific.

So, I've created a new reboot-all.c which includes magiclantern.bin
for all supported cameras, detects firmware version by computing a
checksum and comparing it with known values, and copies the right
magiclantern.bin at the right RESTARTSTART. If the firmware version is
not recognized, it shouldn't boot (it tries to blink a LED, but fails,
not sure why).

https://bitbucket.org/hudson/magic-lantern/changeset/d9d25ded2d01

The old method is still available (if you compile ML as before, you
won't notice any change).

What should be tested:
- does it run on 600D?
- does it fail to load on other cameras or on wrong firmware versions?
- does it have any side effects? (like slower boot, or memory issues)

In theory, the only side effect should be a bigger autoexec.bin, which
may result in slower boot (but even on my class2 card, I did not
notice any slowdown).

autoexec.bin

scrax

unread,
Jul 31, 2011, 8:07:39 AM7/31/11
to ml-d...@googlegroups.com
Hi Alex, I'm testing it right now. On my 600D it starts and works good but as in the 18.7.11 rev you have in the dropbox folder the bottom menu never shows up. 
On this rev I've set in tweak only 10x and :-) for the liveView Zoom but I have 5x and 10x and I see "imposible to  zoom in live view mode" if face detection focus is active (or something similar i see it in italian) but after that message if I click * and then the zoom in button 5x and 10x can be used in this focus mode too.

Also on 600D slit pic don't work and Always live view is disabled i think becasue we had problems with that at the beginning of the porting, I think that for now is better to remove them or they are confusing.

Malcolm Debono

unread,
Jul 31, 2011, 8:22:53 AM7/31/11
to ml-d...@googlegroups.com
Tested this build on the 60D 1.1.0 (first upgraded using your procedure on the other topic) and it works. Haven't experienced any problems or performance issues yet, although I didn't test it in depth (just changed a couple of stuff and tried some recordings).

One thing I did notice though was that the screen drawing seems to have improved over the latest build on 1.0.9. Where there any changes in this regard?

Alex

unread,
Jul 31, 2011, 8:35:42 AM7/31/11
to ml-d...@googlegroups.com
Yes, there were some changes and bugfixes since then, but I didn't
test them very well.

The issues reported by Scrax are also present in the small
autoexec.bin, so neither of them is a side effect of including ML for
all cameras in a single binary.

> --
> http://magiclantern.wikia.com/
>
> To post to this group, send email to ml-d...@googlegroups.com
> To unsubscribe from this group, send email to
> ml-devel+u...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/ml-devel?hl=en

Chris71

unread,
Jul 31, 2011, 8:48:06 AM7/31/11
to Magic Lantern firmware development
I also installed it and tried it a bit.

There are still those issues that I reported two days ago (bottom bar
is not displayed; battery indicator (BAT=...) overwrites LCD Remote
Shot symbol; free space remaining in top bar is not correct) but
besides that, it runs as nicely as the single camera version.

Startup is also as fast as with the single camera version and I'm
experiencing just about the same number of black (sensor cleaning)
startup screens as before.

So thumps up from me!

arm.indy

unread,
Jul 31, 2011, 9:23:45 AM7/31/11
to Magic Lantern firmware development
great idea Alex !
yes, it does work on a 600d 1.0.1, I just tested.

Indy
>  autoexec.bin
> 659KAfficherTélécharger

Alex

unread,
Jul 31, 2011, 9:31:27 AM7/31/11
to ml-d...@googlegroups.com
Chris71: does LCD remote shot work for you in LiveView?

For me, it hangs on 550D, but works well on 60D.

Vincent Olivier

unread,
Jul 31, 2011, 10:09:29 AM7/31/11
to ml-d...@googlegroups.com, Magic Lantern firmware development
Wow! Such a good idea! I'm trying it ASAP.


Vincent

Chris71

unread,
Jul 31, 2011, 10:11:07 AM7/31/11
to Magic Lantern firmware development
It hangs on my 550D too, I had to take out the battery.

I guess that it has to do with the battery indicator overwriting the
LCD Remote Shot symbol.

In the mail you sent me three days ago, you wrote "60D: ... battery
indicator in percentage, on the top bar". So I assume that the 60D
displays the battery indicator in a different way to the 550D
(percentage vs. steps 1...3) which might lead to this problem.

Could you move the battery indicator to a different position on the
screen or disable it temporarily to see if LCD remote shot works then?
It doesn't look good anyway when it overwrites the LCD Remote Shot
symbol. :-)

Is the fix for the bottom bar not included in the single autoexec.bin
yet? Maybe this could also help with the LCD Remote Shot problem,
because it affects the display somehow? I'm just guessing... :-)

Is the problem of the bottom bar not being displayed still not f

Aquillum

unread,
Jul 31, 2011, 10:19:45 AM7/31/11
to Magic Lantern firmware development
Quick test 550D

LCD Near
1st shoot hangs, after about 5sec AF runs and Shoot taken - after that
all other LCD Remote Shoot works
Switched to Far
Works
Switched to wave
Works

Near / Far not much difference in distance to Sensor, both about 10cm,
should FAR be more far away ?

Greets Harry

On 31 Jul., 15:31, Alex <broscutama...@gmail.com> wrote:

Aquillum

unread,
Jul 31, 2011, 10:23:29 AM7/31/11
to Magic Lantern firmware development


On 31 Jul., 16:11, Chris71 <niedeg...@gmx.net> wrote:
> It hangs on my 550D too, I had to take out the battery.
>
>

For me 1st try hangs too but no need to take out battery --> got
stabilized by itself after about 5sec

Alex

unread,
Jul 31, 2011, 10:43:31 AM7/31/11
to ml-d...@googlegroups.com
The crash was caused by the battery indicator (PD_GetBatteryPower is
not quite safe to call).

This version shows some debug info. Please tell me:

1) if the bottom bar is still missing: the numbers from "bottom bar debug"

2) if the free space is incorrect, tell me the raw free space and
cluster size, and also the correct free space

3) if there are more crashes or redraw issues with the LCD remote icon
(my battery is empty on 550D right now, so this binary was tested only
on 60D).

autoexec.bin

Aquillum

unread,
Jul 31, 2011, 11:28:04 AM7/31/11
to Magic Lantern firmware development
1 ff125f7c 34

LCD rem Shoot works right after startup
to reactivate Zebras after Remote Shoot need to press half-shutter ab
2-3 sec (by design ?)

THX Alex
>  autoexec.bin
> 659KAnzeigenHerunterladen

unity2k

unread,
Jul 31, 2011, 11:43:02 AM7/31/11
to Magic Lantern firmware development
From my T2i

Bottom Bar: 1 ff125f7c 0 - after 3 to 5 seconds, the zero increments
to 34 (same code as Aquillum

Free space: 460127
Cluster: 32768

Top Bar displays: 2GB

Taking the memory card out, Explorer shows: .97GB used / 14GB free (or
15,077,441,536 bytes)
>  autoexec.bin
> 659KViewDownload

Alex

unread,
Jul 31, 2011, 11:49:18 AM7/31/11
to ml-d...@googlegroups.com
Just found the bottom bar bug. It was a compiling problem, lens.c was
built once for the 60D (which was compiled first), and never rebuilt
for 550D and 600D.

Since here is the code which shows the bottom bar, and it uses some
camera-specific constants, it only worked on 60D. Whenever I was
building only the 550D ML, after changing lens.c (i.e. after adding
debug info), it was also working.

autoexec.bin

Alex

unread,
Jul 31, 2011, 11:52:40 AM7/31/11
to ml-d...@googlegroups.com
Sorry, wrong autoexec.bin.

Don't try the previous one, it doesn't even boot.

autoexec.bin

unity2k

unread,
Jul 31, 2011, 11:57:32 AM7/31/11
to Magic Lantern firmware development
Memory reading is now absolutely correct too. Knowing what is in this
build and how quick it is - beautiful!
>  autoexec.bin
> 659KViewDownload

Alex

unread,
Jul 31, 2011, 12:00:01 PM7/31/11
to ml-d...@googlegroups.com
Great! So probably tomorrow we'll call it a new release :)

Chris71

unread,
Jul 31, 2011, 2:35:07 PM7/31/11
to Magic Lantern firmware development
Seems I was a bit late trying the debug version. :-)

Anyway, with the last version you posted
- the bottom bar is now working
- LCD remote shot is working and
- the free space is displayed correctly.

Only the battery level isn't displayed in the top bar anymore, but
that's OK for me.

Thanks, Alex!

Redkite Bart

unread,
Aug 2, 2011, 2:01:38 PM8/2/11
to Magic Lantern firmware development
This version is stable on both 550d and 600d.
Today I bought a 600d. I have already a 550d with this bin on it. For
the 600d I use the sdcard from the 550d and just added the fir from
600d. Flash and I was straight in business. Very smooth. Love the
cropzoom with amazing reach with my 400mm lens and still keeping
pretty decent footage quality.
I start with normal zoom, the 9 block grids centre block has about the
size of the cropzoom so I can frame according. Focus with magic zoom
and hit the disp+zoom for 3.3 cropzoom.
Tested hdr timelapse, zebra's, peeking, magic zoom, iso, wb, energy
saving modes. All work okay. The rest I don't need yet.

Had a couple of hangs when pressing too much buttons too fast and some
recording stops. I'll try this bin on a fresh formatted sdcard.
Thanks a lot

pip

unread,
Aug 2, 2011, 3:13:51 PM8/2/11
to Magic Lantern firmware development
Been testing this version yesterday, only had one prob so far, when
reviewing my photos in Lightroom 2 out of the 20 shot i did had
corruption in the right hand bottom corner about a third of the way
into the frame square, just a mess of colours, would love the crop
zoom feature for the 550d, how it going with that Alex does it seem
possible ?

Alex

unread,
Aug 2, 2011, 3:22:16 PM8/2/11
to ml-d...@googlegroups.com
Can you reproduce the problem on july 8 build, for example? Or without
ML? Can you send me an example? Are you sure it's not a card issue?

pip

unread,
Aug 2, 2011, 4:42:27 PM8/2/11
to Magic Lantern firmware development
Was just about to post some pics when I thought I better check the
orginal card pics, they are fine,seems it is Lightroom corrupting them
Alex... panic over ! sorry sbout that...

Alex

unread,
Aug 2, 2011, 4:48:38 PM8/2/11
to ml-d...@googlegroups.com
Hehehe... that's why I use ufraw :)

max

unread,
Aug 4, 2011, 12:42:43 AM8/4/11
to Magic Lantern firmware development
Hi Alex,I notice you sad: even if they are not in the
unified branch yet.Will it work for my 50D ?

if I'm right,the code below

asm(
153 ".text\n"
154 ".align 12\n" // 2^12 == 4096 bytes
155
156 ".globl blob_start_550\n"
157 "blob_start_550:\n"
158 ".incbin \"../550D.109/magiclantern.bin\"\n" //
159 ".align 12\n"
160 "blob_end_550:\n"
161 ".globl blob_end_550\n"
162
163 ".globl blob_start_60\n"
164 "blob_start_60:\n"
165 ".incbin \"../60D.110/magiclantern.bin\"\n" //
166 ".align 12\n"
167 "blob_end_60:"
168 ".globl blob_end_60\n"
169
170 ".globl blob_start_600\n"
171 "blob_start_600:\n"
172 ".incbin \"../600D.101/magiclantern.bin\"\n" //
173 ".align 12\n"
174 "blob_end_600:"
175 ".globl blob_end_600\n"
176);

just sad the camra will run the code of magiclantern.bin
but there is no magiclantern.bin for 50D yet.

If you have one autoexec.bin you think will work for 50D,
I love to test on my 50D
>  autoexec.bin
> 659KViewDownload

Alex

unread,
Aug 4, 2011, 4:50:42 AM8/4/11
to ml-d...@googlegroups.com
Hi Max,

When I said that, I meant that I can include any autoexec.bin here
(for now, available autoexec.bins are for 500D and 5D2). Including the
5D2 autoexec doesn't make much sense, since it uses different cards
(CF, not SD), so you can't swap cards between a 5D2 and a 550D.

For 5D2, there's no autoexec.bin available right now. I have Pelican's
code on my dropbox, in the 50D thread, but I don't know what works and
what not (and I want to review the code myself before making an
autoexec.bin public).

max

unread,
Aug 4, 2011, 9:08:45 PM8/4/11
to Magic Lantern firmware development
Thank you for you reply and all your hard work
Reply all
Reply to author
Forward
0 new messages