https://bitbucket.org/daniel_fort/magic-lantern

sort by:
Revision Author Date Message Commit Date
634c605 Recovery tool: fix model ID autodetection for EOS R / DIGIC 8 - model ID may be with MSB set (EOS R) or without it (all other models so far) - don't try to read from serial flash - use main address (0xE1FF9014), rather than a mirrored copy (0xE9FF9014) 13 February 2019, 22:51:14 UTC
f55385e Recovery tool: refuse to run on other CPU cores (DIGIC 7/8) Apparently required by EOS R. How did it work on M50 without this? 13 February 2019, 22:09:56 UTC
8859792 Recovery tool: on EOS R, print messages to UART (display not working yet) 13 February 2019, 22:05:23 UTC
4a5cc8a Portable ROM dumper: card init function could not be autodetected on EOS R (let's try with hardcoded address) 13 February 2019, 20:02:08 UTC
d8bb7b4 disp_direct: initial support for EOS R (same backend as M50, but higher resolution) 13 February 2019, 19:46:58 UTC
8602344 prop_diag: use shorter descriptions on narrow displays e.g. "Camera model: Canon EOS REBEL T3 / Kiss X50" would overflow the screen, but "Camera: Canon EOS REBEL T3 / Kiss X50" would fit or, "Camera model: Canon PowerShot SX70 HS / EC805" would overflow, but "Cam: Canon PowerShot SX70 HS / EC805" would fit the narrower screen 05 February 2019, 17:07:50 UTC
0543b51 prop_diag: initial support for the old 5D 05 February 2019, 17:04:01 UTC
709c121 Portable ROM dumper: 5DS/R require boot_drive = 2, just like 7D2 (tested in QEMU on 5DS bootloader) 05 February 2019, 10:04:17 UTC
02a710b Portable ROM dumper: copy data to RAM before saving it to file 1300D appears to lock up if we do this: https://www.magiclantern.fm/forum/index.php?topic=16534.msg210655#msg210655 19 January 2019, 06:13:14 UTC
c992620 Portable ROM dumper: 1300D has a different ROM layout. Assuming the same for all other DIGIC 4+ models. 17 January 2019, 07:57:16 UTC
5350106 Recovery tool: only disable caches when using old I/O routines on pre-DIGIC 7 (back to old behavior). DIGIC 6 method for disabling caches does not work on DIGIC 7/8. Cache disabling is not required on DIGIC 7. 16 January 2019, 10:17:03 UTC
86d9981 Recovery tool: only save a log file if either: - FullFAT is enabled (new-style file I/O, less buggy, no real reason to skip the log) - old-style ROM dumper is enabled (we are already using file I/O) - CPUINFO is enabled (log file required) In other words, do not save a log for Hello World and similar tests (i.e. back to old behavior). 16 January 2019, 10:00:13 UTC
1ea82df Recovery tool: print "DONE" after saving RESCUE.LOG (saving the log file may take a few seconds; user might be tempted to take the battery out when seeing "DONE") Side effect: "DONE" is no longer printed in the log file. 15 January 2019, 21:04:54 UTC
e41e316 Recovery tool: attempt to fix screen turning off on 7D. Does it work? https://www.magiclantern.fm/forum/index.php?topic=16534.msg210546#msg210546 15 January 2019, 20:59:58 UTC
5233c4b Recovery tool: our cache sync routine is not working well for DIGIC 8, but operating in Canon's uncacheable memory is helpful (tested on M50) 14 January 2019, 19:00:31 UTC
1ae94c9 Recovery tool: sync caches after patching card init functions (old models only) To see the difference, comment out the call to sync_caches_portable from print_line. Without this, card init functions might fail. 14 January 2019, 17:08:39 UTC
bec1a81 disp_direct: removed cache workarounds. Still working? 14 January 2019, 12:59:50 UTC
7544dd6 Recovery tool: let's try to run with caches enabled (FullFAT only) Included a short cache coherency test (disabled by default). 14 January 2019, 12:46:59 UTC
2890522 Recovery tool: run everything with caches disabled (troubleshooting) 14 January 2019, 08:07:13 UTC
29d5e99 FullFAT config: only save the main FAT (do not write the backup one) Advantages: - it no longer "renames" the card to EOS_DEVELOP - better chances to recover the data if something goes wrong 13 January 2019, 23:31:33 UTC
ce21b0e Recovery tool: 7D2 file I/O appears to work on SD only (tested in QEMU) https://www.magiclantern.fm/forum/index.php?topic=13746.msg205531#msg205531 13 January 2019, 23:28:19 UTC
20728e5 font_direct: fix double newline at the very end of the line 13 January 2019, 21:27:47 UTC
815935b FullFAT: fine-tuned configuration - update free space (required by QEMU tests) - write-through cache (just in case) - non-greedy space allocation - no LFN (patents are still valid) 13 January 2019, 19:22:27 UTC
4567293 Recovery tool: sync caches before disabling them To see the issue before this change, move some printf before the cache disabling routines. It will be visible in QEMU, but not on real hardware. Tested on 5D2 and 5D3. 13 January 2019, 15:01:45 UTC
433054c disp_direct: fix YUV buffer allocation (was overflowing on 5D4) 13 January 2019, 14:20:32 UTC
6e78e14 disp_direct: fix YUV411 gradient (5D2, 50D, 7D) Image content was dependent of where the compiler allocated the YUV buffer, i.e. (pointer address / 4) modulo 3... 13 January 2019, 14:20:07 UTC
c16714e Recovery tool: interpret backspaces before saving RESCUE.LOG (log files are plain-text now; no longer need to "cat" them to a terminal) 13 January 2019, 14:16:57 UTC
8d12b8e Recovery tool: imported scnprintf/vscnprintf from Linux kernel - fixes buffer overflow in RESCUE.LOG - see commit e8bb011bcb0b for details - todo: refactor the entire codebase to use these functions (vsnprintf branch) 13 January 2019, 14:07:49 UTC
26850ba Recovery tool: don't include our non-standard stdio.c just for toupper/tolower (they are available in dietlibc, too) 13 January 2019, 13:59:14 UTC
c2b0a68 Recovery tool: fixed I/O initialization on some old models - card init routine uses a boolean flag that prevents it from running twice - on some models, this flag is not cleared when turning off the card - card is turned off right before launching AUTOEXEC.BIN - as a result, the init routine does not run if we call it again; need to patch that flag - a few models (5D2, 50D etc) have two card init routines (both requiring patching) - card init is now mandatory for all models - tested on 5D2, 500D, 60D, 5D3 13 January 2019, 11:36:53 UTC
45a928c Portable ROM dumper: fine-tuned appearance; simple progress indicator 12 January 2019, 22:34:16 UTC
eb5813c Recovery tool: reworked ROM dumper to allow both FullFAT and Canon I/O routines - sd_direct no longer used; rather, we look for Canon's sector-level I/O routines - compatible with most (if not all) models from DIGIC 2 to DIGIC 8 (!) - compatible with large cards (!) - bleeding edge, to be tested thoroughly - old method: CONFIG_BOOT_DUMPER=y - new method: CONFIG_BOOT_DUMPER=y CONFIG_BOOT_FULLFAT=y 12 January 2019, 21:43:08 UTC
d482201 Recovery tool: attempt to find sector-level I/O routines on all models - these are present in all EOS models from DIGIC 2 to DIGIC 8 (!) - compatible with large cards (!) - tested only in QEMU for now - enable with: CONFIG_BOOT_DUMPER=y CONFIG_BOOT_FULLFAT=y 12 January 2019, 21:43:08 UTC
670a3a3 Recovery tool: M50/SX70 dumper Boot file I/O routines no longer present. Using FullFAT and sector-level I/O routines; not using sd_direct. 09 January 2019, 09:13:24 UTC
da75ad4 Recovery tool: updated memory map; custom stack for our code 12 January 2019, 21:19:56 UTC
9b25072 Recovery tool: only enable serial flash dumper on models known to use one (skips unnecessary warnings on other models) 06 October 2018, 16:24:21 UTC
951839c prop_diag: also scan ROM1 on DIGIC7/8 models 12 January 2019, 13:21:19 UTC
3db6560 disp_direct: nicer handling of displays with different sizes (removed hardcoded width/height constants in caller code) Not very pretty on 640-wide displays, but at least readable. 11 January 2019, 19:13:18 UTC
7280a32 prop_diag: nicer representation for unknown property data (attempt to guess strings, otherwise perform a hex dump) 11 January 2019, 18:25:39 UTC
63594a0 prop_diag: alternate camera model property (used in both old and new models) 11 January 2019, 18:18:09 UTC
ccb5923 prop_diag: cleaned up includes to allow string functions 11 January 2019, 18:18:09 UTC
e42ffcd prop_diag: allow empty property blocks (found in M50, SX70, 500D) 11 January 2019, 17:25:48 UTC
a783a29 prop_diag: updated for 1300D and M50 https://www.magiclantern.fm/forum/index.php?topic=16534.msg210385#msg210385 11 January 2019, 17:10:46 UTC
fdfc6d7 prop_diag: fix compiling on Mac; fix some warnings https://www.magiclantern.fm/forum/index.php?topic=16534.msg210389#msg210389 11 January 2019, 08:40:46 UTC
3487a35 Recovery tool: display support for DIGIC 8 (tested on M50 and SX70) 08 January 2019, 13:45:45 UTC
9e805ae Recovery tool: model ID address for DIGIC 4+ (pull request #949) 07 January 2019, 16:51:19 UTC
ed698ba Recovery tool: boot flag enabling tool for 5D Mark IV (confirmed to work!) 31 December 2018, 13:56:54 UTC
465c1df cpuinfo_v5: QEMU exception no longer needed (going to fix the emulator) 29 December 2018, 15:09:56 UTC
10593cf Makefile: removed old rule for "make install_qemu" 29 December 2018, 11:24:49 UTC
28a12ab Recovery tool: serial flash dump support for DIGIC 5 models (tested in QEMU) 06 October 2018, 15:31:53 UTC
0c5a7ca Portable startup code: fix error message with certain compilers: https://www.magiclantern.fm/forum/index.php?topic=13746.msg205494#msg205494 27 August 2018, 16:47:17 UTC
7c4ee4f Recovery tool: boot flag enabler for DIGIC 7 (tested in QEMU) 10 August 2018, 21:00:06 UTC
a18db30 cpuinfo: enabled DBGDSCR; debug register descriptions 03 June 2018, 13:21:16 UTC
67af898 cpuinfo: experimental debug register support for DIGIC 6 and 7 (to be tested: it might work or it might lock up) 03 June 2018, 08:38:55 UTC
c3ca142 cpuinfo: allow DIGIC 6/7 specific code (ARMv7 PMSA/VMSA) in the same binary 03 June 2018, 08:19:48 UTC
7fa068d cpuinfo: allow both ARMv5 (DIGIC 2..5) and v7 (DIGIC 6 & 7) in the same binary 03 June 2018, 08:09:32 UTC
32ddce9 Recovery tool: allow changing printf font size at runtime (for cpuinfo and for future use) 03 June 2018, 08:43:04 UTC
121621a Recovery tool: allow using CONFIG_BOOT_CPUINFO alongside with other options 03 June 2018, 07:56:54 UTC
a9f15b1 Recovery tool: save a log file at the end, if the file wite stubs were used 03 June 2018, 08:44:43 UTC
c8256fa Recovery tool: more verbose error handling 03 June 2018, 06:25:56 UTC
12040f2 Recovery tool: fix SROM dumper initialization https://www.magiclantern.fm/forum/index.php?topic=17360.msg195513#msg195513 (tested in QEMU on 80D, 750D, 760D and 5D4) 29 May 2018, 16:40:52 UTC
9219848 asm.c: replaced find_func_called_after_string_ref with something more generic that can also scan backwards (find_func_called_near_string_ref) 29 May 2018, 16:18:27 UTC
6b2fc37 Recovery tool: skip scanning the slow ROM when looking for ROMBASEADDR on DIGIC 7 04 May 2018, 11:03:23 UTC
fb060d2 Recovery tool: progress indicator for find_firmware_start; avoid unaligned memory access (DIGIC 7 appears to have a very slow ROM above 0xF0000000) 01 May 2018, 21:56:18 UTC
95961bf ROM layout: check for repeated byte as a special case, before recursivity (reduces stack usage for very large areas repeating the same byte over and over) 01 May 2018, 09:48:11 UTC
d7b1637 cpuinfo_v7: initial support for DIGIC 7 (incomplete, only what worked in QEMU from DIGIC 6) 28 April 2018, 08:30:52 UTC
cd40ca3 Recovery tool: minor cleanups 28 April 2018, 07:52:18 UTC
0465f8e Recovery tool: fine-tuned ROM layout autodetection - do not scan unused ranges that may result in lock-up - minor algorithm update 28 April 2018, 07:34:04 UTC
0eec243 Recovery tool: moved model list at the top 28 April 2018, 07:37:35 UTC
58352bd prop_diag: fix scan range for DIGIC 6 (based on ROM layout autodetection results) 27 April 2018, 05:12:44 UTC
82ee1f2 Recovery tool: ROM layout autodetection experiment To be tested on ALL models from DIGIC 2 to DIGIC 7 (and soon 8); might lock up on some of them. 27 April 2018, 14:07:06 UTC
7a24a63 Recovery tool: portable way to find ROMBASEADDR (tested on DIGIC 2 ... DIGIC 7 in QEMU) 27 April 2018, 13:34:00 UTC
5dea26e disp_direct: fix display buffer size for 5D4 27 April 2018, 13:37:50 UTC
9a9b959 disp_direct: re-applied the uncacheable trick from 7dadc58 (likely the reason for blue screen on DIGIC 6) https://www.magiclantern.fm/forum/index.php?topic=17360.msg200622#msg200622 27 April 2018, 08:20:41 UTC
2eb1e2e Recovery tool: allocate memory for serial flash in our BSS (to be tested; seems OK in QEMU) 25 April 2018, 20:41:05 UTC
29e0b46 disp_direct: allocate display buffers statically in our BSS Should fix conflicts with Canon code reusing the (previously hardcoded) memory on DIGIC 6/7. Should also fix booting on 1000D (only 64MB RAM). 25 April 2018, 20:41:05 UTC
7a87267 Recovery tool: zero BSS (should fix issues with variables initialized to 0) 25 April 2018, 20:41:05 UTC
fad0759 Recovery tool: experimental ROM dumper for DIGIC 7 (confirmed on 77D and 200D so far) 24 April 2018, 07:16:11 UTC
856bc28 Recovery tool: initial support for DIGIC 7 - disp_direct: bootloader now runs Thumb code; display buffer register changed - ROM layout: 32MB at E0000000 + 16MB at F0000000, boot flags at 0xE1FF8000 - polyglot startup code to autodetect whether we were loaded as ARM or as Thumb (D7 loads autoexec.bin as Thumb) - ROM dumping not working yet, but display confirmed working on 77D - display gets initialized on M50 (DIGIC 8), but doesn't show anything interesting yet 24 April 2018, 06:52:41 UTC
344116e Recovery tool: added recent models 22 April 2018, 22:04:10 UTC
9dde70d disp_direct: undo 7dadc58; to be tested (sombree reported it's no longer necessary) 23 April 2018, 11:13:58 UTC
e55958d Recovery tool: portable cache disabling for ROM dumper (to be tested) 24 April 2018, 06:41:35 UTC
228cf82 arm-mcr.h: adapted DIGIC 6 cache routines from digic6-dumper branch (commmits cca4a72, 0f83f3b, 9ec2b64, f492292, d3b5ec9, f6e763a) 24 April 2018, 06:48:38 UTC
fd6fbea Recovery tool: enable the shareable bit on main memory for DIGIC 6 (to be tested) 24 April 2018, 06:21:34 UTC
7bd62b3 Recovery tool: no need to run under uncacheable memory it doesn't help, as Canon code still allocates a cacheable buffer for file I/O https://www.magiclantern.fm/forum/index.php?topic=16534.msg170417#msg170417 23 April 2018, 17:01:44 UTC
e08a66c prop_diag: fix warnings; do not print user name by default 23 April 2018, 11:15:52 UTC
3c581de Serial flash dumper: further cleanups, stub autodetection for D6 models (tested on 80D, 750D, 760D and 5D4 in QEMU) 23 April 2018, 11:08:53 UTC
5e5f271 asm.c: debug messages for QEMU 23 April 2018, 11:01:02 UTC
598dd72 Merged qemu into recovery (for debugging with CONFIG_QEMU) 23 April 2018, 10:33:22 UTC
7742c1d QEMU: removed unused entries; moved ML helpers to a different GPIO range. Old range was not accessible on certain models, such as PowerShots and DIGIC 7. Old GPIOs are still accepted (debugging existing code from experimental branches is still possible without merging latest qemu). 23 April 2018, 10:31:03 UTC
c63ef96 QEMU logging: -d romcpy now output a shell script for extracting the copied blocks 22 April 2018, 09:28:45 UTC
6ce5d30 QEMU: memfd patch to fix compilation with glibc 2.27 https://patchwork.openembedded.org/patch/147682/ 21 April 2018, 17:25:24 UTC
3053c7e QEMU installer: minor updates - option to "make clean" before renaming the old folder (to save disk space) - exit if QEMU fails to compile - check for a valid DISPLAY (important for WSL) - updated help links 21 April 2018, 17:14:59 UTC
c96ebf3 QEMU: updated CPU definition for DIGIC 7; renamed for older models and reverted the HIVECS property back to false 21 April 2018, 16:38:52 UTC
b59d894 QEMU tests: updated checksums for EOS M/M2 screenshots displaying date/time (fix commit 8c575ef99b7f) 21 April 2018, 16:33:07 UTC
12c1603 QEMU tests: updated checksum for a screenshot affected by transparency - commit 5b274e3 (Canon quirk - it's not even a LiveView screenshot) 21 April 2018, 16:18:33 UTC
f58d38e annotate_mpu_log.py: allow incomplete mpu_send/recv lines (such as the ones from 80D logs) 21 April 2018, 15:53:57 UTC
9582e47 MPU spells: documented some AF-related properties 21 April 2018, 15:47:59 UTC
4d400d4 GDB scripts: also identify and name PTP handlers 21 April 2018, 15:40:12 UTC
967e018 GDB scripts: identify named functions during execution and export as IDC Named functions identified from: task_create, register_func, register_interrupt, CreateStateObject Tested on 5D3 1.1.3, EOSM2 1.0.3 and 80D 1.0.2 (missing stubs added). 17 April 2018, 21:36:21 UTC
back to top