1. Trammell Hudson
  2. Magic Lantern

Source

Magic Lantern /

Filename Size Date modified Message
lua
patches
236 B
Remove generated file (and ignore them)
1.5 KB
Added tag before-lua-import for changeset 408ac074c61c
288 B
Store firmware header and zeroed out flasher.bin
1.6 MB
Store firmware header and zeroed out flasher.bin
17.6 KB
Add license notices on each file (fix bug 7)
55.3 KB
Created doxygen source file
8.1 KB
Rename 5d-hack.c to init.c and move init code into property handler for setup/shudown
2.8 KB
Remove license from zip file target
4.4 KB
Added NOP
2.5 KB
Added font huge, autoboot support and started hacking on 7D
18.3 KB
Allow enable-liveview to be toggled on and off
4.3 KB
Moved read levels into audio.h
9.8 KB
Use Canon built-in fonts and font structure instead of our own.
4.6 KB
Use Canon built-in fonts and font structure instead of our own.
4.1 KB
Exit all threads and clear up some warnings
2.0 KB
Added PROP_AE to control exposure adjustment
2.0 KB
Add license notices on each file (fix bug 7)
1.5 KB
Merged from mainline
6.3 KB
Functional beta for 2.0.4
2.2 KB
Change all modules to use new configuration system.
338.6 KB
Prototype cropmarks showing 4:3 area
11.6 KB
Exit all threads and clear up some warnings
2.3 KB
Which is DM_RSC?
10.2 KB
Allow an offset to the decryptor
6.3 KB
Added dialog_handler
12.4 KB
64-bit clean fixes
14.3 KB
Exit all threads and clear up some warnings
5.9 KB
Remove spinloop
990 B
Add license notices on each file (fix bug 7)
8 B
empty.bin is needed for a dummy payload
1.0 KB
Add license notices on each file (fix bug 7)
4.7 KB
Extracted list of functions
1.8 KB
Added font huge, autoboot support and started hacking on 7D
964 B
General program to fix the crc on a firmware file
2.5 KB
Makefile target to fetch firmware image
4.0 KB
Camera goes back into normal mode after our code. Good?
6.0 KB
Exit all threads and clear up some warnings
415.8 KB
Added font huge, autoboot support and started hacking on 7D
75.2 KB
Flag day: bmp_printf() now uses a fontspec
26.4 KB
increase size of medium font
8.5 KB
Flag day: bmp_printf() now uses a fontspec
2.5 KB
Use Canon built-in fonts and font structure instead of our own.
809 B
Flag day: bmp_printf() now uses a fontspec
4.7 KB
Exit all threads and clear up some warnings
7.1 KB
Added gui_lock/gui_unlock() to release GUI when under PTP control
1.7 KB
Exit all threads and clear up some warnings
549 B
Trying to get USB detection to work without hotplug task
9.5 KB
Rename 5d-hack.c to init.c and move init code into property handler for setup/shudown
12.4 KB
Exit all threads and clear up some warnings
5.1 KB
Add two-point rack focus support
2.8 KB
Exit all threads and clear up some warnings
996 B
Exit all threads and clear up some warnings
2.2 KB
Added automated property handlers
1.2 KB
Added bmp_fill() wrapper to python code
318 B
Added font huge, autoboot support and started hacking on 7D
460 B
Short script to translate a map file into a IDC file
11.7 KB
Exit all threads and clear up some warnings
2.0 KB
Use Canon built-in fonts and font structure instead of our own.
3.2 KB
Use Canon built-in fonts and font structure instead of our own.
4.1 KB
Imported pack-fir from chdk posting
44.7 KB
Sample color palette
872 B
Patch binary with diff file
1.4 KB
Port 550d properties and fix generic cleanup for arm-gcc 4.5
11.5 KB
Port 550d properties and fix generic cleanup for arm-gcc 4.5
3.5 KB
Exit all threads and clear up some warnings
3.4 KB
Doxygen comments
27.7 KB
UNARY_CONVERT is supported now
319 B
Added bmp_fill() wrapper to python code
4.0 KB
User scripts work!
3.3 KB
Silence warning about missing start symbol
6.3 KB
Relocation code works for liveview!
282 B
Relocation code works for liveview!
1.8 KB
Actually put the symbols in? abs-symbols are broken?
2.1 KB
User scripts work!
2.9 KB
Exit all threads and clear up some warnings
2.0 KB
Add license notices on each file (fix bug 7)
4.7 KB
fix realloc() to avoid double free of NULL
197 B
Tools to process output
5.5 KB
Add license notices on each file (fix bug 7)
8.4 KB
Found cf_device and use it to re-write CF bootblock to create a "BOOTDISK"
4.3 KB
Fixed malloc/free and wrote realloc() implementation
4.4 KB
Use Canon built-in fonts and font structure instead of our own.
3.0 KB
Add license notices on each file (fix bug 7)
500 B
More tests
6.3 KB
Exit all threads and clear up some warnings
1.1 KB
Add license notices on each file (fix bug 7)
4.8 KB
Add license notices on each file (fix bug 7)
15.9 KB
Allow enable-liveview to be toggled on and off
205 B
Zip comments
          ***************************************************
          *                                                 *
          * THIS IS DANGEROUS AND MIGHT DAMAGE YOUR CAMERA. *
          *  NO WARRANTIES.  NO GUARANTEES.  DO NOT TAUNT.  *
          *                                                 *
          ***************************************************

If you are not comfortable with this, stop reading and delete the
software before you are tempted to try running it on your camera.
It works on my camera, with my version of arm-linux-gcc, and with
my version of perl to build the firmware file, but that is no
guarantee that it will work for you.

Please see the COPYING file for additional terms that cover
distribution of this software.

To repeat this important point:

          ***************************************************
          *                                                 *
          * THIS IS DANGEROUS AND MIGHT DAMAGE YOUR CAMERA. *
          *   IF IT BREAKS, YOU GET TO KEEP BOTH PIECES.    *
          *                                                 *
          ***************************************************

IMPORTANT NOTES

* If you encounter a "locked up" camera, quickly remove the battery.
  Otherwise the ARM might be in a tight-loop and get very hot, very quickly.
  Your battery will run down and your LCD might show some discoloration.

* When in doubt, remove the battery and reboot.

* And, remember that this software can damage or destroy your camera.


BOOT PROCESS OVERVIEW

* Camera DryOS copies .fir file into RAM at 0x800000 and jumps into it.
* The first instruction does a long jump to 0x80000c to clear some headers
* The CPSR is updated to put the ARM into supervisor mode (it already is)
* An initial stack is setup at 0x1900
* Branch to cstart() in reboot.c
* set up the memory regions for the camera version of DryOS
* enable all caches and rw regions
* select reboot vectors in low memory
* copies the 5d-hack.bin blob to above the DryOS BSS
	* This is the RESTARTSTART location
	* End of BSS is found in _entry() where it loops to zero it
	* Note off by 0x120 error due to .fir header.
* flushes caches
* Jumps into 5d-hack.bin copy_and_restart() code at RESTARTSTART (0x48000)
	* copy_and_restart() must be first routine in 5d-hack.c
* copy_and_restart() copies the first 64 KB of ROM to 0x50000
* It then patches a few instructions to fixup some branch instructions
  and to return to its control before control is transfered to the
  cstart() routine in the firmware.  It also updates the end of the BSS
  so that both itself and the copied portion of DryOS will be saved
* It installs a task dispatch hook in the function pointer at 0x1934.
  This will be called when ever a new task is run, allowing our code
  to disable Canon tasks or re-purpose them with our own implementations.