--
http://magiclantern.wikia.com/
To post to this group, send email to ml-d...@googlegroups.com
To unsubscribe from this group, send email to ml-devel+u...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/ml-devel?hl=en
not much imho,
SztupY
http://www.usa.canon.com/cusa/consumer/products/cameras/slr_cameras/eos_60d#
DriversAndSoftware
FF37B298 zlib_deflateEnd_maybe
FF37B514 zlib_deflateInit2__maybe
FF37B764 zlib_deflateInit__maybe
FF37BA60 zlib_deflate_maybe
FF1BF538 zlib_inflate
FF1BD810 zlib_inflateEnd
FF1BD800 zlib_inflateInit_
FF1BD714 zlib_inflateInit2_
FF1BF41C zlib_inflate_x
FF2D817C zlib_uncompress_maybe
FF05B234 zlib_uncompress_maybe2
Here are the last two functions decompiled, hopefully it's easier to
understand what they do and how to call zlib_inflate:
http://codepad.org/cCmumbLn
I wasn't able to find those:
zlib_deflate_fast ROM FF3F9B20 00000258 R . . . . . .
zlib_deflate_slow ROM FF3F9D78 00000008 R . . . . . .
zlib_deflate_stored ROM FF3F98A8 00000134 R . . . . . .
zlib_fill_window ROM FF3F9758 00000150 R . . . . . .
Also, zlib_deflate_slow is only a "return 0".
deflate_fast/slow/stored were function pointers, they might actually be
different therefore, and deflate_slow is only a return in 60D too.
according to the decompilation (btw what are using to decompile arm?)
uncompress_maybe1 is mostly the same as uncompress.c (zlib uses a lot of
defines, to hide some ugliness for inflate/deflate(Init))
SztupY
http://magiclantern.wikia.com/wiki/GPL_Tools/ARM_console/API#deco
In latest version, you have to call the decompiler like this:
dec some_function_name
or:
dec FF123456
KB. The AJ 5.x only works on the 5D mark 2.
AJ.
--
How I upgraded:
1) Formatted card from the camera, copied Canon FIR, upgraded.
2) Copied autoexec.bin, made card bootable; ML didn't boot (just like
if a non-ML card was inserted). Double-checked boot flags on the card,
re-ran make_bootable.sh, still nothing.
3) First guess: maybe the firmware upgrade disabled the bootflag.
Upgraded the installer to 1.1.0, ran it, set bootflag, installer
displayed OK. Autoboot still not working.
4) Formatted card from the camera a second time, made it bootable,
copied autoexec.bin and it worked.
Upgrading from 1.0.8 to 1.0.9 did not clear the bootflag, so probably
upgrading to 1.1.0 did not either.
WARNING: double-check your firmware version before running! Running
1.1.0 fir on 1.0.9 can be VERY DANGEROUS!
(actually, I think instead of init_task it will go to init_task_error
-> DryosPanic, so the chances of setting an invalid flag in NVRAM are
small, but don't try this at home)
I'm thinking to implement some firmware checks (a checksum maybe) to
prevent ML from booting on wrong firmware versions.
Back to our port. I've started the camera, took a picture, recorded a
movie, opened the menus and seems to work. Can you test and tell me
what works and what not?
Thanks to Arm.Indy for the dump, the initial stubs file and the FIR tools!
Morgan.
On 31/07/2011, at 9:19 AM, Alex wrote:
> Here's my first port of ML on 60D firmware 1.1.0.
>
http://chdk.setepontos.com/index.php?topic=1493.msg13476#msg13476