[UNMAINTAINED] Canon 5D Classic Firmware ** Beta 4 **

Started by coutts, June 14, 2012, 04:54:02 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

coutts

5dc Port Progress
Current state: Open Beta



I started this project months ago, progress has been slow. The reason is that the 5dc is a bit unique. It runs VxWorks, but has a lot of similarities to modern DryOS cameras. As a result, simply porting Magic Lantern or 400plus was not an option, I had to start fresh.
EDIT The 5dc will work on the unified tree! Big thanks to A1ex for the help in making this happen.

Short-term Todo List:
Blink LEDs from user FIR file boot.
Enable bootflag for autoexec.bin booting.
Hijack Canon's GUI task.
Port BMP routines from ML for screen printing.
Port menu system from ML.
Fix fonts to be sized correctly on screen.
Fix up properties and property handlers from ML.
Begin porting all non-lv features from ML (intervalometer, audio triggering, trap focus, etc).
. . .
? ? ?

Install Instructions (READ FIRST!!!)
*** Remember, I am not responsible for any damage to your camera. This is BETA software, and I can't predict what could happen. If you are not comfortable with this, then please do not download this firmware. ***
1.) Make sure you are running v1.1.1 firmware (if not, upgrade to it!)
2.) Double check that you are running v1.1.1 firmware.
3.) One more time make sure that you are running v1.1.1 firmware!
4.) Charge battery to 100% and remove any battery grip for the install procedure.
5.) Download the zip file from the link below, unzip all of the files to your CF card.
7.) Launch the firmware update process. If you see any red led, then something went wrong. A solid blue led means that the bootdisk is now enabled. A blinking blue led means the bootdisk is now disabled (if you want to completely uninstall ML). Each time you run the firmware update it just toggles the bootdisk to the opposite of whatever it is currently. The installer FIR will make your CF card bootable for you, no further work required here.
8.) Turn the power switch off and pull your battery to turn the camera off. Just turn the camera on (make sure autoexec.bin and ML directory are on the card!) and you're all set. Press the Trash button to bring up the ML menu.

You only need to run the firmware update to enable the bootflag ONCE. Each time after that will only disable, re-enable, disable, re-enable, etc. the bootflag.

If you have any questions, please read the ML documentation to see if it can be answered before posting here:
http://www.magiclantern.fm/documentation


Download (click here!)

[MOD: Link no longer works. Use this instead.]


Changelog / Release Notes

Beta 4 - 10/13/2012 (see also the announcement)

* All stability tests passed :)

* New stuff:
   - DOF bracketing ( http://www.magiclantern.fm/forum/index.php?topic=3113 )
   - Flash bracketing (not tested, I don't have a flash)
   - press DirectPrint to toggle MLU
   - RGB zebras and histogram
   - Display saturation (including grayscale preview - if you use UniWB, for example)
   - Exposure adjustment in playback mode (rough approximation)

* Complete feature list:
   - zebras, focus peaking, spotmeter, histogram, waveform, vectorscope (in playback mode)
   - exposure bracketing: shutter, ISO, flash; 2x0.5 ... 9x5EV; auto mode (covers the entire dynamic range).
   - DOF bracketing (changes aperture and shutter while keeping exposure constant)
   - Intervalometer
   - Mirror lockup (shortcut key, or link to self-timer)
   - Flash exposure compensation (-10...+3EV) - not tested
   - Flash / no flash (like in fuji 6500) - not tested
   - Display saturation (grayscale/normal/oversaturated)
   - Fast zoom (one click goes to 100%, like on 5D3/1Dx)
   - Quick erase (like on 5D3)
   - "Ken Rockwell" zoom (press Zoom In after you took a picture, without pressing PLAY)
   - Exposure adjustment in playback mode (very rough)
   - Timelapse playback - http://vimeo.com/48482815
   - In-camera help (press INFO)
   - Benchmark (check read/write speed of the card)
   - Display operating system internals (tasks, free memory)

Basically, this is what we can achieve on 5Dc with our current knowledge. For more, one needs to dig deeper in the firmware and reverse engineer it. The camera is about 7 years old if I'm not mistaken - but simply the fact that it runs a large subset of the same ML code designed for DIGIC 4 cameras, is amazing!

Beta 3 - 10/2/2012
Big thanks to Alex for this release! He found the missing VRAM buffers which enabled a lot of features in playback mode.

Working:
- auto bracketing, intervalometer
- zebra, focus peaking (huge help for this tiny screen!), spotmeter, histogram, waveform
- fast zoom in playback mode, quick erase (well... not quite perfect, but almost there)
- card and focus peaking benchmarks (5Dc's ARM processor is twice as slow as 5D3's)
- custom color palette for ML

Not working:
- RGB tools, bulb, trap focus, AF patterns (very hard or impossible)
- AF options, MLU (easy to fix, just takes time)


Beta 2 - 9/25/2012
- Changed boot code from how it's done in the ROM to how it's done in the firmware update flasher code. My camera boots, hope it works for all other 5dcs too.
- Updated to latest source tree, nothing changed for 5dc though.
- Now included is a FIR file that will only make your card bootable - just run the firmware update and pull your battery when you see the blue LED, your card is now bootable after that.


Beta 1 (initial release)
- Potentially very buggy. Try it out, let me know how it works. Many features are disabled because they don't work yet / will never work (obviously all LiveView features).
What Works:
- Intervalometer
- HDR Bracketing
- Flash Tweaks

coutts

Update: Tackled some more compiler/linker errors today. Slowly making progress on porting the menu system! It should be done by next week.

scrax

I don't have a 5d but this port is really interesting. Keep On coutts :)
I'm using ML2.3 for photography with:
EOS 600DML | EOS 400Dplus | EOS 5D MLbeta5- EF 100mm f/2.8 USM Macro  - EF-S 17-85mm f4-5.6 IS USM - EF 70-200mm f/4 L USM - 580EXII - OsX, PS, LR, RawTherapee, LightZone -no video experience-

wambam


Solo

I am from Russia. I follow yours. What you do is amazing.

coutts

Quote from: Solo on June 18, 2012, 10:29:50 AM
I am from Russia. I follow yours. What you do is amazing.
thanks  :)

Today the code compiled with menu.c included from magic lantern (well, a modified menu.c, but mostly everything there). That takes care of compiler / linker problems, but the menu doesn't function yet (can't make it draw anything on screen). so, next step is to sort out the drawing problems.

In ML, things are drawn to an "idle" vram buffer (a blank space in memory reserved for ML to draw to), and then copied to the real vram. I need to re-work this because the bmp vram is 720x480 in ML, and only 360x240 in the 5dc.

Maybe will have menu working by the end of this week, hopefully  8)

Solo

If it is possible to port the ML on the Canon 5dc, what features will it?

coutts

Quote from: Solo on June 18, 2012, 06:42:46 PM
If it is possible to port the ML on the Canon 5dc, what features will it?
Many non-lv features from Magic Lantern:
- intervalometer
- zebras and false color (in play mode) [just need to find yuv vram buffers]
- more in-between ISO values (maybe more than what are available)
- trap focus
- custom focus patterns
- display shutter count
- ML debug tools (memspy, propspy, eventspy). I have already ported bmp_hexdump, it has helped me tremendously so far.
? ? ?

Basically most non-lv features from ML.

Solo

Quote from: coutts on June 19, 2012, 03:27:43 AM
Many non-lv features from Magic Lantern:
- intervalometer
- zebras and false color (in play mode) [just need to find yuv vram buffers]
- more in-between ISO values (maybe more than what are available)
- trap focus
- custom focus patterns
- display shutter count
- ML debug tools (memspy, propspy, eventspy). I have already ported bmp_hexdump, it has helped me tremendously so far.
? ? ?




Basically most non-lv features from ML.
Since there is non-LV function, then shoot the video, he could not. Am I right? Thank you for your work

scrax

Quote from: Solo on June 19, 2012, 03:38:42 PM
Since there is non-LV function, then shoot the video, he could not. Am I right? Thank you for your work
Yes
I'm using ML2.3 for photography with:
EOS 600DML | EOS 400Dplus | EOS 5D MLbeta5- EF 100mm f/2.8 USM Macro  - EF-S 17-85mm f4-5.6 IS USM - EF 70-200mm f/4 L USM - 580EXII - OsX, PS, LR, RawTherapee, LightZone -no video experience-

Rikoshet

Hi coutts! Grait job!
Just a question: do you think it will possible to enable noise reduction for exposure less then 1sec? (C.Fn-02) Would be grait with high ISO
and exposures around 1/20-1/80!
Thanks!

by Riko
5d mk3, 5d mk2, 7d, 550d, gh4

coutts

Alex has merged 5dplus into the main ML repo, so it looks like the 5dc will soon be running ML :)

Solo

Quote from: coutts on June 21, 2012, 07:52:35 PM
Alex has merged 5dplus into the main ML repo, so it looks like the 5dc will soon be running ML :)
excellent!! :) :)

coutts

lots of things working thanks to alex. menu now works almost perfectly (including submenus), colors are fixed, help files work, config file is saving, lots of stuff so far! now it's just a matter of getting the features to work 1 at a time.

scrax

I'm using ML2.3 for photography with:
EOS 600DML | EOS 400Dplus | EOS 5D MLbeta5- EF 100mm f/2.8 USM Macro  - EF-S 17-85mm f4-5.6 IS USM - EF 70-200mm f/4 L USM - 580EXII - OsX, PS, LR, RawTherapee, LightZone -no video experience-

impersonalis

just want to thank you for all you've done.
keep going, please!

Solo


gio.bertelli

amazing work!

do you think one day it will be possible to get some lv features? I know the processor is probably too slow to encode video but it would be great to have a simple live-view in order to focus easily by night.

thank u very much for ur work

5dc-fan

Hi, have just registered myself here to thank you!
I hope you will create the hack and an made an absolute dream camera, the 5dc   ;)

Solo

Quote from: gio.bertelli on June 25, 2012, 06:07:00 PM
amazing work!

do you think one day it will be possible to get some lv features? I know the processor is probably too slow to encode video but it would be great to have a simple live-view in order to focus easily by night.

thank u very much for ur work
LV mode will not, as far as I know for LV is an additional matrix, and we do not have it

maphoto

hi guys, i've a 5d classic and i'll do the short movie, it's possible install magic lantern on my camera? help me please. :o ;D

Malcolm Debono

Quote from: maphoto on June 26, 2012, 11:40:32 AM
hi guys, i've a 5d classic and i'll do the short movie, it's possible install magic lantern on my camera? help me please. :o ;D

You won't be able to record video on the 5DC since it doesn't have live view mode.
Wedding & event cinematographer
C100 & 6D shooter
New here?  Check out the FAQs here!

coutts

^ correct.

The first thing I want to get working is the intervalometer, the 5dc would be pretty cool for timelapse!

coutts

Menu is opening / closing smoothly now:



EDIT I modified by adding the youtube tags

Solo

Quote from: coutts on June 26, 2012, 02:44:16 PM
^ correct.

The first thing I want to get working is the intervalometer, the 5dc would be pretty cool for timelapse!
And you can do to be able to set the exposure time more like 30 seconds. For example 2 minutes