interested in a 50D initial port of Magic Lantern ? - page 4 - DSLR Hack development - CHDK Forum supplierdeeply

interested in a 50D initial port of Magic Lantern ?

  • 1148 Replies
  • 241735 Views
Re: interested in a 50D initial port of Magic Lantern ?
« Reply #30 on: 14 / March / 2011, 12:58:16 »
Advertisements
Yes, he combined your stubs with the 5D 204 branch.
The main problems are:
- The ML doesn't turn on the LCD, you can see any ML message only if the LCD is already on.
- The trash (delete) button pressing doesn't make any event or property change so we cannot use for start, stop ML menu.

And now... something completely different...
I'm just curious why Canon puts the firmware update screens as a bitmap to their firmwares...

I've found this bitmap in 50D, 5D2, 7D fws.
« Last Edit: 14 / March / 2011, 15:29:28 by Pelican »

Re: interested in a 50D initial port of Magic Lantern ?
« Reply #31 on: 14 / March / 2011, 18:04:39 »
maybe it is the video ram.
found in dumps ?
what is the bitmap format ?

Indy

*

Offline a1ex

  • *****
  • 671
  • ML dev
Re: interested in a 50D initial port of Magic Lantern ?
« Reply #32 on: 14 / March / 2011, 18:20:07 »
Canon's graphics engine uses bitmap copies of what's on the screen. When some task requests a redraw, sometimes it just copies the bitmap.

I've noticed this after finding the function which triggers a redraw of Canon GUI elements (including recording dot, 16:9 bars, grids... which sometimes were erased by ML and could not be restored). If some zebra pattern is active during redraw, it will be restored at the next redraw, as if it were part of Canon GUI display :)

Re: interested in a 50D initial port of Magic Lantern ?
« Reply #33 on: 14 / March / 2011, 19:20:50 »
OFF:
No. It's in the ROM. It is 4 bit/pixel and it is not a simple screen it contains four piece of bitmaps.
The firmware update copies it to the RAM, it makes four different screens (one is empty gray, in the 7D: 0x310000, 0x340000,0x370000, 0x3a0000) from it and during the update process it shows these images. The three windows:
http://pel.hu/down/FupLoading.png
http://pel.hu/down/FupUfePctmcartbata.png
http://pel.hu/down/UfcbfPctmcartbata.png
Nowhere else this trick can be found in the firmware so I guess it has some purpose...

ON:
Any idea how can I turn the LCD on in the 50D?
« Last Edit: 14 / March / 2011, 19:42:22 by Pelican »


*

Offline a1ex

  • *****
  • 671
  • ML dev
Re: interested in a 50D initial port of Magic Lantern ?
« Reply #34 on: 14 / March / 2011, 19:52:53 »
call("TurnOnDisplay") ?

Look for strings in the RAM dump (on 550D there are over 600 functions which can be called by name).

*

chuchin

Re: interested in a 50D initial port of Magic Lantern ?
« Reply #35 on: 15 / March / 2011, 15:10:27 »
Here is the source code Pelican is using, https://bitbucket.org/Chuchin/magic-lantern-500d/downloads/50d.7z
It's basically the 5d 204 build with Indy arm's stubs a zeroed 50d firmware and an updated gui.c. The 5d-hack.c are the same for the 5d and the 50d.
« Last Edit: 15 / March / 2011, 18:53:24 by chuchin »

Re: interested in a 50D initial port of Magic Lantern ?
« Reply #36 on: 15 / March / 2011, 18:36:58 »
Thank you for sharing Chuchin!
« Last Edit: 15 / March / 2011, 18:47:59 by arm.indiana »

Re: interested in a 50D initial port of Magic Lantern ?
« Reply #37 on: 29 / March / 2011, 18:08:14 »
Hi!

I have a 50D and want to join in the fun.  I'd like to test and develop.

I have little experience with ARM though I understand the basic architecture.  I'm a reverse engineer, but primarily Windows x86.  I've got IDA Pro and I'm running mostly linux.

Can someone be friendly and point me at the steps I need to compile myself, as well as how to get it onto my 50D?

Also, is this at the stage where I can easily revert to stock firmware?  I think chdk lets you remove the magic card and power cycle - does that work here?

Thanks for helping a noob...


Re: interested in a 50D initial port of Magic Lantern ?
« Reply #38 on: 29 / March / 2011, 21:16:02 »
Download Indy's magiclantern.fir, update your camera with it (it enables boot and gives you the ROM dumps) and get chuchin's 50D source and the latest 550D source, see the ML wiki about compiling the code.
For me it took a long time until I can make an autoexec.bin on Win7 (cygwin) but I guess it's easier on linux.
Unfortunately I have no access to an 50D now so it seems you are the only developer with 50D on Earth... :haha
Good luck!

You can also use ARMu for debugging, reversing the ARM code (project file for the ROM dumps http://pel.hu/down/EOS50D107.prj).

You can find an .idc file for IDA or ARMu with the stubs-50d.107 functions here http://pel.hu/down/EOS50Dch.idc
« Last Edit: 29 / March / 2011, 21:43:03 by Pelican »

Re: interested in a 50D initial port of Magic Lantern ?
« Reply #39 on: 04 / April / 2011, 17:08:50 »
Thanks!

I've got it partly working.  ARM dev environment is fine I think - I have ARM hardware so don't need to cross-compile.  Looks like I'll have to play with Makefiles as they assume cross-compilation.

I've got magiclantern.fir on and running - brief pink text then blank screen and drive light on.  However, it's taking a long time (it's dumping the ROM I think at this stage?).  Should it take over 10 minutes?  Seems too long to me.  I've tried two different CF cards before getting scared and pulling the battery after 10 minutes :)  Camera seems fine though - not hot, battery isn't hot and camera works as before after restarting.

The magiclantern.fir I'm using has MD5 of 93e3cfacddf7024389b95e1292bc1d36.
Updated: I've also tried the fir with MD5 ac59f2a1296b2adc262abd8310302562 - same results.

Hopefully the flash updated bootable flag... could I try a pre-compiled autoexec.bin to get the ROM dump?  Is there anything else you could suggest?

Thanks once again.
« Last Edit: 04 / April / 2011, 17:28:33 by x86lt3 »

 

Related Topics