Posted a pull request for 5D3.134 (https://bitbucket.org/hudson/magic-lantern/pull-requests/816/update-to-5d3134/diff) firmware support.
Why?
- Because Canon tells us to update our cameras to their latest firmware release.
- Once you do update Canon says you can't go back (though you can, really).
- Canon removes prior firmware revisions from their product support web pages so you need to download from unofficial sources in order to use Magic Lantern.
- There are 5D3 owners out there that might want to try ML but are unwilling to rollback the firmware installed on their cameras.
- Because it was a challenge and seemed like a worthwhile thing to do.
Ok, that last point was just to make a point--you don't need to be an experienced developer to contribute to Magic Lantern. In fact doing a minor firmware update is a good project for someone who is able to compile the ML code and is willing to put in some time searching through a ROM disassembly looking for changes. It is also a good project to learn some very basic reverse engineering.
What this version is
not:
- If you want the most stable ML experience and don't need the new firmware features, stick with 5D3.113.
- This update will not replace the 113 and 123 versions--it can live right alongside the previous versions.
With the recently added option to support more than one firmware revision per platform in the ML source code this might be a good opportunity to add experimental releases closer to the Canon firmware revision release dates. Provided of course that it passes the ML stress tests and that enough people test and approve the pull request.
To make testing easier for users to try it out, I'll be posting builds to my bitbucket repository download area (https://bitbucket.org/daniel_fort/magic-lantern/downloads) until it gets into the Experiments download page (https://builds.magiclantern.fm/experiments.html). Note that this first very early build doesn't have the ML-SETUP.FIR file yet so make sure your camera bootflag is set before doing the firmware update. To go back to 113 or 123, follow the instructions on the Firmware Update/Downdate? (http://www.magiclantern.fm/forum/index.php?topic=18941.0) tutorial.
Big thanks to:
- a1ex for his guidance and encouragement and keeping this project alive.
- chris_overseas who did the 5D3.133 port which had the last few missing pieces to get this working.
- dmilligan for his patience answering my noob questions.
- Danne and DeafEyeJedi my ML buddies.
Just as a footnote: Firmware revision 1.3.4 was released November, 2016 and the 5D300134.FIR file is timestamped September 1, 2016 while the 5D300123.FIR has a timestamp of August 30, 2013 and the 5D300113.FIR has a timestamp of May 28, 2012.
Thanks Dan for taking this leap of faith and I decided to join along...
(https://c1.staticflickr.com/1/677/32876982016_4102762189.jpg) (https://flic.kr/p/S6e8kw)
Some things I noticed that may seem out of the ordinary...
• After each camera restart upon pressing 'Trash Can' button for to get into ML menu (suddenly Canon menu pop's up intermittently for a second or two) and this is reproducible.
• Also noticed dual_iso.mo gives an Error when enabled under Modules section within ML menu.
• Seems that crop_rec.mo doesn't get along with this build because if I enable this on then all Modules gives errors (meaning I have to leave this one off in order to make use of ML) which seemed odd.
Will continue to play around with it some more...
crop_rec shouldn't be in there. I must have had a Makefile.modules.user file active when I did the build, correcting that now. I'll also check into the dual_iso. The flashing menu thing was also affecting chris_overseas 5D3.133 builds so I could use some hints on where to look for a solution for that.
Quote from: dfort on February 15, 2017, 07:39:57 PM
I'll also check into the dual_iso.
This might be a good place to start looking: https://bitbucket.org/chris_miller/magic-lantern/commits/33bd0eb41eee1bf51c0e51c14082f330e3db1679?at=unified
Thanks Chris -- I could use some help on figuring out how to find those register values. In the meantime it looks like your 1.3.3 code might just work for 1.3.4.
Frankly I completely skipped most of the modules and just followed some of the current firmware update pull requests so those might need fixing too.
Put up a new test build with the dual_iso fix and no crop_rec module--also no raw_rec module because that was recently replaced by mlv_lite.
https://bitbucket.org/daniel_fort/magic-lantern/downloads
Quote from: dfort on February 15, 2017, 08:22:12 PM
Thanks Chris -- I could use some help on figuring out how to find those register values. In the meantime it looks like your 1.3.3 code might just work for 1.3.4.
Those dual ISO addresses were obtained by looking at cmos[0] from the adtg_gui module (enabled via CONFIG_GDB=y, http://www.magiclantern.fm/forum/index.php?topic=6751.msg71720#msg71720). So eg for FRAME_CMOS_ISO_START, make sure you're in movie mode ISO 100 and check the cmos[0] value. Similarly for PHOTO_CMOS_ISO_START but make sure you're in photo mode liveview instead.
Are there any other specific addresses you're stuck on? I'm not sure I can help much as my knowledge is limited, but will do my best. I'm also not sure when I'll get a chance to switch to 1.3.4 to try your build, though by the sounds of it you're about at the point where I got stuck with 1.3.3 (flickering menus - I don't know how to solve that one unfortunately).
@chris_overseas
I got adtg_gui working in the unified branch but considering how close 123 is to 134 I'm getting a large difference in the addresses. For example, your 133 numbers look like this:
FRAME_CMOS_ISO_START = 0x40452C72; // CMOS register 0000 - for LiveView, ISO 100 (check in movie mode, not photo!)
PHOTO_CMOS_ISO_START = 0x40451120; // CMOS register 0000 - for photo mode, ISO 100
I'm getting this on 134:
FRAME_CMOS_ISO_START = 0x146C80; // CMOS register 0000 - for LiveView, ISO 100 (check in movie mode, not photo!)
PHOTO_CMOS_ISO_START = 0x146C80; // CMOS register 0000 - for photo mode, ISO 100
Then I remembered using adtg_gui from the iso_research branch. There were a few more addresses to look up for that version of adtg_gui but even though everything seemed to check out properly it kept crashing. Fun times!
In any case, those funky addresses are giving me an "ISOless PH err(2)" with the dual_iso module so I'll stick with your 133 values for now.
Borrowed a couple of EF lenses in order to check out the focus tests. Big thanks to @DeafEyeJedi !
Did some more digging in consts.c and was able to come up with a change in the FOCUS_CONFIRMATION.
Passes the lua API test from the unified branch:
===============================================================================
ML/SCRIPTS/api_test.lua - 2017-2-19 08:38:37
===============================================================================
Strict mode tests...
Strict mode tests passed.
Generic tests...
camera = table:
shutter = table:
raw = 104
apex = 6.
ms = 16
value = 0.015624
aperture = table:
raw = 48
apex = 5
value = 5.599999
min = table:
raw = 13
apex = 0.624999
value = 1.2
max = table:
raw = 72
apex = 8
value = 16
iso = table:
raw = 80
apex = 6.
value = 200
ec = table:
raw = 0
value = 0
flash_ec = table:
raw = 0
value = 0
kelvin = 6500
mode = 3
metering_mode = 3
drive_mode = 0
model = "Canon EOS 5D Mark III"
model_short = "5D3"
firmware = "1.3.4"
temperature = 147
state = 0
shoot = function: p
reboot = function: p
bulb = function: p
event = table:
pre_shoot = nil
post_shoot = nil
shoot_task = nil
seconds_clock = nil
keypress = nil
custom_picture_taking = nil
intervalometer = nil
config_save = nil
console = table:
hide = function: p
show = function: p
write = function: p
clear = function: p
lv = table:
enabled = true
paused = false
running = true
zoom = 1
info = function: p
start = function: p
pause = function: p
resume = function: p
stop = function: p
wait = function: p
lens = table:
name = "EF50mm f/1.2L USM"
focal_length = 101
focus_distance = 261120
hyperfocal = 62915
dof_near = 50655
dof_far = 1000000
af = true
af_mode = 0
focus = function: p
display = table:
idle = true
height = 480
width = 720
pixel = function: p
draw = function: p
clear = function: p
print = function: p
circle = function: p
rect = function: p
off = function: p
load = function: p
notify_box = function: p
screenshot = function: p
on = function: p
line = function: p
key = table:
last = 0
press = function: p
wait = function: p
menu = table:
visible = false
new = function: p
set = function: p
block = function: p
get = function: p
close = function: p
open = function: p
testmenu = userdata:
value = 0
name = "Script API tests"
help = "Various tests for the Lua scripting API."
help2 = "When adding new Lua APIs, tests for them should go here."
advanced = 0
depends_on = 0
edit_mode = 0
hidden = false
icon_type = 5
jhidden = false
max = 0
min = 0
selected = true
shidden = false
starred = false
submenu_height = 0
submenu_width = 0
unit = 0
works_best_in = 0
run_in_separate_task = 0
select = function: p
update = nil
info = nil
rinfo = nil
warning = nil
movie = table:
recording = false
stop = function: p
start = function: p
dryos = table:
clock = 25
ms_clock = 25085
prefix = "1Y7A"
dcim_dir = table:
exists = true
create = function: p
children = function: p
files = function: p
parent = table:
exists = true
create = function: p
children = function: p
files = function: p
parent = table:
exists = true
create = function: p
children = function: p
files = function: p
parent = nil
path = "B:/"
path = "B:/DCIM/"
path = "B:/DCIM/100EOS5D/"
config_dir = table:
exists = true
create = function: p
children = function: p
files = function: p
parent = table:
exists = true
create = function: p
children = function: p
files = function: p
parent = table:
exists = true
create = function: p
children = function: p
files = function: p
parent = nil
path = "B:/"
path = "ML/"
path = "ML/SETTINGS/"
ml_card = table:
cluster_size = 131072
drive_letter = "B"
file_number = 2489
folder_number = 100
free_space = 62705024
type = "SD"
_card_ptr = userdata
path = "B:/"
shooting_card = table:
cluster_size = 131072
drive_letter = "B"
file_number = 2489
folder_number = 100
free_space = 62705024
type = "SD"
_card_ptr = userdata
path = "B:/"
date = table:
min = 38
day = 19
wday = 1
month = 2
hour = 8
year = 2017
isdst = false
yday = 50
sec = 40
directory = function: p
remove = function: p
call = function: p
interval = table:
time = 10
count = 0
running = 0
stop = function: p
battery = table:
level = 53
id = 0
performance = 3
time = 5724
drain_rate = 33
task = table:
yield = function: p
create = function: p
property = table:
Generic tests completed.
Module tests...
Copy test: autoexec.bin -> tmp.bin
Copy test OK
Append test: tmp.txt
Append test OK
Testing exposure settings, module 'camera'...
Camera : Canon EOS 5D Mark III (5D3) 1.3.4
Lens : EF50mm f/1.2L USM
Shoot mode: 3
Shutter : Ç60 (raw 104, 0.015624s, 16ms, apex 6.)
Aperture : Å5.6 (raw 48, f/5.599999, apex 5)
Av range : Å1.2..Å16 (raw 13..72, f/1.2..f/16, apex 0.624999..8)
ISO : 200 (raw 80, 200, apex 6.)
EC : 0.0 (raw 0, 0 EV)
Flash EC : 0.0 (raw 0, 0 EV)
Setting shutter to random values...
Setting ISO to random values...
Setting aperture to random values...
Please switch to Av mode.
Setting EC to random values...
Setting Flash EC to random values...
Exposure tests completed.
Testing module 'lv'...
LiveView is running; stopping...
Starting LiveView...
Setting zoom to x1...
Setting zoom to x5...
Setting zoom to x10...
Setting zoom to x5...
Setting zoom to x1...
Setting zoom to x10...
Setting zoom to x1...
Pausing LiveView...
Resuming LiveView...
Stopping LiveView...
LiveView tests completed.
Focus distance: 261120
Focusing backward...
Focus distance: 261120
Focusing forward with step size 3, wait=true...
.......................
Focus distance: 261120
Focusing backward with step size 3, wait=true...
.......................
Focus distance: 261120
Focus range: 23 steps forward, 23 steps backward.
Focusing forward with step size 3, wait=false...
.......................
Focus distance: 261120
Focusing backward with step size 3, wait=false...
.......................
Focus distance: 261120
Focus range: 23 steps forward, 23 steps backward.
Focusing forward with step size 2, wait=true...
...
Focus distance: 261120
Focusing backward with step size 2, wait=true...
...
Focus distance: 261120
Focus range: 161 steps forward, 162 steps backward.
Focusing forward with step size 2, wait=false...
...
Focus distance: 261120
Focusing backward with step size 2, wait=false...
...
Focus distance: 261120
Focus range: 161 steps forward, 162 steps backward.
Focusing forward with step size 1, wait=true...
...
Focus distance: 261120
Focusing backward with step size 1, wait=true...
...
Focus distance: 261120
Focus range: 1237 steps forward, 1232 steps backward.
Focusing forward with step size 1, wait=false...
...
Focus distance: 261120
Focusing backward with step size 1, wait=false...
...
Focus distance: 261120
Focus range: 1237 steps forward, 1237 steps backward.
Focus test completed.
Done!
However, the "lua_fix" branch has some extended tests and it stops here.
(https://c1.staticflickr.com/3/2318/32868755851_c95c07f522_o.jpg)
Any hints on what might be causing this?
Quote from: dfort on February 08, 2017, 05:28:39 AM
one valuable lesson I learned from dmilligan is to look at the code
The error happens here:
printf("Autofocus outside LiveView...\n")
assert(lens.autofocus())
In lua_lens.c, luaCB_lens_autofocus, it simulates a half-shutter press (which probably works OK, being covered in the stubs test), then it waits for... FOCUS_CONFIRMATION!
If your lens cannot autofocus, it should not reach this code at all.
Ah, but I did look at the code and am checking against three different firmware versions. Note that the first thing I wrote was about FOCUS_CONFIRMATION. Looking at consts.h it says:
// see "focusinfo" and Wiki:Struct_Guessing
So I went to that wiki page (http://magiclantern.wikia.com/wiki/Struct_Guessing) and worked my way through it until I came up with the value for the 134 firmware. Interesting that when using the 123 values the line number reported was api_test.lua:734 and when using the newly found FOCUS_CONFIRMATION constant it changed to api_test.lua:724. It seems that on one run the camera was in LiveView and in the other it wasn't but I ran the tests multiple times, always starting in LiveView mode and these results were repeatable.
consts.h
722 if not lv.running then
723 printf("Autofocus outside LiveView...\n")
724 -> assert(lens.autofocus())
725
726 lv.start()
727 assert(lv.running)
728 end
729
730 if lens.af then
731 printf("Focus distance: %s\n", lens.focus_distance)
732
733 printf("Autofocus in LiveView...\n")
734 -> assert(lens.autofocus())
In both cases it seems to trip up in pretty much the same spot, waiting for FOCUS_CONFIRMATION. So maybe I didn't figure it out properly?
#define FOCUS_CONFIRMATION (*(int*)0x27650)
Something I did regularly back when I was having to make bug reports was to do regression tests so I installed 5D3.123 and ran the lua_fix test.
(https://c1.staticflickr.com/3/2109/32620516270_85aeb3b5f7_o.jpg)
That's not good, I got further with the 5D3.134 build. Ok, how about the gold standard -- 5D3.113:
(https://c1.staticflickr.com/3/2785/32187218463_7ee89818ff_o.jpg)
Oops, did I compile it improperly? Downloaded lua_fix from the Experiments download page (https://builds.magiclantern.fm/experiments.html) and got the same results.
So maybe when this is fixed on 5D3.113 it will also work with 5D3.134?
It works fine here. Of course, the camera must have something to focus on.
Ok--sanity check. What would Walter do? Remove battery, remove card, reset custom settings, ah! Got through that sticking point but then the camera would just shut down after about a minute. Doh! Disable Auto Power off.
Here we go:
===============================================================================
ML/SCRIPTS/api_test.lua - 2017-2-19 20:23:08
===============================================================================
Strict mode tests...
Strict mode tests passed.
Generic tests...
arg = table:
[0] = "api_test.lua"
camera = table:
shutter = table:
raw = 101
apex = 5.625
ms = 20
value = 0.020263
aperture = table:
raw = 48
apex = 5
value = 5.599999
min = table:
raw = 13
apex = 0.624999
value = 1.2
max = table:
raw = 72
apex = 8
value = 16
iso = table:
raw = 92
apex = 7.5
value = 560
ec = table:
raw = 0
value = 0
flash_ec = table:
raw = 0
value = 0
kelvin = 5200
mode = 3
metering_mode = 3
drive_mode = 0
model = "Canon EOS 5D Mark III"
model_short = "5D3"
firmware = "1.3.4"
temperature = 160
state = 0
burst = function: p
reboot = function: p
bulb = function: p
shoot = function: p
event = table:
pre_shoot = nil
post_shoot = nil
shoot_task = nil
seconds_clock = nil
keypress = nil
custom_picture_taking = nil
intervalometer = nil
config_save = nil
console = table:
clear = function: p
write = function: p
show = function: p
hide = function: p
lv = table:
enabled = true
paused = false
running = true
zoom = 1
resume = function: p
wait = function: p
info = function: p
pause = function: p
start = function: p
stop = function: p
lens = table:
name = "EF50mm f/1.2L USM"
focal_length = 101
focus_distance = 261120
hyperfocal = 62915
dof_near = 50655
dof_far = 1000000
af = true
af_mode = 0
autofocus = function: p
focus = function: p
display = table:
idle = true
height = 480
width = 720
on = function: p
screenshot = function: p
line = function: p
load = function: p
off = function: p
clear = function: p
notify_box = function: p
pixel = function: p
draw = function: p
circle = function: p
rect = function: p
print = function: p
key = table:
last = 20
wait = function: p
press = function: p
menu = table:
visible = false
close = function: p
set = function: p
new = function: p
block = function: p
get = function: p
open = function: p
movie = table:
recording = false
start = function: p
stop = function: p
dryos = table:
clock = 14
ms_clock = 14657
prefix = "1Y7A"
dcim_dir = table:
exists = true
create = function: p
children = function: p
files = function: p
parent = table:
exists = true
create = function: p
children = function: p
files = function: p
parent = table:
exists = true
create = function: p
children = function: p
files = function: p
parent = nil
path = "B:/"
path = "B:/DCIM/"
path = "B:/DCIM/100EOS5D/"
config_dir = table:
exists = true
create = function: p
children = function: p
files = function: p
parent = table:
exists = true
create = function: p
children = function: p
files = function: p
parent = table:
exists = true
create = function: p
children = function: p
files = function: p
parent = nil
path = "B:/"
path = "ML/"
path = "ML/SETTINGS/"
ml_card = table:
cluster_size = 131072
drive_letter = "B"
file_number = 2502
folder_number = 100
free_space = 62705152
type = "SD"
_card_ptr = userdata
path = "B:/"
shooting_card = table:
cluster_size = 131072
drive_letter = "B"
file_number = 2502
folder_number = 100
free_space = 62705152
type = "SD"
_card_ptr = userdata
path = "B:/"
date = table:
wday = 1
day = 19
month = 2
sec = 10
isdst = false
year = 2017
hour = 20
min = 23
yday = 50
call = function: p
directory = function: p
remove = function: p
rename = function: p
interval = table:
time = 10
count = 0
running = false
stop = function: p
battery = table:
level = 49
id = 0
performance = 3
time = nil
drain_rate = 33
task = table:
create = function: p
yield = function: p
property = table:
Generic tests completed.
Module tests...
Testing file I/O...
Copy test: autoexec.bin -> tmp.bin
Copy test OK
Append test: tmp.txt
Append test OK
Rename test: apple.txt -> banana.txt
Rename test OK
Rename test: apple.txt -> ML/banana.txt
Rename test OK
File I/O tests completed.
Testing half-shutter...
Half-shutter test OK.
Testing module 'lv'...
LiveView is running; stopping...
Starting LiveView...
Setting zoom to x1...
Setting zoom to x5...
Setting zoom to x10...
Setting zoom to x5...
Setting zoom to x1...
Setting zoom to x10...
Setting zoom to x1...
Pausing LiveView...
Resuming LiveView...
Stopping LiveView...
LiveView tests completed.
Testing lens focus functionality...
Autofocus outside LiveView...
Focus distance: 261120
Autofocus in LiveView...
Focus distance: 261120
Focusing backward...
Focus distance: 261120
Focusing forward with step size 3, wait=true...
.......................
Focus distance: 261120
Focusing backward with step size 3, wait=true...
.......................
Focus distance: 261120
Focus range: 23 steps forward, 23 steps backward.
Focusing forward with step size 3, wait=false...
...
Focus distance: 261120
Focusing backward with step size 3, wait=false...
...
Focus distance: 261120
Focus range: 106 steps forward, 108 steps backward.
Focusing forward with step size 2, wait=true...
...
Focus distance: 261120
Focusing backward with step size 2, wait=true...
...
Focus distance: 261120
Focus range: 161 steps forward, 162 steps backward.
Focusing forward with step size 2, wait=false...
...
Focus distance: 261120
Focusing backward with step size 2, wait=false...
...
Focus distance: 261120
Focus range: 482 steps forward, 485 steps backward.
Focusing forward with step size 1, wait=true...
...
Focus distance: 261120
Focusing backward with step size 1, wait=true...
...
Focus distance: 261120
Focus range: 1237 steps forward, 1235 steps backward.
Focusing forward with step size 1, wait=false...
...
Focus distance: 261120
Focusing backward with step size 1, wait=false...
...
Focus distance: 261120
Focus range: 1679 steps forward, 1681 steps backward.
Focus test completed.
Testing picture taking functions...
Snap simulation test...
Single picture...
Two burst pictures...
Ideally, the camera should be in some continuous shooting mode (not checked).
Bulb picture...
Elapsed time: 13658
Picture taking tests completed.
Testing exposure settings...
Camera : Canon EOS 5D Mark III (5D3) 1.3.4
Lens : EF50mm f/1.2L USM
Shoot mode: 3
Shutter : Ç50 (raw 101, 0.020263s, 20ms, apex 5.625)
Aperture : Å5.6 (raw 48, f/5.599999, apex 5)
Av range : Å1.2..Å16 (raw 13..72, f/1.2..f/16, apex 0.624999..8)
ISO : 560 (raw 92, 560, apex 7.5)
EC : 0.0 (raw 0, 0 EV)
Flash EC : 0.0 (raw 0, 0 EV)
Setting shutter to random values...
Setting ISO to random values...
Setting aperture to random values...
Please switch to Av mode.
Setting EC to random values...
Setting Flash EC to random values...
Exposure tests completed.
Testing movie recording...
Please switch to Movie mode.
Movie recording tests completed.
Done!
A few interesting observations. The 113 firmware gave one error while the 134 firmware seemed to pass all tests:
Setting aperture to random values...
Error: aperture delta 0.25 EV (expected < 0.1875, Å11, method=3)
I have a couple of borrowed lenses for these tests, a gorgeous 50mm f1.2 L USM and a curious looking Canon 40mm f/2.8 STM. The STM lens focused much quicker and quieter than the USM lens. Here is just the focus section for the lua API test run with the 40mm "pancake" lens:
===============================================================================
ML/SCRIPTS/api_test.lua - 2017-2-19 20:49:13
===============================================================================
...
Testing lens focus functionality...
Autofocus outside LiveView...
Focus distance: 473600
Autofocus in LiveView...
Focus distance: 473600
Focusing backward...
Focus distance: 483840
Focusing forward with step size 3, wait=true...
.........
Focus distance: 432640
Focusing backward with step size 3, wait=true...
..........
Focus distance: 483840
Focus range: 9 steps forward, 10 steps backward.
Focusing forward with step size 3, wait=false...
...
Focus distance: 432640
Focusing backward with step size 3, wait=false...
...
Focus distance: 483840
Focus range: 151 steps forward, 146 steps backward.
Focusing forward with step size 2, wait=true...
................................................................
Focus distance: 432640
Focusing backward with step size 2, wait=true...
................................................................
Focus distance: 483840
Focus range: 64 steps forward, 64 steps backward.
Focusing forward with step size 2, wait=false...
...
Focus distance: 432640
Focusing backward with step size 2, wait=false...
...
Focus distance: 483840
Focus range: 224 steps forward, 220 steps backward.
Focusing forward with step size 1, wait=true...
Focus distance: 483840
Focusing backward with step size 1, wait=true...
Focus distance: 483840
Focus range: 0 steps forward, 0 steps backward.
Focusing forward with step size 1, wait=false...
.
Focus distance: 483840
Focusing backward with step size 1, wait=false...
Focus distance: 483840
Focus range: 1 steps forward, 0 steps backward.
Focus test completed.
Testing picture taking functions...
Snap simulation test...
Single picture...
Two burst pictures...
Ideally, the camera should be in some continuous shooting mode (not checked).
Bulb picture...
Elapsed time: 13680
Picture taking tests completed.
Testing exposure settings...
Camera : Canon EOS 5D Mark III (5D3) 1.3.4
Lens : EF40mm f/2.8 STM
So the good new is that it looks like this 1.3.4 build is passing all the tests. The bad new is that there are still some wrinkles to iron out.
adtg_gui from the unified branch is reporting the wrong CMOS[0] values that are needed for dual_iso and the adtg_gui from the iso-research branch is crashing. I'm pretty sure that I got the right values for 134 to work:
else if (is_camera("5D3", "1.3.4"))
{
ADTG_WRITE_FUNC = 0xE440; // 0xFFA02514 - RAM_OFFSET
CMOS_WRITE_FUNC = 0xE7CC; // 0xFFA028A0 - RAM_OFFSET
CMOS2_WRITE_FUNC = 0xE584; // 0xFFA02658 - RAM_OFFSET
CMOS16_WRITE_FUNC = 0xE8B8; // 0xFFA0298C - RAM_OFFSET
ENGIO_WRITE_FUNC = 0xFF2910FC+8;
ENG_DRV_OUT_FUNC = 0xFF290DE4;
}
Yeah, ENGIO_WRITE_FUNC is funky but I took that from the 123 code.
There is also some Canon menu flashing when first opening the ML menu with LiveView off.
So it was a custom setting? Would be nice to find which one.
These settings are saved in ROM, so just keep a backup safe if the troublesome setting(s) can't be identified easily. If I'll manage to get Canon menu navigation working on 5D3 in QEMU (it now works on 500D), it should be easy to reproduce.
Quote from: a1ex on February 20, 2017, 08:29:00 AM
...keep a backup safe if the troublesome setting(s) can't be identified easily....
Will do. I'm also going to disassemble the new ROM1.BIN to double check some of the addresses. This camera had 1.3.3 installed when I got it and I have gone from 1.1.3 to 1.3.4 to 1.2.3, etc. without ever clearing the Canon settings so I can imagine that they might have gotten corrupted. Maybe corrupt custom setting is why Canon doesn't want users to downgrade from the 1.3.x firmware series?
How's the process going? How stable is it compared to the 1.2.3/1.1.3 and where can I get it?
(Newbie)
The only hiccup so far is a flashing menu when you first turn it on. This is something that the 1.3.3 port also had. The pull request is here:
https://bitbucket.org/hudson/magic-lantern/pull-requests/816/update-to-5d3134/diff
I also posted a test build on my bitbucket download area (201 downloads):
https://bitbucket.org/daniel_fort/magic-lantern/downloads/
If you want to regress to an earlier firmware from 1.3.4 (or 1.3.3) make sure you follow these instructions:
http://www.magiclantern.fm/forum/index.php?topic=18941.msg179783#msg179783
Hallo friends,
I read first after that the ML-SETUP.FIR is not there. Where can i get it? So i can upload it to the card??
I have now just the 1.3.4 and no magic lantern.
Please Help.
Also problem here.
Downloaded "magiclantern-Nightly.2017Apr22.5D3134.zip"
Camera Firmware 1.3.4.
But installation failed.
ML installer is expecting firmware 1.2.3.
Format card in cardreader.
Downgrade to firmware 1.2.3.
Install ML for firmware 1.2.3.
Use a second card (clean one, format in cardreader, then in cam) and install firmware 1.3.4.
Backup and delete "ML" card's Autoexec.bin, ML-SETUP.FIR and ML directory.
Copy extracted 1.3.4 build contents to "ML" card.
Does it work now?
Report back.
Quote from: nexiabass on May 08, 2017, 08:36:00 PM
ML installer is expecting firmware 1.2.3.
Oops, my fault. I uploaded a package with the 1.2.3 ML-SETUP.FIR, fixed it. Strange, 319 downloads of that build and this is the first report of the problem.
Sorry, we don't have a 1.3.4 ML-SETUP.FIR yet so you'll have to follow Walter's advice. Make sure your camera boot flag is set before updating the Canon firmware. In other words don't uninstall 1.2.3 before you update.
The advice worked.
Now i can use ML with the newest Firmware 8) Thanks!
I found only one issue for me - in the "normal" canon menus the Q button no longer works.
Is there any workaround?
Quote from: nexiabass on May 31, 2017, 04:07:25 PM
I found only one issue for me - in the "normal" canon menus the Q button no longer works.
Well that
is an issue. I've been busy on other projects and could use some help tracking that down. So if you don't load ML the Q button works as expected on the Canon menus?
The Q button works perfect if i start the camera without the card.
Otherwise ML seems to run perfectly.
Hiya all. I am buying a second hand Mkiii with 1.3.4 firmware installed. I will want to use ML on it, reason why I am reading this post. I am getting that I will need to downgrade it to 1.2.3. Where do I get the downgrade from? And I am not getting the procedure. Can anyone please explain it step by step? Get second card, so that will be after downgrading the camera to 1.2.3?? And how do I then install 1.3.4 if I downgraded the camera? Sorry for being probably a bit slow... :-(
Quote from: Walter Schulz on May 08, 2017, 08:46:43 PM
Format card in cardreader.
Downgrade to firmware 1.2.3.
Install ML for firmware 1.2.3.
Use a second card (clean one, format in cardreader, then in cam) and install firmware 1.3.4.
Backup and delete "ML" card's Autoexec.bin, ML-SETUP.FIR and ML directory.
Copy extracted 1.3.4 build contents to "ML" card.
Does it work now?
Report back.
@gianni_1967
Pelican keeps an archive of Canon firmware updates on his website:
http://pel.hu/eoscard/
Here are instructions how to do a Canon firmware downgrade:
http://www.magiclantern.fm/forum/index.php?topic=18941.msg179783#msg179783
Just a tip--for the best Magic Lantern experience on 5D3 use 1.1.3, if you need HDMI output and some other updated features use 1.2.3 if you want to live on the bleeding edge and help with development then maybe 1.3.4 is for you.
Hi there,
I might be kinda stupid :o , but where is the Download link :-X?
thank you in advance,
Regards,
Hi guys, I could use some help.
I currently have Canon's 1.1.3 firmware on my Mark iii with ML V2.3. I recently got a SmallHD monitor but I don't have the mirroring option available with my current Canon firmware. I want to upgrade it but I am unsure if that will cause any issues with ML being installed and also not sure how high I can upgrade the firmware. Some advice or things I should consider with completing an update would be great. Thanks!
-ZF
Quote from: thedada on June 15, 2017, 04:12:23 PM
...where is the Download link :-X?
magiclantern-Nightly.2017Feb19.5D3134.zip (https://bitbucket.org/daniel_fort/magic-lantern/downloads/magiclantern-Nightly.2017Feb19.5D3134.zip)
Note that this is a work in progress so it might change or disappear. Best if you can start on the first post and read through this topic first.
Quote from: zfairley on June 25, 2017, 08:19:46 PM
Hi guys, I could use some help.
...Canon's 1.1.3 firmware on my Mark iii with ML V2.3...
Wrong topic for that discussion. However, you should at least update from V2.3 because that is way out of date. The latest versions are on the downloads sections of this website (https://builds.magiclantern.fm/). I made it really easy for testers to grab the Canon firmware for the 5D3 (http://5d3%20canon%20firmware%20for%20testers.zip) and posted tutorials on how to update and downgrade your firmware (http://www.magiclantern.fm/forum/index.php?topic=18941.0). Once you are on 1.2.3, which is where you probably should be, continue the discussion on the appropriate topic (http://www.magiclantern.fm/forum/index.php?topic=11017.0).
Quote from: nexiabass on May 31, 2017, 04:07:25 PM
I found only one issue for me - in the "normal" canon menus the Q button no longer works.
Is there any workaround?
Finally got around to checking up on this and can verify the issue. I'll have to do some digging around to figure out what is going on.
Hi I recently bought another camera and my 5D3 has become my backup. I'm super keen to make ML work on it but because other people use the camera I'm hesitant to install if the Q button isn't working. Was there any update to this?
Happy to install and test stuff once it's sorted out :-)
Hi @dcpanda -- I haven't figured out the two issues with 1.3.4 which are the Q button not working and the menu flashing after boot up. I've been putting more effort on other projects because there doesn't seem to be much interest from the ML community to update to the latest Canon firmware. I'll get back to this once I get some more experience debugging.
For the best ML user experience I'd recommend downgrading your firmware to 1.1.3 or if HDMI mirroring is important to you, 1.2.3. I zipped up .FIR files and put them on my bitbucket download area - 5D3 Canon Firmware for Testers (https://bitbucket.org/daniel_fort/magic-lantern/downloads/5D3%20Canon%20Firmware%20for%20Testers.zip). You can find how to downgrade from 1.3.4 to earlier versions on this post (http://www.magiclantern.fm/forum/index.php?topic=18941.0).
That's quite sad to read.
I love ML on my 5dmk3s. And i use the newest firmware.
I use it anyways with ML - but would be totaly happy if my Q button would work the normal way.
Maybe... if you have spare time... :D :)
Hello all,
I write you because I have a very big problem with the ML installing procedure. First of all, I tell you that I have installed on my 5dmk3 the firmware 1.3.4 version.
So, i want to downgrade my firmware, but pc see the camera but eos utility not. Why it's the question, but I don't have any answer for this.
Ok, don't worry I told to me, I'll install the ML firmware 1.3.4. Here I found the problem: there's anybody who can help me with the installing procedure with this firmware? With details, please.
I really need it for my work.
There's somebody who can help me?
Thanks a lot at all.
Cristian
Quote from: dfort on August 22, 2017, 05:46:00 PM
Hi @dcpanda -- I haven't figured out the two issues with 1.3.4 which are the Q button not working and the menu flashing after boot up. I've been putting more effort on other projects because there doesn't seem to be much interest from the ML community to update to the latest Canon firmware. I'll get back to this once I get some more experience debugging.
For the best ML user experience I'd recommend downgrading your firmware to 1.1.3 or if HDMI mirroring is important to you, 1.2.3. I zipped up .FIR files and put them on my bitbucket download area - 5D3 Canon Firmware for Testers (https://bitbucket.org/daniel_fort/magic-lantern/downloads/5D3%20Canon%20Firmware%20for%20Testers.zip). You can find how to downgrade from 1.3.4 to earlier versions on this post (http://www.magiclantern.fm/forum/index.php?topic=18941.0).
Hello Dfort, I just registered in this forum, but I have been following it since its inception! There are probably many more people following you too! And we are interested in installing the ML in our 5D3 firmware 1.3.4 hope you can take some time and finish with the development of ML for this firmware. Greetings from Peru!!
There is no ML-SETUP.FIR for the 5D3.134 so unless you already had ML installed with the camera boot flag set, you won't be able to install ML onto your camera without downgrading the Canon firmware.
Quote from: CristianCostaPhotography on August 24, 2017, 12:40:32 AM
So, i want to downgrade my firmware, but pc see the camera but eos utility not. Why it's the question, but I don't have any answer for this.
Your pc can "see" the camera but EOS Utility cannot? So that means that your USB connection is working. What
might be happening is that you have an older version of EOS Utility that isn't compatible with the 1.3.4 firmware. You can get the latest version from the Canon website.
Quote from: CristianCostaPhotography on August 24, 2017, 12:40:32 AM
I really need it for my work.
Please understand that ML is more of a hobby project and that the 1.3.4 port still has some issues and not yet part of the main code base. I'd think twice before betting my job on it.
Quote from: dfort on August 22, 2017, 05:46:00 PM
I've been putting more effort on other projects because there doesn't seem to be much interest from the ML community to update to the latest Canon firmware. I'll get back to this once I get some more experience debugging.
Hi dfort,
this thread is read about 32k times, so it seems to me that there is much interest in a magiclantern-version supporting the 1.3.4 Firmware. Me included.
It would appreciate to be able to install magiclantern without downgrading...
Thanx for your effort and your fantastic work! :)
@all: please post if you want a magiclantern-version supporting the 1.3.4 Firmware!
Quote from: muezin on November 02, 2017, 10:37:09 AM
@all: please post if you want a magiclantern-version supporting the 1.3.4 Firmware!
Lets not, and instead lets (@all) re-read the FAQ (http://wiki.magiclantern.fm/faq#any_progress_on_xyz).
Although to be fair, dfort did tap the nail in and ask for people to hit it in the rest of the way. A significantly better solution would be to help him actually port it. If you can't help, that's fine, but we don't need a thousand posts saying "I wish I could help, but.....", either.
I can say with strong belief, that dfort does seem to have more experience debugging (search his recent posts).
So there's a sliver of hope that this may occur sometime this decade (where's that sarcastic emoji).
Quote from: Audionut on November 02, 2017, 02:54:12 PM
I can say with strong belief, that dfort does seem to have more experience debugging...
Not yet experienced enough to debug this one. The main sticking point on the 5D3.134 right now is that the Q button is unresponsive in the Canon menus with ML loaded. Publishing a ML-SETUP.FIR for 1.3.4 at this point would invite a lot of inexperienced users who could potentially brick their cameras.
Quote from: muezin on November 02, 2017, 10:37:09 AM
...this thread is read about 32k times, so it seems to me that there is much interest in a magiclantern-version supporting the 1.3.4 Firmware....
Just noticed that there have been 806 downloads of the Feb 19 build and 798 downloads of the April 22 build. Wow.
Ok, so I cross checked the stubs against the working versions including chris_overseas excellent 1.3.3 port and found a few stubs that needed fixing. Looks like the Q button is working fine with the Canon menus now so I posted yet another test build on my Bitbucket downloads page (https://bitbucket.org/daniel_fort/magic-lantern/downloads/).
Quote from: muezin on November 02, 2017, 10:37:09 AM
@all: please post if you want a magiclantern-version supporting the 1.3.4 Firmware!
Actually the place to post is on the pull request (https://bitbucket.org/hudson/magic-lantern/pull-requests/816/update-to-5d3134/diff). Please, just reports of whether or not it is working for you. If you aren't experiencing any bugs you can still approve the PR which is sort of like a wink or a thumbs up or like on other websites.
At this point the only issue I can see is that the ML menus will flash when first accessing them if you bring them up from outside of LiveView. Other than that it should work the same as 1.2.3 except for the fixes Canon made.
As far as getting the ML-SETUP.FIR for this, that will come once the pull request is approved by a ML developer.
QuoteLooks like the Q button is working fine with the Canon menus now so I posted yet another test
Nicely done!
Nearly 2,000 downloads and very few issues reported. The one glitch I'm still trying to work out is when opening the ML menu in photo mode (outside of LiveView) the Canon menu flashes on the screen only on the first time that the ML menu is invoked. Note that it is fine on subsequent ML menu calls.
@a1ex found yet another issue that needed fixing so I uploaded a new test build on my Bitbucket downloads page (https://bitbucket.org/hudson/magic-lantern/downloads/).
Looks like some users think that the older builds are more "stable" because the download counts kept going up on the old builds, that's not the case with new ports. I took down the earlier test builds because everyone should be using the latest build.
Once again, please report if you are using this and find any issues.
Works this firmware with MAGIC_ZOOM_FULL_SCREEN ?
Just installed the newest build. Q button still not working ???
Quote from: domasa on November 13, 2017, 05:53:01 PM
Works this firmware with MAGIC_ZOOM_FULL_SCREEN ?
This port was an update from 1.2.3 and since that version doesn't have Magic Zoom working, this one doesn't either.
Quote from: nexiabass on November 13, 2017, 06:44:15 PM
Just installed the newest build. Q button still not working ???
That's odd, it was working over here before I posted the new build. I'll try it again after work today. I have been resetting the Canon settings back to default when something like that happens. Sometimes it clears it up.
Quote from: Audionut on November 02, 2017, 02:54:12 PM
A significantly better solution would be to help him actually port it.
One very easy way to help would be to report bugs properly (https://www.chiark.greenend.org.uk/~sgtatham/bugs.html). I've noticed an obvious bug (http://www.magiclantern.fm/forum/index.php?topic=2864.msg193141#msg193141) within minutes of playing with this build in QEMU
*), it was present since the first iteration, and I bet it's not the only one. There are a few other really obvious bugs, which I'm not disclosing right now - just to check whether those 2000 users actually tried it :D
*) GUI emulation for 1.2.3 and newer firmwares was figured out a few days ago (http://www.magiclantern.fm/forum/index.php?topic=2864.msg193060#msg193060).
If you can write down what you have tested and whether the feature works or not, would be very helpful. You could pick a menu and try the features from it (ideally each setting), or imagine some workflow and try the related features - your choice. Just write down what you have tested, so others will know to pick something else.
I'll start:
I've tested the following, in QEMU:
- Canon firmware attempts to load ML from SD; if that fails, it tries to boot from CF (same as older versions, nothing changed here.)
- ML menu in photo mode outside LiveView (whether it opens or not by pressing DELETE), confirmed this issue (http://www.magiclantern.fm/forum/index.php?topic=18966.msg193146#msg193146) and suggested a fix (http://www.magiclantern.fm/forum/index.php?topic=2864.msg193161#msg193161).
- Restore after format: doesn't work (related to the above glitch).
- Loaded the file_man module and browsed the SD filesystem. Worked fine.
Hi guys. I'm just find the Magic Lantern and I didn't install it in my camera (yeat!) . I'm reading about it and I found a lot of good solutions.
But I have a question: ML has a way (or a automatic way) to make a Automatic auto-focus microadjustment?
I saw that at home page but reading the documentation and I can't find it!
How can I do that??? My camera is a Canon 5D Mark 3
Sorry about my pour english.
Quote from: a1ex on November 13, 2017, 08:37:16 PM
- ML menu in photo mode outside LiveView (whether it opens or not by pressing DELETE), confirmed this issue (http://www.magiclantern.fm/forum/index.php?topic=18966.msg193146#msg193146) and suggested a fix (http://www.magiclantern.fm/forum/index.php?topic=2864.msg193161#msg193161).
- Restore after format: doesn't work (related to the above glitch).
Fixed. Found the same problem in 1.3.3. Turned out that the DIALOG_MnCardFormatBegin constant was off. Not sure how to confirm DIALOG_MnCardFormatExecute but it seems to be working.
Double checked the Q button and it appears to be working as it should. @nexiabass could you explain exactly how to reproduce your issue?
Updated the build in my Bitbucket downloads page (https://bitbucket.org/daniel_fort/magic-lantern/downloads/). Yeah, same date but I removed the previous build because this is definitely an improvement.
Now I need to go out and actually use this to figure out what those 2,000 downloaders missed. :P
How does this look? Using an old EF 28-105mm f/3.5-4.5 USM on the first test.
===============================================================================
ML/SCRIPTS/api_test.lua - 2017-11-13 23:22:37
===============================================================================
Strict mode tests...
Strict mode tests passed.
Generic tests...
camera = table:
shutter = table:
raw = 53
apex = -0.375
ms = 1297
value = 1.296839
aperture = table:
raw = 48
apex = 5
value = 5.599999
min = table:
raw = 39
apex = 3.875
value = 3.799999
max = table:
raw = 82
apex = 9.25
value = 24.6
iso = table:
raw = 96
apex = 8
value = 800
ec = table:
raw = 0
value = 0
flash_ec = table:
raw = 0
value = 0
kelvin = 5500
mode = 3
metering_mode = 3
drive_mode = 0
model = "Canon EOS 5D Mark III"
model_short = "5D3"
firmware = "1.3.4"
temperature = 154
state = 0
reboot = function: p
shoot = function: p
bulb = function: p
event = table:
pre_shoot = nil
post_shoot = nil
shoot_task = nil
seconds_clock = nil
keypress = nil
custom_picture_taking = nil
intervalometer = nil
config_save = nil
console = table:
hide = function: p
show = function: p
write = function: p
clear = function: p
lv = table:
enabled = false
paused = false
running = false
zoom = 1
pause = function: p
info = function: p
stop = function: p
start = function: p
wait = function: p
resume = function: p
lens = table:
name = "EF28-105mm f/3.5-4.5 USM"
focal_length = 0
focus_distance = 14080
hyperfocal = 0
dof_near = 0
dof_far = 0
af = true
af_mode = 0
focus = function: p
display = table:
idle = true
height = 480
width = 720
line = function: p
rect = function: p
clear = function: p
screenshot = function: p
draw = function: p
off = function: p
notify_box = function: p
on = function: p
load = function: p
circle = function: p
print = function: p
pixel = function: p
key = table:
last = 0
press = function: p
wait = function: p
menu = table:
visible = false
open = function: p
get = function: p
new = function: p
close = function: p
block = function: p
set = function: p
testmenu = userdata:
value = 0
name = "Script API tests"
help = "Various tests for the Lua scripting API."
help2 = "When adding new Lua APIs, tests for them should go here."
advanced = 0
depends_on = 0
edit_mode = 0
hidden = false
icon_type = 5
jhidden = false
max = 0
min = 0
selected = true
shidden = false
starred = false
submenu_height = 0
submenu_width = 0
unit = 0
works_best_in = 0
run_in_separate_task = 0
select = function: p
update = nil
info = nil
rinfo = nil
warning = nil
movie = table:
recording = false
stop = function: p
start = function: p
dryos = table:
clock = 18
ms_clock = 18586
prefix = "1Y7A"
dcim_dir = table:
exists = true
create = function: p
children = function: p
files = function: p
parent = table:
exists = true
create = function: p
children = function: p
files = function: p
parent = table:
exists = true
create = function: p
children = function: p
files = function: p
parent = nil
path = "A:/"
path = "A:/DCIM/"
path = "A:/DCIM/100EOS5D/"
config_dir = table:
exists = true
create = function: p
children = function: p
files = function: p
parent = table:
exists = true
create = function: p
children = function: p
files = function: p
parent = table:
exists = true
create = function: p
children = function: p
files = function: p
parent = nil
path = "B:/"
path = "ML/"
path = "ML/SETTINGS/"
ml_card = table:
cluster_size = 131072
drive_letter = "B"
file_number = 3186
folder_number = 100
free_space = 62705536
type = "SD"
_card_ptr = userdata
path = "B:/"
shooting_card = table:
cluster_size = 32768
drive_letter = "A"
file_number = 3186
folder_number = 100
free_space = 85787744
type = "CF"
_card_ptr = userdata
path = "A:/"
date = table:
min = 22
year = 2017
hour = 23
yday = 317
sec = 39
isdst = false
day = 13
month = 11
wday = 2
remove = function: p
directory = function: p
call = function: p
interval = table:
time = 10
count = 0
running = 0
stop = function: p
battery = table:
level = 84
id = 0
performance = 3
time = 15876
drain_rate = 19
task = table:
yield = function: p
create = function: p
property = table:
Generic tests completed.
Module tests...
Copy test: autoexec.bin -> tmp.bin
Copy test OK
Append test: tmp.txt
Append test OK
Testing exposure settings, module 'camera'...
Camera : Canon EOS 5D Mark III (5D3) 1.3.4
Lens : EF28-105mm f/3.5-4.5 USM
Shoot mode: 3
Shutter : 1.3" (raw 53, 1.296839s, 1297ms, apex -0.375)
Aperture : Å5.6 (raw 48, f/5.599999, apex 5)
Av range : Å3.8..Å24 (raw 39..82, f/3.799999..f/24.6, apex 3.875..9.25)
ISO : 800 (raw 96, 800, apex 8)
EC : 0.0 (raw 0, 0 EV)
Flash EC : 0.0 (raw 0, 0 EV)
Setting shutter to random values...
Setting ISO to random values...
Setting aperture to random values...
Please switch to Av mode.
Setting EC to random values...
Setting Flash EC to random values...
Exposure tests completed.
Testing module 'lv'...
LiveView is running; stopping...
Starting LiveView...
Setting zoom to x1...
Setting zoom to x5...
Setting zoom to x10...
Setting zoom to x5...
Setting zoom to x1...
Setting zoom to x10...
Setting zoom to x1...
Pausing LiveView...
Resuming LiveView...
Stopping LiveView...
LiveView tests completed.
Focus distance: 366080
Focusing backward...
Focus distance: 366080
Focusing forward with step size 3, wait=true...
....
Focus distance: 366080
Focusing backward with step size 3, wait=true...
....
Focus distance: 366080
Focus range: 4 steps forward, 4 steps backward.
Focusing forward with step size 3, wait=false...
....
Focus distance: 366080
Focusing backward with step size 3, wait=false...
....
Focus distance: 366080
Focus range: 4 steps forward, 4 steps backward.
Focusing forward with step size 2, wait=true...
................................
Focus distance: 366080
Focusing backward with step size 2, wait=true...
.................................
Focus distance: 366080
Focus range: 32 steps forward, 33 steps backward.
Focusing forward with step size 2, wait=false...
................................
Focus distance: 366080
Focusing backward with step size 2, wait=false...
.................................
Focus distance: 366080
Focus range: 32 steps forward, 33 steps backward.
Focusing forward with step size 1, wait=true...
...
Focus distance: 366080
Focusing backward with step size 1, wait=true...
...
Focus distance: 366080
Focus range: 260 steps forward, 262 steps backward.
Focusing forward with step size 1, wait=false...
...
Focus distance: 366080
Focusing backward with step size 1, wait=false...
...
Focus distance: 366080
Focus range: 260 steps forward, 259 steps backward.
Focus test completed.
Done!
Here is just the focus test with a much newer EF 50mm f/1.8 STM.
===============================================================================
ML/SCRIPTS/api_test.lua - 2017-11-13 23:34:25
===============================================================================
...
lens = table:
name = "EF50mm f/1.8 STM"
focal_length = 0
focus_distance = 14080
hyperfocal = 0
dof_near = 0
dof_far = 0
af = true
af_mode = 0
focus = function: p
...
Focus distance: 440320
Focusing backward...
Focus distance: 440320
Focusing forward with step size 3, wait=true...
.......................
Focus distance: 394240
Focusing backward with step size 3, wait=true...
......................
Focus distance: 437760
Focus range: 23 steps forward, 22 steps backward.
Focusing forward with step size 3, wait=false...
......................
Focus distance: 394240
Focusing backward with step size 3, wait=false...
......................
Focus distance: 437760
Focus range: 22 steps forward, 22 steps backward.
Focusing forward with step size 2, wait=true...
...
Focus distance: 394240
Focusing backward with step size 2, wait=true...
...
Focus distance: 440320
Focus range: 159 steps forward, 159 steps backward.
Focusing forward with step size 2, wait=false...
...
Focus distance: 394240
Focusing backward with step size 2, wait=false...
...
Focus distance: 440320
Focus range: 159 steps forward, 159 steps backward.
Focusing forward with step size 1, wait=true...
...
Focus distance: 394240
Focusing backward with step size 1, wait=true...
...
Focus distance: 440320
Focus range: 1053 steps forward, 1053 steps backward.
Focusing forward with step size 1, wait=false...
...
Focus distance: 394240
Focusing backward with step size 1, wait=false...
...
Focus distance: 440320
Focus range: 1052 steps forward, 1052 steps backward.
Focus test completed.
Done!
Quote from: dfort on November 14, 2017, 07:45:40 AM
How does this look?
Obviously buggy :D
(the obvious part is on the UI, but the presence of the bug can be found in these logs)
Quote from: dfort on November 14, 2017, 07:10:12 AM
Not sure how to confirm DIALOG_MnCardFormatExecute
It's usually spelled Excute in Canon code. It's probably correct, as it works on QEMU and it wouldn't work any more after changing it to some incorrect value (either not restoring ML, or locking up).
Quote from: a1ex on November 14, 2017, 09:16:15 AM
It's usually spelled Excute in Canon code.
Ok--now I see it. There's a bunch of "DlgMnCardFormatExcute" all over the place.
Quote from: a1ex on November 14, 2017, 09:16:15 AM
(the obvious part is on the UI, but the presence of the bug can be found in these logs)
Obvious? Hum, how does Canon spell UI?
Just installed the newest version.
It seems to be magic.... The Q Button works as expected now!
Thank you so much :D
Still looking for trouble. Self tests are passing.
(https://farm5.staticflickr.com/4583/38399665822_7f64e9d5af_z.jpg) (https://flic.kr/p/21vfjPQ)
Going from 1.2.3 to 1.3.4 check-stubs.py flags a few stubs that affect the UI but these seem to be correct.
gui_main_struct 0x00024120 -> 0x00024120 [0x000]
dm_names 0x00024a70 -> 0x00024a70 [0x000]
task_max 0x00025024 -> 0x00025024 [0x000]
gui_task_list 0x000321c8 -> 0x000321e0 [0x018] [!!!]
cf_device_ptr 0x00036184 -> 0x0003619c [0x018] [!!!]
sd_device 0x00039960 -> 0x00039978 [0x018] [!!!]
LCD_Palette 0x00041510 -> 0x00041530 [0x020] [!!!]
bmp_vram_info 0x00042d10 -> 0x00042d30 [0x020] [!!!]
additional_version 0x00046910 -> 0x00046930 [0x020] [!!!]
camera_engine 0xc0220000 -> 0xc0220000 [0x000]
cstart 0xff0c1ca0 -> 0xff0c1ca0 [0x000] [!!!]
init_task 0xff0c5298 -> 0xff0c52a0 [0x008]
_malloc 0xff0c8178 -> 0xff0c8180 [0x008]
_free 0xff0c81d0 -> 0xff0c81d8 [0x008]
gui_main_task 0xff0de948 -> 0xff0de950 [0x008]
GUI_Control 0xff0ded1c -> 0xff0ded24 [0x008]
gui_init_end 0xff0df384 -> 0xff0df38c [0x008]
Is it one bug or several? And it is in the api_test.lua log? Feel I'm overlooking something very obvious.
Quote from: a1ex on November 14, 2017, 09:16:15 AM
...the presence of the bug can be found in these logs...
Took another look and of course it hit me in the face this time.
lens = table:
name = "EF50mm f/1.8 STM"
focal_length = 0
focus_distance = 14080
hyperfocal = 0
dof_near = 0
dof_far = 0
af = true
af_mode = 0
focus = function: p
Yeah, it shows up in the UI.
(https://farm5.staticflickr.com/4566/26715723549_4089feda78.jpg) (https://flic.kr/p/GGM4Rg)
Some of it seems to be fine but obviously some of those values are out of whack.
(https://farm5.staticflickr.com/4580/38459645022_a99b7924a3.jpg) (https://flic.kr/p/21AxJxY)
Of course I found this out right when I have to run off to an appointment.
Fixed! Maybe?
(https://farm5.staticflickr.com/4565/37607490085_19f5fa03f1.jpg) (https://flic.kr/p/Zifdzt)
(https://farm5.staticflickr.com/4562/37607489375_92d39b518d.jpg) (https://flic.kr/p/Zifdne)
New test build posted (https://bitbucket.org/daniel_fort/magic-lantern/downloads/).
[EDIT] Log looks better?
===============================================================================
ML/SCRIPTS/api_test.lua - 2017-11-17 23:17:32
===============================================================================
Strict mode tests...
Strict mode tests passed.
Generic tests...
camera = table:
shutter = table:
raw = 96
apex = 5
ms = 31
value = 0.03125
aperture = table:
raw = 48
apex = 5
value = 5.599999
min = table:
raw = 22
apex = 1.75
value = 1.8
max = table:
raw = 80
apex = 9
value = 22.6
iso = table:
raw = 96
apex = 8
value = 800
ec = table:
raw = 0
value = 0
flash_ec = table:
raw = 0
value = 0
kelvin = 5500
mode = 3
metering_mode = 3
drive_mode = 0
model = "Canon EOS 5D Mark III"
model_short = "5D3"
firmware = "1.3.4"
temperature = 152
state = 0
bulb = function: p
reboot = function: p
shoot = function: p
event = table:
pre_shoot = nil
post_shoot = nil
shoot_task = nil
seconds_clock = nil
keypress = nil
custom_picture_taking = nil
intervalometer = nil
config_save = nil
console = table:
show = function: p
hide = function: p
write = function: p
clear = function: p
lv = table:
enabled = true
paused = false
running = true
zoom = 1
pause = function: p
start = function: p
resume = function: p
info = function: p
stop = function: p
wait = function: p
lens = table:
name = "EF50mm f/1.8 STM"
focal_length = 50
focus_distance = 410
hyperfocal = 15444
dof_near = 400
dof_far = 419
af = true
af_mode = 0
focus = function: p
display = table:
idle = true
height = 480
width = 720
screenshot = function: p
pixel = function: p
off = function: p
circle = function: p
rect = function: p
notify_box = function: p
load = function: p
line = function: p
clear = function: p
on = function: p
draw = function: p
print = function: p
key = table:
last = 0
press = function: p
wait = function: p
menu = table:
visible = false
get = function: p
close = function: p
block = function: p
open = function: p
set = function: p
new = function: p
testmenu = userdata:
value = 0
name = "Script API tests"
help = "Various tests for the Lua scripting API."
help2 = "When adding new Lua APIs, tests for them should go here."
advanced = 0
depends_on = 0
edit_mode = 0
hidden = false
icon_type = 5
jhidden = false
max = 0
min = 0
selected = true
shidden = false
starred = false
submenu_height = 0
submenu_width = 0
unit = 0
works_best_in = 0
run_in_separate_task = 0
select = function: p
update = nil
info = nil
rinfo = nil
warning = nil
movie = table:
recording = false
stop = function: p
start = function: p
dryos = table:
clock = 18
ms_clock = 18204
prefix = "1Y7A"
dcim_dir = table:
exists = true
create = function: p
children = function: p
files = function: p
parent = table:
exists = true
create = function: p
children = function: p
files = function: p
parent = table:
exists = true
create = function: p
children = function: p
files = function: p
parent = nil
path = "A:/"
path = "A:/DCIM/"
path = "A:/DCIM/100EOS5D/"
config_dir = table:
exists = true
create = function: p
children = function: p
files = function: p
parent = table:
exists = true
create = function: p
children = function: p
files = function: p
parent = table:
exists = true
create = function: p
children = function: p
files = function: p
parent = nil
path = "B:/"
path = "ML/"
path = "ML/SETTINGS/"
ml_card = table:
cluster_size = 131072
drive_letter = "B"
file_number = 3188
folder_number = 100
free_space = 62705536
type = "SD"
path = "B:/"
_card_ptr = userdata
shooting_card = table:
cluster_size = 32768
drive_letter = "A"
file_number = 3188
folder_number = 100
free_space = 85757472
type = "CF"
path = "A:/"
_card_ptr = userdata
date = table:
year = 2017
wday = 6
day = 17
min = 17
yday = 321
month = 11
hour = 23
isdst = false
sec = 34
remove = function: p
directory = function: p
call = function: p
interval = table:
time = 10
count = 0
running = 0
stop = function: p
battery = table:
level = 37
id = 0
performance = 3
time = 3996
drain_rate = 33
task = table:
yield = function: p
create = function: p
property = table:
Generic tests completed.
Module tests...
Copy test: autoexec.bin -> tmp.bin
Copy test OK
Append test: tmp.txt
Append test OK
Testing exposure settings, module 'camera'...
Camera : Canon EOS 5D Mark III (5D3) 1.3.4
Lens : EF50mm f/1.8 STM
Shoot mode: 3
Shutter : Ç30 (raw 96, 0.03125s, 31ms, apex 5)
Aperture : Å5.6 (raw 48, f/5.599999, apex 5)
Av range : Å1.8..Å22 (raw 22..80, f/1.8..f/22.6, apex 1.75..9)
ISO : 800 (raw 96, 800, apex 8)
EC : 0.0 (raw 0, 0 EV)
Flash EC : 0.0 (raw 0, 0 EV)
Setting shutter to random values...
Setting ISO to random values...
Setting aperture to random values...
Please switch to Av mode.
Setting EC to random values...
Setting Flash EC to random values...
Exposure tests completed.
Testing module 'lv'...
LiveView is running; stopping...
Starting LiveView...
Setting zoom to x1...
Setting zoom to x5...
Setting zoom to x10...
Setting zoom to x5...
Setting zoom to x1...
Setting zoom to x10...
Setting zoom to x1...
Pausing LiveView...
Resuming LiveView...
Stopping LiveView...
LiveView tests completed.
Focus distance: 410
Focusing backward...
Focus distance: 8610
Focusing forward with step size 3, wait=true...
......................
Focus distance: 370
Focusing backward with step size 3, wait=true...
......................
Focus distance: 8610
Focus range: 22 steps forward, 22 steps backward.
Focusing forward with step size 3, wait=false...
......................
Focus distance: 370
Focusing backward with step size 3, wait=false...
......................
Focus distance: 8610
Focus range: 22 steps forward, 22 steps backward.
Focusing forward with step size 2, wait=true...
...
Focus distance: 370
Focusing backward with step size 2, wait=true...
...
Focus distance: 655350
Focus range: 159 steps forward, 160 steps backward.
Focusing forward with step size 2, wait=false...
...
Focus distance: 370
Focusing backward with step size 2, wait=false...
...
Focus distance: 655350
Focus range: 159 steps forward, 159 steps backward.
Focusing forward with step size 1, wait=true...
...
Focus distance: 370
Focusing backward with step size 1, wait=true...
...
Focus distance: 655350
Focus range: 1053 steps forward, 1054 steps backward.
Focusing forward with step size 1, wait=false...
...
Focus distance: 370
Focusing backward with step size 1, wait=false...
...
Focus distance: 655350
Focus range: 1054 steps forward, 1053 steps backward.
Focus test completed.
Done!
Right - this time, the focus distance figures look sane. For infinity, Canon firmware returns 65535 cm; maybe this can be adjusted in Lua somehow, but that applies to all models, not just 5D3 1.3.4.
There may be (didn't test) a similar bug in another widely used feature; it can be noticed with grep.
...a word of caution.
Remember the DoFs in the core ML are broken because of the integer math that gets used in C.
I don't think it has been corrected yet.
All ok in Lua, hence my focus bar script returns the 'correct' DoFs based on the usual assumptions, eg thin lens formula is ok to use and Canon returns a reasonable value for the focus distance.
Quote from: a1ex on November 18, 2017, 03:13:39 PM
...it can be noticed with grep.
That gave me an idea, not to debug a widely used feature but to find anything that I might have missed pertaining to this 1.3.4 firmware update.
Here's one I just found and updated:
fps-engio.c
#elif defined(CONFIG_5D3)
#define NEW_FPS_METHOD 1
#ifdef CONFIG_5D3_123
#define SENSOR_TIMING_TABLE MEM(0x32530)
#elseif CONFIG_5D3_134
#define SENSOR_TIMING_TABLE MEM(0x32548)
#else
#define SENSOR_TIMING_TABLE MEM(0x325ac)
#endif
Combed through the source tree with a fine toothed comb and came up with a few more fixes.
- io_crypt module now works. Well, I've never actually used it but the addresses do check out if anyone wants to check it out. (Module posted (https://bitbucket.org/daniel_fort/magic-lantern/downloads/))
- 5D3.134 should also have quad-buffered LV like on the 5D3.123 so I updated it in vram.c
I also found this:
qemu-helper.c
// all DIGIC V cameras require a RAM offset, take it from stubs.S
#if defined(CONFIG_650D)
#define RAM_OFFSET (0xFFA4DF58-0x1900)
#elif defined(CONFIG_5D3)
#define RAM_OFFSET 0xFF9F07C0
#elif defined(CONFIG_6D)
#define RAM_OFFSET 0xFFCC34D4
#elif defined(CONFIG_EOSM)
#define RAM_OFFSET 0xFFA68D58
#else
#define RAM_OFFSET 0
#endif
qemu-helper.c is not in the qemu branch so maybe it has been depreciated? In any case, the RAM_OFFSET in this file is only valid for the 5D3.123.
Quote from: a1ex on November 18, 2017, 03:13:39 PM
There may be (didn't test) a similar bug in another widely used feature; it can be noticed with grep.
Sort of hard to track down a bug with description like that. ???
Here's one, still photo playback with cropmarks turned on results in the cropmark overlay to flash intermittently on the screen. This happens only with still photos, reviewing movies is fine. Well, it does flicker slightly where the cropmarks overlap with the Canon overlays but that probably can't be avoided.
I suppose that the best way to test bugs like this is to see if it can be reproduced on 1.2.3. Since I have never used the overlaying cropmarks on still photo during playback feature I'll just make a note of it and keep testing until I find a show stopper before switching over to 1.2.3. As you know downgrading from 1.3.3/1.3.4 is a bit more complicated (http://www.magiclantern.fm/forum/index.php?topic=18941.msg179783#msg179783).
Of course if any of you 2,000 downloaders could give feedback it would be greatly appreciated. (I doubt there were actually 2,000 individuals who downloaded and tried this but hey, some ML users seem to want this so let's hear from you!)
@garry23 -- Are you testing 1.3.4? Some of your scripts probably require the LUA fixes. I was thinking about porting 1.3.4 to some of the experimental branches but I would like to know that if I do put in that effort somebody is actually going to try it and report back.
@dfort
Watching all your hard work and experiments, but I only use 1.2,3.
As for scripting, I've 'withdrawn' my auto focus bracketing script as it has been overtaken by my focus bar script, that runs on any lens that reports focus distance, including EOSM lenses.
I've also made the focus bar highly integrated with Canon and ML, i.e. I think the UI is 'smooth'.
The focus bar gives me everything I need to focus with ML, eg correct DoF, infinity focusing and focus stacking.
I'm now looking for my next scripting challange ;)
One thing I haven't worked out yet is how to store user presets from a script.
Hope things are going well for you?
Cheers
Garry,
Speaking of focus, 1.3.3 added this:
QuoteImproves the AF controllability when shooting in Live View mode with a wide-angle lens (fixed focal length or zoom).
Not sure if this affects your lua script but it would be great to find out.
@dfort
Now you've got me thinking ::)
@dfort
Ok can't find anything specific, but the WA 1.3.3 fix appears to be related to AF..
My focus bar is used in manual focus mode.
Cheers
Garry
Quote from: dfort on November 19, 2017, 05:53:16 PM
Of course if any of you 2,000 downloaders could give feedback
2000 downloaders just unable to install ML without ML-SETUP.FIR :D
At least me unable... I searched inet how to make card bootable, and set bootflag using gparted, but looks like this not enough.
Quote from: eugene-r on November 21, 2017, 06:27:33 PM
2000 downloaders just unable to install ML without ML-SETUP.FIR :D
At least me unable... I searched inet how to make card bootable, and set bootflag using gparted, but looks like this not enough.
You can use EOScard (Windows) or MacBoot (OS X/macOS) to make card bootable but you don't need to go there because installing ML will set the boot flag on both the card and the camera. Read the first post on how to install without ML-SETUP.FIR:
Quote from: dfort on February 15, 2017, 02:04:51 PM
To make testing easier for users to try it out, I'll be posting builds to my bitbucket repository download area (https://bitbucket.org/daniel_fort/magic-lantern/downloads) until it gets into the Experiments download page (https://builds.magiclantern.fm/experiments.html). Note that this first very early build doesn't have the ML-SETUP.FIR file yet so make sure your camera bootflag is set before doing the firmware update. To go back to 113 or 123, follow the instructions on the Firmware Update/Downdate? (http://www.magiclantern.fm/forum/index.php?topic=18941.0) tutorial.
Quote from: dfort on November 21, 2017, 08:24:56 PM
Read the first post on how to install without ML-SETUP.FIR:
Quote from: dfort on February 15, 2017, 02:04:51 PM
Note that this first very early build doesn't have the ML-SETUP.FIR file yet so make sure your camera bootflag is set before doing the firmware update. To go back to 113 or 123, follow the instructions on the Firmware Update/Downdate? (http://www.magiclantern.fm/forum/index.php?topic=18941.0) tutorial.
Is there any way to set camera bootflag without firmware downgrade?
If not, I'll need to wait when ML-SETUP.FIR will appear in builds.
Quote from: eugene-r on November 22, 2017, 09:59:36 AM
Is there any way to set camera bootflag without firmware downgrade?
No.
Quote from: eugene-r on November 22, 2017, 09:59:36 AM
If not, I'll need to wait when ML-SETUP.FIR will appear in builds.
Why is that?
Quote from: Walter Schulz on November 22, 2017, 10:13:00 AM
Why is that?
Well, finally I dare to downgrade firmware, installed ML for 1.2.3, upgraded firmware to 1.3.4 and new ML works.)
But Canon just released firmware 1.3.5 :)
Quote from: eugene-r on November 29, 2017, 07:51:40 PM
But Canon just released firmware 1.3.5 :)
Ha ha! Right you are, they released it just today!
Quote1. Fixes a phenomenon in which standard exposure may not be obtained, or an irregular exposure may result, when Silent LV (Live View) shooting with the following TS-E lenses: TS-E 50mm f/2.8L MACRO, TS-E 90mm f/2.8L MACRO, or TS-E 135mm f/4L MACRO.
TS-E lenses? Didn't know they added electronics to tilt-shift lenses. Interesting that the 1.3.4 updater is still available. Probably a minor update that can be done from the 5D3.134 branch. Anyone want to start a new topic?
Of course they have electronics: Aperture is controlled by cam. "E" in TS-E actually stands for "Electronic" (other sources are telling TS-E means "Tilt-and-Shift for EOS", though).
Heh - I was hoping they have finally fixed the LiveView underexposure bug with manual lenses (http://www.dvxuser.com/V6/showthread.php?247001-Still-photo-Live-View-LCD-drastically-underexposed-WHY) :D
Maybe they have. Canon sometimes prefers not to tell all the changes.
And the whole cam bunch is getting this update, too.
Just looked into the downgrade restriction - tried to launch firmware 1.1.3 from 1.3.4.
1601: 5698.304 [UPDC] CheckFirVersion(80000285)(129)
1607: 5698.560 [UPDC] FileName(5D300113.FIR)(.FIR)0x20
1609: 5702.912 [UPDC] Find Under Viersion ModelID(113 <= 129)
Where does that 129 come from?
Breakpoint 3, 0xff731cb4 in ?? ()
(gdb) print_current_location_with_callstack
Current stack: [1a4580-1a0580] sp=1a4448 at [CtrlSrv:ff731cb4:ff73206c]
0xFF2F2558(0, ff2f2558, 19980218, 19980218) at [CtrlSrv:de48:1a4578] (pc:sp)
0xFF453C4C(812, 2134, 0, 2134) at [CtrlSrv:ff2f2998:1a4548] (pc:sp)
0xFF453704(824408, 812, 2134, 0) at [CtrlSrv:ff453df4:1a4518] (pc:sp)
0xFF455158(8242d0 &"DIALOG", 812, 2134, 0) at [CtrlSrv:ff453764:1a4500] (pc:sp)
0xFF705E44(8242d0 &"DIALOG", 0, a, 2134) at [CtrlSrv:ff45561c:1a44c0] (pc:sp)
0xFF731F80(80000285, 81, 6bbec4, b8) at [CtrlSrv:ff706284:1a4468] (pc:sp)
0xFF731CB4(80000285, 81, 4074c988, ff732114) at [CtrlSrv:ff732068:1a4448] (pc:sp)
Looking near ff706284 (where the 129 = 0x81 appears), this is stored at 0x26A84.
Who sets this value?
[ CtrlSrv:ff18c784 ] (84:01) copyDataToStorage eventID(0x7)Data(129)size(0)
[ CtrlSrv:ff190fd4 ] (83:03) PROP_PROHIBIT_UPDATE_VESION [129]
Hardware watchpoint 4: *0x26A84
Old value = 0x0
New value = 0x81
0xff190fe0 in ?? ()
(gdb) c
Continuing.
[ CtrlSrv:ff18c784 ] (84:01) copyDataToStorage eventID(0x8)Data(9796376)size(8)
[ CtrlSrv:ff18f4d8 ] (83:03) PROP_PERMIT_UPDATE_VERSION [1.3.0]
Hm, two properties, not present in 1.1.3/1.2.3. These might be stored in the ROM - not going to change them on a physical camera without safeguards (running in QEMU first, ROM backups, maybe also this (https://bitbucket.org/hudson/magic-lantern/pull-requests/825/)).
edit: ok, upgraded to 1.3.5 - the underexposure bug is still there.
Oh--so you're on 1.3.5? Planning on trying out my 1.3.4 pull request before returning to 1.1.3?
I've gone between 1.1.3 and 1.3.4 many times always resetting the custom settings and the camera seems to be no worse off. Then again I got it second hand so whatever issues it has I'll blame it on the previous owner.
In any case I've been playing with other stuff but I'll eventually get back to searching for bugs on 1.3.4 or maybe push it to 1.3.5 just for the practice.
Downgraded to 1.3.4 and installed your build (Nov18). Camera acting like crazy after toggling FPS override on and off (from default config). Same issue after compiling from source.
Going to try the downgrade.
edit: PROP_PROHIBIT_UPDATE_VESION is not saved into ROM at shutdown - the change is temporary (in RAM). Downgraded to 1.1.3 without any trouble after changing this property to 112.
Quote from: a1ex on November 30, 2017, 01:03:44 PM
Camera acting like crazy after toggling FPS override on and off (from default config).
Reproduced here. Thanks.
Quote from: a1ex on November 30, 2017, 01:03:44 PM
edit: PROP_PROHIBIT_UPDATE_VESION is not saved into ROM at shutdown - the change is temporary (in RAM). Downgraded to 1.1.3 without any trouble after changing this property to 112.
Interesting, is there going to be a way for ML users to downgrade without having to use EOS Utility? That would be sweet!
Yes, as easy as running the upgrade from ML. Making this persistent (so one can run the 1.1.3 FIR from a fresh card, without loading ML) is probably difficult (may require ROM flashing); an item in the Debug menu (maybe "Downgrade to 1.1.3") should be fine. I've always ran the firmware updates directly from ML anyway.
Tempted to upgrade everything to 1.3.5 (maybe over the weekend) and drop 1.2.3 once the new one works reasonably well (even though most of my reverse engineering notes were on 1.2.3... oh well.)
Quote from: a1ex on November 30, 2017, 08:20:53 PM
Tempted to upgrade everything to 1.3.5 (maybe over the weekend)
I was thinking the same thing. I would have gotten 1.3.5 up to the point where I've got 1.3.4 is by now but I've been busy with other non-ML tasks. In any case, there are still bugs to squash and you know better than anyone where to find them.
Quote from: a1ex on November 30, 2017, 01:03:44 PM
Camera acting like crazy after toggling FPS override on and off
Fixed.
That was a beginner's syntax error.
src/fps-engio.c
- #elseif CONFIG_5D3_134
+ #elif CONFIG_5D3_134
Slightly off topic -- Yay!
(https://farm5.staticflickr.com/4568/23934772227_c807c35042_z.jpg) (https://flic.kr/p/Ct2XUF)
Well, almost. There's an error message and crash log showing up in QEMU and the camera doesn't like it yet.
Here's the error message:
ASSERT00.LOG
ML ASSERT:
streq(stateobj->type, "StateObject")
at ../../src/state-object.c:255 (stateobj_start_spy), task ml_init
lv:0 mode:3
ml_init stack: 1ac558 [1ac5a8-1a85a8]
0xUNKNOWN @ 6d974:1ac590
0x0006DA88 @ 9ad24:1ac588
0x0006D368 @ 6dae8:1ac558
Magic Lantern version : Nightly.2017Dec02.5D3135
Mercurial changeset : 2a59b522da79+ (update-to-5D.135-wip) tip
Built on 2017-12-03 05:07:22 UTC by rosiefort@RosieFoComputer.
Free Memory : 0K + 4009K
I started a update-to-5D.135-wip branch (https://bitbucket.org/daniel_fort/magic-lantern/branch/update-to-5D.135-wip) which is a branch of the 5D.134 pull request branch. I also made a dummy pull request (https://bitbucket.org/daniel_fort/magic-lantern/pull-requests/14/update-to-5d135-wip/diff) just to see all of the changes.
Thought I'd challenge myself and see if I could do it in a day. Things were going well until I bumped into a problem with RESTARTSTART. All of the 5D3 firmware versions were using 0x00069500 but something didn't seem right. I searched the forum and came up with this post on the ML on EOS-M2 topic (https://www.magiclantern.fm/forum/index.php?topic=15895.msg186872#msg186872) (déjà vu). Here's a comparison between the 5D3.123 and 5D3.135:
# 5D3 1.2.3
sys_mem_start 0x00146c00
sys_mem_max 1064960
user_mem_start 0x000692d0
user_mem_max 878216
# 5D3 1.3.5
sys_mem_start 0x00146c00
sys_mem_max 1064960
user_mem_start 0x0006c7f0
user_mem_max 864616
I changed RESTARTSTART to 0x0006D000 - not sure if that needs to be fiddled with some more.
In any case, this is obviously not ready for testers yet.
@a1ex, I'm hopeful you'll put together a 123 to 135 update so I'm not going to make an official pull request. Hopefully you'll find something useful in the work I have already done with it.
[EDIT] Back on topic -- I did fine a few more things that needed fixing on 134 so I updated them and uploaded a new test build.
Quote from: dfort on December 03, 2017, 06:55:06 AM
Slightly off topic -- Yay!...
...Well, almost. There's an error message and crash log showing up in QEMU and the camera doesn't like it yet.
:)
Quote from: dfort on December 03, 2017, 06:55:06 AM
@a1ex, I'm hopeful you'll put together a 123 to 135 update so I'm not going to make an official pull request. Hopefully you'll find something useful in the work I have already done with it.
+1
Just resurrecting an old topic:
Quote from: a1ex on November 30, 2017, 01:03:44 PM
PROP_PROHIBIT_UPDATE_VESION is not saved into ROM at shutdown - the change is temporary (in RAM). Downgraded to 1.1.3 without any trouble after changing this property to 112.
Canon is installing 1.3.5 on cameras that go in for repair.
Quote from: a1ex on November 30, 2017, 08:20:53 PM
Tempted to upgrade everything to 1.3.5 (maybe over the weekend) and drop 1.2.3 once the new one works reasonably well (even though most of my reverse engineering notes were on 1.2.3... oh well.)
Much of the grunt work for this is complete (https://bitbucket.org/daniel_fort/magic-lantern/pull-requests/14/update-to-5d135-wip/diff). :D
Quote from: dfort on February 28, 2018, 03:16:35 AMMuch of the grunt work for this is complete (https://bitbucket.org/daniel_fort/magic-lantern/pull-requests/14/update-to-5d135-wip/diff)
Good news.)
Hello,
has anyone tested the version of 28/02/2018 on 5d III 1.3.4?
Work it?
Thanks
I'm very new to using ML. I would like to use it on my 5D3 which is on 1.3.4 of the firmware.
If there is a version of ML which will work with 1.3.4, which is it please?
Many thanks in advance!
I've got a test build for 5D3.134 on my downloads page (https://bitbucket.org/daniel_fort/magic-lantern/downloads/) but if you are new to ML it probably won't do you any good because you need to downgrade your firmware in order to set your camera's boot flag.
I'd suggest following these instructions (https://www.magiclantern.fm/forum/index.php?topic=18941.msg179783#msg179783) and downgrade to 1.1.3 for the best experience with your 5D3.
Quote from: dfort on May 23, 2018, 05:33:48 AM
I've got a test build for 5D3.134 on my downloads page (https://bitbucket.org/daniel_fort/magic-lantern/downloads/) but if you are new to ML it probably won't do you any good because you need to downgrade your firmware in order to set your camera's boot flag.
I'd suggest following these instructions (https://www.magiclantern.fm/forum/index.php?topic=18941.msg179783#msg179783) and downgrade to 1.1.3 for the best experience with your 5D3.
Thanks for replying!
I thought I read that Canon have made it impossible to downgrade?
Sorry if questions are noob, I just don't want a bricked camera.
Quote from: JennyGW on May 23, 2018, 07:09:59 PM
I thought I read that Canon have made it impossible to downgrade?
Yes, you may have read this. And that's because most sites simply copy content and are unable/unwilling to do what decent newspapers are renowned for. (https://en.wikipedia.org/wiki/Correction_(newspaper))
Ha ha--good point Walter.
Yes, you can upgrade and downgrade as long as you do it through EOS Utility. I also found out that it is best to clear all custom settings with this particular firmware update.
Ok thank you, this is good to know....
I'm confused about why the 134 version of ML doesn't run on the 134 version to avoid needing to downgrade the firmware? (and hopefully avoid clearing all of my custom settings?)
The camera boot flag needs to be set. That's the holdup at the moment.
Now that 1.3.5 is out it makes more sense to put the effort into getting that working rather than continuing with 1.3.4. Just need to find the time to do it.
Quote from: dfort on May 24, 2018, 07:31:18 PM
The camera boot flag needs to be set. That's the holdup at the moment.
Now that 1.3.5 is out it makes more sense to put the effort into getting that working rather than continuing with 1.3.4. Just need to find the time to do it.
That would be awesome.
I realise that you do this out of the kindness of your own heard, so naturally I don't want to appear pushy, but have you got any idea on timescale for a ML 135, please? And would it require camera settings to be reset?
many thanks!
No schedule but this is an open source community project so anyone can pick it up and give it go:
https://bitbucket.org/daniel_fort/magic-lantern/src/update-to-5D.135-wip/
Quote from: dfort on May 25, 2018, 02:47:04 AM
No schedule but this is an open source community project so anyone can pick it up and give it go:
https://bitbucket.org/daniel_fort/magic-lantern/src/update-to-5D.135-wip/
I ran a test downgrading the 5D3 to firmware 1.2.3 and installing ML 1.2.3.
Unusually, the menus were not as seen on ML/5D3 demonstrations I've seen on Youtube. I expect because they were for a previous version of ML.
I was able to enable the RAW module, but the only resolution available was 1920x1080.
My conclusion is that as I am primarily a stills shooter I would want to be using the latest version of the 5D3 firmware and it would be a frustrating routine having to run this install the old firmware and ML and configure all of the setting from scratch every time I need to shoot video.
I do have a Ninja 2 with Pro Res HQ, so I think I'll stick with that until a 1.3.5 version of ML is available.
I'd be interested in your views on a comparison between ML RAW and Pro Res HQ?
Thanks for all your help :)
Quote from: JennyGW on May 26, 2018, 04:32:54 PM
...the only resolution available was 1920x1080.
Press the zoom button until you get 5x in Live View and you'll be able to increase the resolution, though it is cropping into the sensor. Eventually, the crop_rec module should be working with the latest firmware which gives you these added features:
1:1 sensor readout (square raw pixels, 3x crop, good preview in 1080p)
1:1 crop, higher vertical resolution (1920x1920 @ 24p, cropped preview)
1920x960 @ 50p, 1920x800 @ 60p (3x3 binning, cropped preview)
1920x1080 @ 45p, 1920x1040 @ 48p, 3x3 binning (50/60 FPS in Canon menu)
1:1 3K crop (3072x1920 @ 24p, square raw pixels, preview broken)
1:1 4K UHD crop (3840x1600 @ 24p, square raw pixels, preview broken)
1:1 4K crop (4096x3072 @ 12.5 fps, half frame rate, preview broken)
1:1 readout in x5 zoom mode (centered raw, high res, cropped preview)
Full resolution LiveView (5796x3870 @ 7.4 fps, 5784x3864, preview broken)
1x3 binning: read all lines, bin every 3 columns (extreme anamorphic)
3x1 binning: bin every 3 lines, read all columns (extreme anamorphic)
Quote from: JennyGW on May 26, 2018, 04:32:54 PM
My conclusion is that as I am primarily a stills shooter I would want to be using the latest version of the 5D3 firmware...
While I'm all for getting ML working on the latest Canon firmware with all of the supported cameras, you need to decide if the jump from 1.2.3 to 1.3.5 is really worth giving all the added features that ML gives you (https://magiclantern.fm/features.html). There's a lot that applies to still photography like ETTR, Dual ISO and check out the lua scripts that garry23, a landscape photographer, has written (http://photography.grayheron.net/).
QuoteChanges in the Firmware
Firmware Version 1.3.5 incorporates the following fix:
1. Fixes a phenomenon in which standard exposure may not be obtained, or an irregular exposure may result, when Silent LV (Live View) shooting with the following TS-E lenses: TS-E 50mm f/2.8L MACRO, TS-E 90mm f/2.8L MACRO, or TS-E 135mm f/4L MACRO.
Changes in Version 1.3.4:
1. Corrects a phenomenon in which when using the camera with the EF 70-300mm f/4-5.6 IS II USM lens, even if lens aberration correction is set to "Enable", correction will not be applied.
Changes in Version 1.3.3:
1. Improves the AF controllability when shooting in Live View mode with a wide-angle lens (fixed focal length or zoom).
2. Corrects some incorrect indications on the "English" and "Russian" menu screens.
Quote from: JennyGW on May 26, 2018, 04:32:54 PM
I'd be interested in your views on a comparison between ML RAW and Pro Res HQ?
If you are primarily a still photographer then you're probably familiar with the difference between shooting JPEG and RAW. That's pretty much it. Sure, you can get a great looking ProRes HQ file with the Ninja 2 but the HDMI out from the 5D3 is 8-bit and even if you use a flat or log picture style you won't have the flexibility of a raw file when you get to color grading.
For still photos, I'd actually recommend 1.1.3 (unless you use one of the lenses affected by fixes in newer updates). Firmware 1.2.3 and later comes with dual monitor support, but breaks a few ML features (some of them essential for stills in my opinion). For details on what features are missing in 1.2.3, refer to Download page -> 5D Mark III 1.1.3/1.2.3 -> Installation.
My twopenth, as a stills photographer, is follow @a1ex's advice, unless, you need the F/8 focus ability, as I do with my x2 extender on my 70-200 F/4L.
The 1.2.3 works with all my Lua scripts :)
for an upcoming project I need to record some footage to a monitor
Which means I have to install 1.2.3. ??(from 1.1.3.)
clean HDMI out
dual monitor support (internal+external)
AF at f/8 with teleconverters
Quote from: nikki on May 27, 2018, 08:03:45 PM
for an upcoming project I need to record some footage to a monitor
Which means I have to install 1.2.3. ??(from 1.1.3.)
clean HDMI out
dual monitor support (internal+external)
AF at f/8 with teleconverters
the 5d3 does clean out 4:2:2 8 bit hdmi as standard without ML.
dual monitor support is fine, too.
I have no experience with a teleconverter
What I like about ML for the 5D3 is the 3.5K 10 bit mode which allows continuous shooting (the only time limit is the card space). As it's RAW the dynamic range can be improved, and, as dfort says, it is a lot better to work with in post.
My dream would be 10 bit hdmi output to my Nimja 2 for it's 10 but Prores HQ (Prores RAW one say soon, maybe). Recording to an external hard drive for me makes 3.5K+ a lot more usable. It also would get rid of the MLV conversion hassle in the workflow.
Prores RAW looks very interesting indeed. If it turns Canon are delaying their 4K DSLR offerings because Prores RAW is just around the corner I will be extremely happy.
dfort, great reply, thank you for all the information, much appreciated.
I just can't have the worry of what not being on the latest Canon firmware could do, so I'll hang fire for ML 135.
Would it be possible for ML to enable 4:2:2 10 bit hdmi out, do you think? That would be so awesome.
Hello !
i bought a used canon 5d MK3 but it has the 1.3.5 firmware , what can i do so i can use the ML ?
My knowledge to computer are basic , so if there is someone who can help me with a simple way , i would be very appreciated
Thanks in advance
http://bfy.tw/JL9q
i did the answer on the ML forum because here is the "fountain" for this information , i don't want to waste time generally in the internet from people who sometimes don't really understand this particular case ... from firmware 1.3.3 and over it's not the easiest way to downgrade , and specially for the last firmware i own 1.3.5 there are very few and general information for downgrading .... and because i am afraid that i might do something wrong i ask the most experienced "players" for this job .
please check this link https://www.magiclantern.fm/forum/index.php?topic=18941.msg179807#msg179807 (https://www.magiclantern.fm/forum/index.php?topic=18941.msg179807#msg179807).
@dfort made a very good documentation about upgrading and downgrading (Original post: Firmware update/downdate?) specifically for 5DMKIII 1.3.3 and newer releases. (I guess it works for all EOS models).
I do have a test build for the 5D3.134 on my downloads page (https://bitbucket.org/daniel_fort/magic-lantern/downloads/) but it is highly experimental and doesn't have a .FIR file. This means that in order to set the camera bootflag you need to downgrade to an ML supported firmware (1.1.3 or 1.2.3) and to set the card bootflag you'll have to do it on your computer using software like MacBoot (http://www.zenoshrdlu.com/macboot/macboot.html) or EOSCard (https://pel.hu/eoscard/). I tried doing a 1.3.5 ML port but ran into problems. Maybe someday I'll revisit this but for now my preferred ML setup with the 5D3 is using the 1.1.3 firmware and the crop_rec_4k branch.
Hallo,
is there any new news if magic lantern functions with 1.3.4 or 1.3.5?
I managed to make it work some time ago. But the card is gone and I do not have a card that is "bootflag" and I do not know how to do that either.
So I'm considering whether I go to firmware 1.2.3 and magic lantern run let.
Is there any pros or cons?
Quote from: ruc on November 07, 2018, 10:29:28 AM
is there any new news if magic lantern functions with 1.3.4 or 1.3.5?
Reply #105 (https://www.magiclantern.fm/forum/index.php?topic=18966.msg205035#msg205035) just above your post still applies. The 1.3.4 pull request (https://bitbucket.org/hudson/magic-lantern/pull-requests/816/update-to-5d3134/diff) is still open and a test build is still available from my downloads page (https://bitbucket.org/daniel_fort/magic-lantern/downloads/).
Firmware 1.3.6 released.
Quote
Firmware Version 1.3.6 incorporates the following fix:
1. Corrects a PTP communications vulnerability.
2. Corrects a vulnerability related to firmware update.
Firmware Version 1.3.6 is for cameras with firmware Version 1.3.5. If the camera's firmware is already Version 1.3.6, it is not necessary to update the firmware.
When updating the firmware of the camera, please review the instructions thoroughly before you download the firmware.
Notes:
- Once the EOS 5D Mark III camera is updated to Version 1.3.3 (or later), it cannot be restored to a previous firmware Version (Version 1.0.7 through 1.2.3).
"is for cameras with firmware Version 1.3.5."
? I'm convinced "or earlier" is just missing. They don't really suggest to use a staged update for cams with older firmware ... I hope.
And as always with 5D Mark III after 1.3.x: Can someone test if downgrading from 1.3.6 via Canon Utility is still working?
I never thougt they would ever work on these old cameras again.
There was a time when Canon added features with Firmware updates,
now we have to hope they didn't "close the door" with this one.
Hello !
How can i to updater canon 5d MK3 v1.3.3 use ML ? I havn`t found the 1.3.3 firmware , what can i do so i can use the ML ?
There are ML builds for 1.1.3, 1.2.3 and 1.3.4.
You can install any of these firmware versions by using EOS Utility (for downgrade/rollback) or just in cam (for update). See https://builds.magiclantern.fm/
If you install 1.3.6 you are stuck because there is no option available to downgrade/rollback but CPS. And not all of them are willing to do that.
1.3.6? i didnt know this one. I am still at 1.3.5 and was wondering if I can install 1.3.4 on a sd card and use it from there whilst keeping 1.3.5 OR do I have to downgrade?
So I don't see where to get anything after 5D3123. Where can I get the later versions that work with newer Canon FW updates?
Thanks.
https://web.archive.org/web/20200622002229/https://bitbucket.org/daniel_fort/magic-lantern/downloads/magiclantern-Nightly.2018Jul04.5D3134.zip
But why? Danne's builds offer more and are actually maintained.