View source
iso-research
Author Commit Message Date Builds
Alex
Merged lua_fix into iso-research
Alex
printf: limit buffer size only when running from init_task (fixes memory backend messages truncated during startup)
Alex
Memory backend: some models use AllocateMemory rather than malloc for RscMgr data structures Fixes small memory test on 50D and 5D2. Thanks aprofiti, https://www.magiclantern.fm/forum/index.php?topic=18083.msg207261#msg207261
Alex
1100D: enabled FEATURE_BEEP (beeps were enabled by default, with no way to turn them off; no crashes reported yet)
Alex
api_test.lua: moved log file into ML/LOGS
Alex
api_test.lua: skip FPS override test on cameras without this feature (currently 70D)
Alex
api_test.lua: 50D has no video playback functionality; skipping this test https://www.magiclantern.fm/forum/index.php?topic=14828.msg206376#msg206376
Alex
600D, 1100D: these models are using two button codes for Q (one in photo mode, another in LiveView)
Alex
NotifyBox: minor fixes/cleanups
Alex
Lua dryos.directory.children: exclude "." and ".." from directory listings. Added API test for recursively listing directory contents.
Alex
lua_dryos: minor doc updates
Alex
gui_common: allow simulated key events when half-shutter is UI-locked (fixes movie.stop on 50D: https://www.magiclantern.fm/forum/index.php?topic=14828.msg206343#msg206343)
Alex
Merged patchmgr into iso-research
Alex
Patch manager: made GUI code optional (can be disabled by undefining FEATURE_PATCH_MANAGER_GUI in features.h)
Alex
raw_diag: new heuristic for white level detection, also based on CDF; highly experimental Concept: https://www.magiclantern.fm/forum/index.php?topic=20882.msg192576#msg192576
Alex
raw_diag: print overexposed area on the live indicator and the OB/DR analysis screen
Alex
raw_diag: use 5 readings for noise stdev (with one reading, the estimated DR changes a lot)
Alex
raw_diag: quick white level & dynamic range analysis in LiveView This analysis is not accurate, but might be handy when tweaking registers, to get a quick initial estimation. Suggestion form 50mm1200s - https://www.magiclantern.fm/forum/index.php?topic=10111.msg204803#msg204803 Test scene: anything with overexposure in the middle and black on the sides.
Alex
adtg_gui: ENGIO stubs for 700D, EOSM, 650D and 600D First two confirmed by dfort & bilal, last two not tested.
Alex
adtg_gui: fine-tuned captured image size register list; experimental filter for live preview registers
Alex
Merged allocate-raw-lv-buffer into lua_fix
Alex
Merged qemu into lua_fix
Alex
Merged 100D_merge_fw101 into lua_fix
Alex
500D: experimental workaround for ERR70, issue #1468 (only enabled when recording H.264 with sound)
Alex
500D: removed old workarounds for ERR70 (still experimenting)
Alex
VRAM: recompute LUTs only when display parameters actually change (appears to help with 500D's ERR70 while recording; to be tested with external monitors)
Alex
selftest: info screen toggling test (crashes 500D)
Alex
Lua: fix printing pointer values (no %p in Canon's vsnprintf)
Alex
Lua: minor stack fix (apparently never triggered)
Alex
Lua: simple stack checking when yielding to other tasks
Alex
Lua: stack dump function for debugging http://www.lua.org/pil/24.2.3.html
Alex
Lua: dryos.directory.__tostring()
Alex
Lua dryos: removed card.cluster_size (too low-level to be useful for Lua)
Alex
Lua dryos: refactored card functions for consistency with directory functions
Alex
Lua: moved dryos.dcim_dir to dryos.shooting_card:dcim_dir (or dryos.<other_card>.dcim_dir)
Alex
Lua dryos: fix card free_space field (never worked)
Alex
Lua: added dryos.cf_card and dryos.sd_card (just for consistency)
Daniel Fort
6D DEFAULT_RAW_BUFFER_SIZE https://www.magiclantern.fm/forum/index.php?topic=5601.msg196632#msg196632
Daniel Fort
650D DEFAULT_RAW_BUFFER_SIZE is the same as on the 700D https://www.magiclantern.fm/forum/index.php?topic=5601.msg196632#msg196632
Alex
Lua: added dryos.shooting_card.get_image_path to fix edge cases from api_test.lua when image number wrapped around at 9999->0001 (this replaced the hardcoded logic from api_test.lua for getting previous/future still image paths)
Alex
Merged img_name into lua_fix (required to test the file number updates, i.e. wrapping around at 9999->0001)
Alex
shoot.c: Canon wraps around from IMG_9999 to IMG_0001, not 0000 (affected: fast pictures, intervalometer/bracketing scripts)
Alex
api_test.lua: Canon wraps around from IMG_9999 to IMG_0001, not 0000
Alex
api_test.lua: limit ISO tests to 3200 (max value on 500D)
Alex
Modules: enabled img_name by default (works reasonably well, also tested on 5D2 and 500D)
Alex
img_name: misc GUI fixes
Alex
img_name: option to customize DCIM folder number
Alex
img_name: fix file number getting out of sync when taking pictures
Alex
close_liveview: also handle the "paused" LiveView state
Alex
menu: do not draw on the screen when using menu.get/set from scripts (some update functions may use custom drawing code; this should not run)
Alex
api_test.lua: fix movie mode tests on 5D2 (unusual movie mode "definition"; hopefully the fix also applies to 50D)
Alex
Lua: also print free memory after unloading a script or after starting to run it in background
Alex
Lua: experiment - limit small allocations to UMM heap only This forces the garbage collection to run, and appears to be enough even for large scripts. Without this, api_test.lua could end up allocating the entire AllocateMemory buffer from ML core, leaving the system without RAM.
Alex
Focus backend: fine-tuned waiting workaround for models with CONFIG_FOCUS_COMMANDS_PROP_NOT_CONFIRMED Fixes crash on 5D2 with 50/1.8 STM. Also applied on 50D and 500D. 550D and 7D might require the same workaround with certain lenses, to be tested.
Alex
lens.autofocus: fix operation in LiveView for 5D2 and 500D, likely also 50D (use PROP_REMOTE_AFSTART_BUTTON rather than half-shutter)
Alex
500D: found a way to disable the "Perform autofocus with AE lock <*> button" message in LiveView (minor annoyance; it was also interferring with LiveView tests from api_test.lua)
Alex
Properties: fixed name of PROP_LV_AF_RESULT (was PROP_LV_FOCUS_BAD) and made it available for modules.
Alex
api_test.lua: additional checks for paused LiveView
Alex
api_test.lua: when requesting a different video mode, wait for user to finish navigating menus (e.g. on 5D2, switching between movie and photo mode is done from Canon menu)
Alex
api_test.lua: skip testing with focus step size 1 (too slow and may fail on certain lenses)
Alex
api_test.lua: leave Canon overlays disabled at the end of the test
Alex
api_test.lua: do not fail the autofocus tests right away (use retries and ask the user to make sure the camera has something to focus on)
Alex
api_test.lua: beeps and screen flashes where user input is expected
Alex
api_test.lua: relaxed half-shutter checks (replaced some assertions with warnings) 5D2: there may be spurious half-shutter events, e.g. if scene brightness is changed during the test 50D: https://www.magiclantern.fm/forum/index.php?topic=14828.msg197548#msg197548
Alex
api_test.lua: log the error message on failure
Alex
menu.set: relaxed conditions for trying every single string value (arbitrary durations now working with intervalometer)
Alex
menu.set: reworked to fix issues with certain menus, e.g. FPS override https://www.magiclantern.fm/forum/index.php?topic=14828.msg199771#msg199771
Alex
close_liveview: fix "exiting" movie mode, including special case for 5D2/50D
Alex
700D, 650D, 100D: updated GUIMODE_ML_MENU definition to allow scrollwheel controls when browsing ML menu while recording H.264 EOS M: updated GUIMODE_ML_MENU to use the same underlying dialogs https://www.magiclantern.fm/forum/index.php?topic=7473.msg205350#msg205350 https://www.magiclantern.fm/forum/index.php?topic=9741.msg205358#msg205358 https://www.magiclantern.fm/forum/index.php?topic=16040.msg205389#msg205389
Alex
650D, 700D, EOSM: fix interference between ML menu and Canon overlays in LiveView https://www.magiclantern.fm/forum/index.php?topic=7473.msg198464#msg198464 https://www.magiclantern.fm/forum/index.php?topic=9741.msg205361#msg205361
Alex
Follow focus: fix apparently random stops when using LCD sensor
Alex
Follow focus: removed top icon when using LCD sensor (was redundant and conflicting with ML top bar)
Alex
Focus tools: refuse to run if continuous AF is enabled in Canon menu
Alex
Lua lens.focus: warn if continuous AF / movie servo AF are enabled in Canon menu
Alex
Menu: dependency flags for continuous AF (used for rack/stack/follow focus, as these requires it turned off in Canon menu)
Alex
focus.h: added is_continuous_af()
Alex
Updated some LiveView AF properties for newer models (tested on 700D)
Alex
SET+MainDial: another workaround for issue #2901 (TODO: find a way to reproduce in QEMU)
Alex
SET+MainDial: workaround for issue #2901 Issue: touchscreen stops working after pressing SET in PLAY mode (700D, maybe others). This workaround only covers pressing SET from some playback dialog, such as erasing an image.
Alex
VRAM: workaround from 03c5f43 apparently required only on 5D3 1.2.3 and has some side effects (issue #2901) To test: play Arkanoid right after powering up the camera, without going to PLAY mode or LiveView. If you get artifacts in background, your camera requires this workaround.
Alex
QEMU: fix handling replies of duplicate MPU messages (encountered in 80D, maybe others)
Alex
MPU spells: comment out photo capture from startup logs (affects 450D and 1000D)
Daniel Fort
7D: FEATURE_HEADPHONE_OUTPUT_VOLUME needs to be undefined - like the 500D
Alex
MPU spells: documented PROP_BOARD_TEMP and renamed PROP_AF_DURING_RECORD/PROP_MOVIE_REC_AF to PROP_SHUTTER_AF_DURING_RECORD
Alex
QEMU tests: retry screenshots if there apparently was a successful match followed by a (possibly transient) difference
Alex
QEMU tests: fixed some transient screenshots (optional double-checking code to autodetect them)
Alex
GDB scripts: register_cmd (for DryOS shell functions) Useful for naming a few more functions, but requires entering the DryOS shell to trigger them. Stubs for 5D3.
Alex
GDB scripts: make sure all EOS models have CreateStateObject defined (only test models with this string present in the ROM)
Alex
GDB scripts: make sure all models have register_func (RegisterEventProcedure) defined Exception: Eeko.
Alex
QEMU: workaround for running GDB tests on 7D
Alex
QEMU: fix 7D LED assertion
Alex
QEMU tests: fix race condition when checking GDB scripts (shared file)
Alex
GDB scripts: 800D comments, for consistency with other platforms
Alex
GDB scripts: print "(null)" in other places where string arguments might be optional
Alex
GDB scripts: 5D4 uses a new syntax for create_semaphore (name is the third argument)
Alex
QEMU: 5D4 emulation updated for firmware 1.1.2 - updated test results and GDB script - fixed serial flash read interrupt; file I/O working!
Alex
GDB scripts: print "(null)" for empty semaphore / message queue names (auto-search the ROM for this string constant, as otherwise we'd need to define a malloc symbol for each camera model) If the "(null)" string is not found in the firmware, the GDB tests will fail with timeout.
Alex
QEMU: disabled eos_handle_rom MMIO handlers (unused, only triggered incorrectly on Eeko, where they caused a crash)
Alex
GDB scripts: fix pausing prompt on short terminals
Alex
Removed some CONFIG_QEMU entries that are no longer needed - cache_hacks.h: these are now emulated reasonably well - 5D2: old leftover in gui.c
Alex
adtg_gui: 70D support (to be used with crop_rec_4k builds)
Alex
adtg_gui: fix overriding ENGIO registers on the fly - mirror values were not updated (using EngDrvOut) - older models require poking 0xC0F06000 after updating other registers from the same group
Alex
adtg_gui: undo register overrides on the fly when turning off the main menu entry; re-apply them when turning it back on (very hackish implementation, but still useful for experiments)
Alex
Minimal targets: only compile subdirectories with a valid Makefile
Alex
QEMU tests: FA_CaptureTestImage works on 1300D (prints "Image Power Failure", but the fix is not straightforward)
Alex
arm-mcr.h: minor cleanups, non-functional: - moved _sync_caches in the old place - commented out setup_memory_region et al
Alex
Makefile: when running "make install", copy ML-SETUP.FIR only for the generic profile (not for minimal or other targets)
Alex
Makefile: always check all minimal targets when running "make zip" (only check whether they compile without errors, just like with the installer)
Alex
Minimal target: moved the Hello World example into its own directory and removed old platform folders
Alex
Minimal targets: 5D3 1.1.3 hacks no longer needed
Alex
GDB scripts: fix IDC names containing spaces
Alex
QEMU: fix timeout in ImgPowDet emulation (there were nondeterministic errors in the FRSP test)
Alex
QEMU: emulate ADTGDMA interrupt (used on 100D and EOS M2) - fixes FA_CaptureTestImage on 100D - some LiveView screenshots changed on 100D - color palette in LiveView changed on M2; can be worked around by pressing L (updated menu tests)
Alex
QEMU tests: ignore nondeterministic screenshot on 6D (may appear with or without free space)
Alex
GDB scripts: moved try_expand_ram_struct at the top
Alex
GDB scripts: minor whitespace fix
Alex
QEMU: ensure valid RAM address before executing EDMAC transfers (EOS M fails here when running FA_CaptureTestImage)
Alex
QEMU: image sensor power emulation (fixes FA_CaptureTestImage on 5D2; tested on all other models able to run the FRSP test)
Alex
QEMU: output dummy data (zeros) on read EDMAC connections Fixes FA_CaptureTestImage on 700D and 650D.
Alex
qemu-frsp: fix compiling for 70D
Alex
QEMU: allow reads to EDMAC CHSW registers (required for FA_CaptureTestImage emulation on 6D and others)
Alex
qemu-frsp: ensure valid exposure settings before the test (exposure time not too long, ISO other than Auto; required on 600D and others)
Alex
QEMU: fix YUV vertical scaling for 1100D (only the FRSP test uses it for now)
Alex
qemu-frsp: allocate a YUV buffer if there isn't one already set up (only with CONFIG_QEMU) Fixes preview on 5D3 and 1100D, where Canon firmware does not allocate one at startup.
Alex
QEMU tests: all models able to navigate Canon menu should pass the FRSP (FA_CaptureTestImage) test Most of them will fail; to be fixed.
Alex
QEMU tests: handle models not yet in mainline (FRSP and HPTimer tests are using this for now)
Alex
QEMU: updated gcc 7/8 patch for systems using virtio-9p
Alex
QEMU: updated gcc 7.x patch to also work with gcc 8.x
Alex
eos.c: fix gcc8 warnings
Alex
Makefile: allow "make install*" without a FIR file (for minimal targets and new platforms)
Alex
QEMU logging: attempt to identify tail calls by default (-d calls,notail to disable)
Alex
QEMU tests: updated for 200D 1.0.1
Alex
QEMU logging: moved IDC files into model subdirectories (for consistency with romcpy shell files)
Alex
QEMU logging: fix typo when using -d romcpy (output file path was not printed correctly)
Alex
QEMU tests: initial support for 800D (fixme: call trace not deterministic, same as 77D)
Alex
800D: minor stub fixes in GDB script
Ian Scott
qemu: add 800D to model_list.c, and add 800D/debugmsg.gdb
Alex
adtg_gui: found a register that looks like a strong negative gain
Alex
adtg_gui: found yet another ISO amplifier ADTG[7], photo and LiveView, tested on 5D3 and 60D
Alex
adtg_gui: option to show ISO gain registers only
Alex
adtg_gui: disable io_trace backend by default (slightly better context info with the older method)
Alex
adtg_gui: experiment - refresh modified registers right away in LiveView, even if they were only set once during initialization
Alex
adtg_gui: use only one menu entry for registers written to both ADTG chips e.g. adtg_write(6, ...) => ADTG24[...] = ... meaning: that register is written to both ADTG2 and ADTG4
Alex
adtg_gui: only filter "noisy" registers when diff'ing two configurations
Alex
adtg_gui: option to show registers touched at every LiveView frame (edits made to these registers will have effect right away)
Alex
adtg_gui: also show previous register values (for registers modified multiple times)
Alex
adtg_gui: renamed prev_val to ref_val (todo: store previous value as well)
Alex
adtg_gui: use INVALID_VAL instead of INT_MIN (minor)
Alex
adtg_gui: code reordering (minor refactor)
Alex
adtg_gui: option to show ADTG registers only; minor fix for the related CMOS register filter
Alex
adtg_gui: don't hide known registers that change often
Alex
Config options: fix issue #2892 (custom presets not appearing in menu)
Alex
Merged config_var_refactor into lua_fix
Alex
Merged unified into lua_fix
Alex
Menu: fix config var incorrectly changed during fast toggles (e.g. 36 -> 35 without calling the CBR)
Alex
Config variables: declare all internal structures static (minor refactor)
Alex
Config variables: include the forward declaration in the CONFIG_INT_EX definition (no longer needed to declare CONFIG_VAR_CHANGE_FUNC's twice)
Alex
Config variables: use CONFIG_VAR_CHANGE_FUNC (similar to MENU_SELECT_FUNC); minor renames
Alex
Merged unified into config_var_refactor
Alex
audio-ak: fix compiling for 500D
Alex
menu: short joystick clicks should not be interpreted as SET outside ML menu (fixes incorrect trigger of Auto ETTR from joystick, for example)
David Milligan
rename xxx_update functions for config_vars to xxx_on_change
David Milligan
rename CONFIG_INT_UPDATE to CONFIG_INT_EX and .update to .on_change to avoid confusion and name conflicts with MENU_UPDATE_FUNCs
David Milligan
Merge
David Milligan
config var: refactor audio-lapis to use new config var CBR (not tested -> I have none of these cameras)
David Milligan
config var: refactor audio-ak and audio-common to use new config var CBR (TODO: audio-lapis)
Alex
Patch manager: provide a default sync_caches for targets that don't include it (minimal, installer, reboot)
Alex
adtg_gui: experimental backend for capturing ENGIO writes, based on io_trace Should capture all ENGIO registers, regardless of the method used to write them (engio_write, EngDrvOut, EngDrvBits, direct MMIO write etc)
Alex
imath.h: LOG2 macro from constants (from 1afe59c)
Alex
Merged patchmgr into iso-research
Alex
Patch manager: moved sync_caches in patch.c and removed the "weak" trickery (fixes patch restoring when called from modules)
Alex
adtg_gui: removed unused DST_ANY
Alex
adtg_gui: ignore EDMAC registers
Alex
QEMU: experimental support for gdb-multiarch (latest Ubuntu no longer has gdb-arm-none-eabi...)
Alex
QEMU install: minor fixes
Alex
QEMU install: on some systems, building GDB requires makeinfo; skip it https://sourceware.org/bugzilla/show_bug.cgi?id=18113 Also show the last few lines from the compilation logs if there's an error.
Alex
QEMU install: on older Ubuntu, gcc/gdb installation without package manager may be required
Alex
QEMU install: minor fix for 32-bit Ubuntu (option 3: no 64-bit gcc available)
Alex
QEMU installer: removed option to allow old 64-bit GDB (hopefully no longer needed)
Alex
QEMU installer: minor fix regarding GDB installation (force compiling from source if a valid 64-bit gdb is already installed)
Alex
QEMU installer: attempt to compile gdb 8.1 from source if a 32-bit version is not available (in particular, Mac and WSL) https://www.magiclantern.fm/forum/index.php?topic=2864.msg200954#msg200954 (thanks t3r4n)
Alex
QEMU install: there's no DISPLAY variable on Mac
Alex
QEMU: better emulation for cache patches (uninstalling works, at least for dm-spy-experiments)
Alex
QEMU: fix CPU0 labels incorrectly appearing in DIGIC 6 logs (only DIGIC 7 should display these)
Alex
QEMU: moved ARM946EOS-specific functions (cache lockdown and WFI) from cpu.c to helper.c
Alex
Merged patchmgr into iso-research
Alex
raw_diag: fix black analysis in video modes without optical black zone on the left side (e.g. x5 zoom on 60D and a few other old models)
Alex
adtg_gui: documented some more registers, mostly related to resolution overriding https://www.magiclantern.fm/forum/index.php?topic=19300.msg202783#msg202783
Alex
adtg_gui: fine-tuned appearance of ENGIO registers (mostly to make sure the names fit in the menu without overflowing)
Alex
adtg_gui: store ENGIO registers outside the AVL tree (speed optimization) It no longer locks up in 720p50/60 (5D3)
Alex
adtg_gui: renamed DIGIC registers to ENGIO http://magiclantern.wikia.com/wiki/Register_Map#sht_mirror
Alex
adtg_gui: option to show CMOS registers only
Alex
raw_diag: simple image review handling
Alex
raw_diag: fix fio_malloc warnings (possibly minor performance penalty)
Alex
Patch manager: reworked mechanism for re-applying cache patches when needed * arm-mcr.h: clean_d_cache and flush_i_cache are now private (sync_caches is the high-level function to be used) * replaced all calls to clean_d_cache/flush_i_cache with sync_caches * should fix issues with randomly "disappearing" cache patches * to be tested for performance issues etc
Alex
100D: fix INPUT_ENABLE_IMAGE_PHYSICAL_SCREEN_PARAMETER (display filters working) https://www.magiclantern.fm/forum/index.php?topic=16040.msg202397#msg202397
Alex
100D: fix timer A limit in x5 zoom mode https://www.magiclantern.fm/forum/index.php?topic=16040.msg201809#msg201809 TODO: double-check all other models (raw_diag OB zones screenshot in all LiveView modes, with FPS override maxed out)
Alex
Minimal targets: CONFIG_QEMU no longer hardcoded in Makefile (should be specified on the command line if desired)
Alex
Makefile: allow CONFIG_QEMU to work on all ML profiles, including minimal and installer By default, CONFIG options are only used for the generic profile. This enables qprintf for debugging DIGIC 6/7 ports using the minimal profile.
Alex
QEMU: fix printing callstack from GDB scripts (broken in 1834cd8)
Alex
GDB scripts: workaround for a crash occuring with 5D (possibly GDB bug; can't explain why it works)
Alex
qemu-frsp: fix compiling on lua_fix codebase (1200D and soon all others)
Alex
QEMU: updated expected test results for 1200D 1.0.2 (no stubs changed in debugmsg.gdb)
Alex
QEMU: removed bogus/unused BGMT_ISO
Alex
QEMU: fix Q button code for 1200D - https://www.magiclantern.fm/forum/index.php?topic=12627.msg200889#msg200889 - assuming the same applies to 1300D; unsure about 600D/1100D
Alex
QEMU: fix compiling on 32-bit x86 hosts Caveat: -d romcpy not working on x86 (requires int128_t)
Alex
QEMU README: initial notes on DIGIC 7
Alex
QEMU: initial support for DIGIC 7 EOS (200D, 77D, 6D2) - added ROMID; updated MemDiv, XDMAC, SDIO - emulation starts many tasks, talks to MPU, initializes SD, creates the DCIM directory on the virtual card - fails with ERROR WaitPU1 TimeOut - dumpf does not save any logs (figure out why) - note: M5 ROM should now be loaded as ROM0
Alex
QEMU logging: initial support for DIGIC 7 (CPU0 only; exception vectors at nonzero address)
Alex
QEMU tests: ROM dumper needs larger timeout on slower computers; undo unwanted changes from cb93334
Alex
QEMU tests: fix expected results for restore after format after updating SD image
Alex
QEMU tests: reworked ROM dump test to wait as much or as little as each camera needs (fixme: 70D waits for some CFDMA messages that are for some other device)
Alex
QEMU: usleep patching no longer required on M3
Alex
QEMU: updated ROM dump tests to check SFDATA.BIN too (currently only applies to DIGIC 6)
Alex
QEMU: updated SD image with latest display test (changeset 9b37638)
Alex
QEMU: experimental UTimer emulation - these look pretty much like regular timers (same offsets), but behave like HPTimers! - UTimer patches from DIGIC 6 no longer needed! - fine-tuned HPTimer messages
Alex
QEMU: fix logging of MMIO registers from the same range as MREQ (eos_handle_mreq also receives a few other registers, unknown yet)
Alex
QEMU: specify actual RAM size for each model, rather than using generic values (emulating with larger size usually works, but doesn't catch some edge cases)
Alex
QEMU: reordered model definitions in model_list.c (grouped by DIGIC version and similarity)
Alex
QEMU: renamed IO_MEM_START/SIZE to MMIO_ADDR/SIZE for consistency; added MMIO_ADDR to model_list.c (possibly needed for future models)
Alex
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).
Alex
QEMU logging: -d romcpy now output a shell script for extracting the copied blocks
Alex
QEMU: memfd patch to fix compilation with glibc 2.27 https://patchwork.openembedded.org/patch/147682/
Alex
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
Alex
QEMU: updated CPU definition for DIGIC 7; renamed for older models and reverted the HIVECS property back to false
Alex
QEMU tests: updated checksums for EOS M/M2 screenshots displaying date/time (fix commit 8c575ef99b7f)
Alex
QEMU tests: updated checksum for a screenshot affected by transparency - commit 5b274e3 (Canon quirk - it's not even a LiveView screenshot)
Alex
annotate_mpu_log.py: allow incomplete mpu_send/recv lines (such as the ones from 80D logs)
Alex
MPU spells: documented some AF-related properties
Alex
GDB scripts: also identify and name PTP handlers
Alex
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).
Alex
QEMU: check whether the ROM contents are mirrored (whether dumped size is larger than actual ROM size) ``` [EOS] loading './50D/ROM0.BIN' to 0xF0000000-0xF0FFFFFF [EOS] mirrored data; unique 0x400000 bytes repeated 0x4 times [EOS] loading './50D/ROM1.BIN' to 0xF8000000-0xF8FFFFFF [EOS] mirrored data; unique 0x800000 bytes repeated 0x2 times ``` https://www.magiclantern.fm/forum/index.php?topic=2864.msg199837#msg199837
Alex
QEMU: SRM_SetBusy/ClearBusy emulation for 5D3/6D/70D
Alex
annotate_mpu_log.py: mark unknown MPU messages with ??? (this ensures all MPU messages are displayed to the terminal, including unknown ones)
Alex
lua_task: task name must be allocated by caller (it's not copied, so we must not modify it afterwards) Easiest way: use the same name for all tasks started by Lua scripts.
Alex
Lua: added sleep() with floating-point argument (similar to msleep)
Alex
Lua: option to disable powersave while running tasks created from scripts Example: task.create(func, nil, nil, true)
Alex
Powersave: experimental option to disable the 30-minute timer in LiveView
Alex
Powersave: simplified the option to enable while recording; updated help; aligned menu definition
Alex
menu: experimental fix for issue #1974 (timeout in LiveView, 6D/M/100D/70D) Hypothesis: https://bitbucket.org/hudson/magic-lantern/issues/1974/6df#comment-44206798 Tested on 5D3 with GUI mode 41. Tested in QEMU on 6D (it keeps poking the MPU while ML menu is open).
Alex
property.h: fix declaration of prop_deliver (first argument is a pointer to the property, unlike prop_request_change)
Alex
boot-hack: no real reason to use short for magic_off (
Alex
boot-hack: make sure our relocation buffer is 32-bit aligned (it usually is, unless compiler decides otherwise)
Alex
Lua: experimental camera.flash (get/set) shoot.h: added set_flash_firing
Alex
boot-hack: fade-out LED feedback when bypassing ML at startup (by pressing or not pressing SET, depending on how it's configured) Should also fix https://www.magiclantern.fm/forum/index.php?topic=21765.msg198829#msg198829
Alex
Menu: QEMU hack 90f702c no longer needed for EOS M/M2 (keeping changes to gui.h and button_codes.h)
Alex
run_canon_fw.sh: fix printing GDB command line on systems where process name is limited to 15 chars; only look at processes started by the same parent as this script (to avoid false positives) to be tested on Mac and WSL
Alex
QEMU: EOS M and M2 appear to handle the Q/SET button just like 100D https://www.magiclantern.fm/forum/index.php?topic=21765.msg198769#msg198769
Alex
QEMU: enabled MPU properties for EOS M (no more issues after LiveView emulation)
Alex
QEMU: allow any argument for PROP_LEO_LENSID (EOSM); documented PROP_LEO_LENS* Should fix emulation with ROMs saved with a different lens (apparently lens ID goes into ROM - property 0xC000004) https://www.magiclantern.fm/forum/index.php?topic=9741.msg198847#msg198847
1826 commits not shown.