100%
WDescription%
Build stability: No recent builds failed.100
Build History
x

Changes

#13 (Dec 24, 2018 8:47:56 PM)

  1. 70D: updated GUIMODE_ML_MENU definition to match 700D, 650D, 100D and EOS M (see commit e65c0e3)

    This should allow scrollwheel controls when browsing ML menu while recording H.264. Tested only in QEMU. — alex@thinkpad / bitbucket
  2. Merged lua_fix into 70D.112 — alex@thinkpad / bitbucket
  3. printf: limit buffer size only when running from init_task
    (fixes memory backend messages truncated during startup) — alex@thinkpad / bitbucket
  4. 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@thinkpad / bitbucket
  5. 1100D: enabled FEATURE_BEEP
    (beeps were enabled by default, with no way to turn them off; no crashes reported yet) — alex@thinkpad / bitbucket
  6. api_test.lua: moved log file into ML/LOGS — alex@thinkpad / bitbucket
  7. api_test.lua: skip FPS override test on cameras without this feature
    (currently 70D) — alex@thinkpad / bitbucket
  8. api_test.lua: 50D has no video playback functionality; skipping this test
    https://www.magiclantern.fm/forum/index.php?topic=14828.msg206376#msg206376 — alex@thinkpad / bitbucket
  9. 600D, 1100D: these models are using two button codes for Q
    (one in photo mode, another in LiveView) — alex@thinkpad / bitbucket
  10. NotifyBox: minor fixes/cleanups — alex@thinkpad / bitbucket
  11. Lua dryos.directory.children: exclude "." and ".." from directory listings.

    Added API test for recursively listing directory contents. — alex@thinkpad / bitbucket
  12. lua_dryos: minor doc updates — alex@thinkpad / bitbucket
  13. 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@thinkpad / bitbucket
  14. Merged allocate-raw-lv-buffer into lua_fix — alex@thinkpad / bitbucket
  15. Merged qemu into lua_fix — alex@thinkpad / bitbucket
  16. Merged 100D_merge_fw101 into lua_fix — alex@thinkpad / bitbucket
  17. 500D: experimental workaround for ERR70, issue #1468
    (only enabled when recording H.264 with sound) — alex@thinkpad / bitbucket
  18. 500D: removed old workarounds for ERR70
    (still experimenting) — alex@thinkpad / bitbucket
  19. 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@thinkpad / bitbucket
  20. selftest: info screen toggling test
    (crashes 500D) — alex@thinkpad / bitbucket
  21. Lua: fix printing pointer values
    (no %p in Canon's vsnprintf) — alex@thinkpad / bitbucket
  22. Lua: minor stack fix
    (apparently never triggered) — alex@thinkpad / bitbucket
  23. Lua: simple stack checking when yielding to other tasks — alex@thinkpad / bitbucket
  24. Lua: stack dump function for debugging
    http://www.lua.org/pil/24.2.3.html — alex@thinkpad / bitbucket
  25. Lua: dryos.directory.__tostring() — alex@thinkpad / bitbucket
  26. Lua dryos: removed card.cluster_size
    (too low-level to be useful for Lua) — alex@thinkpad / bitbucket
  27. Lua dryos: refactored card functions for consistency with directory functions — alex@thinkpad / bitbucket
  28. Lua: moved dryos.dcim_dir to dryos.shooting_card:dcim_dir
    (or dryos.<other_card>.dcim_dir) — alex@thinkpad / bitbucket
  29. Lua dryos: fix card free_space field
    (never worked) — alex@thinkpad / bitbucket
  30. Lua: added dryos.cf_card and dryos.sd_card
    (just for consistency) — alex@thinkpad / bitbucket
  31. 6D DEFAULT_RAW_BUFFER_SIZE

    https://www.magiclantern.fm/forum/index.php?topic=5601.msg196632#msg196632 — daniel fort _dan@digiola.com_ / bitbucket
  32. 650D DEFAULT_RAW_BUFFER_SIZE is the same as on the 700D
    https://www.magiclantern.fm/forum/index.php?topic=5601.msg196632#msg196632 — daniel fort _dan@digiola.com_ / bitbucket
  33. 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@thinkpad / bitbucket
  34. Merged img_name into lua_fix
    (required to test the file number updates, i.e. wrapping around at 9999->0001) — alex@thinkpad / bitbucket
  35. shoot.c: Canon wraps around from IMG_9999 to IMG_0001, not 0000
    (affected: fast pictures, intervalometer/bracketing scripts) — alex@thinkpad / bitbucket
  36. api_test.lua: Canon wraps around from IMG_9999 to IMG_0001, not 0000 — alex@thinkpad / bitbucket
  37. api_test.lua: limit ISO tests to 3200
    (max value on 500D) — alex@thinkpad / bitbucket
  38. Modules: enabled img_name by default
    (works reasonably well, also tested on 5D2 and 500D) — alex@thinkpad / bitbucket
  39. img_name: misc GUI fixes — alex@thinkpad / bitbucket
  40. img_name: option to customize DCIM folder number — alex@thinkpad / bitbucket
  41. img_name: fix file number getting out of sync when taking pictures — alex@thinkpad / bitbucket
  42. close_liveview: also handle the "paused" LiveView state — alex@thinkpad / bitbucket
  43. 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@thinkpad / bitbucket
  44. api_test.lua: fix movie mode tests on 5D2
    (unusual movie mode "definition"; hopefully the fix also applies to 50D) — alex@thinkpad / bitbucket
  45. Lua: also print free memory after unloading a script or after starting to run it in background — alex@thinkpad / bitbucket
  46. 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@thinkpad / bitbucket
  47. 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@thinkpad / bitbucket
  48. lens.autofocus: fix operation in LiveView for 5D2 and 500D, likely also 50D
    (use PROP_REMOTE_AFSTART_BUTTON rather than half-shutter) — alex@thinkpad / bitbucket
  49. 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@thinkpad / bitbucket
  50. Properties: fixed name of PROP_LV_AF_RESULT (was PROP_LV_FOCUS_BAD)
    and made it available for modules. — alex@thinkpad / bitbucket
  51. api_test.lua: additional checks for paused LiveView — alex@thinkpad / bitbucket
  52. 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@thinkpad / bitbucket
  53. api_test.lua: skip testing with focus step size 1
    (too slow and may fail on certain lenses) — alex@thinkpad / bitbucket
  54. api_test.lua: leave Canon overlays disabled at the end of the test — alex@thinkpad / bitbucket
  55. 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@thinkpad / bitbucket
  56. api_test.lua: beeps and screen flashes where user input is expected — alex@thinkpad / bitbucket
  57. 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@thinkpad / bitbucket
  58. api_test.lua: log the error message on failure — alex@thinkpad / bitbucket
  59. menu.set: relaxed conditions for trying every single string value
    (arbitrary durations now working with intervalometer) — alex@thinkpad / bitbucket
  60. 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@thinkpad / bitbucket
  61. close_liveview: fix "exiting" movie mode, including special case for 5D2/50D — alex@thinkpad / bitbucket
  62. 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@thinkpad / bitbucket
  63. 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@thinkpad / bitbucket
  64. Follow focus: fix apparently random stops when using LCD sensor — alex@thinkpad / bitbucket
  65. Follow focus: removed top icon when using LCD sensor
    (was redundant and conflicting with ML top bar) — alex@thinkpad / bitbucket
  66. Focus tools: refuse to run if continuous AF is enabled in Canon menu — alex@thinkpad / bitbucket
  67. Lua lens.focus: warn if continuous AF / movie servo AF are enabled in Canon menu — alex@thinkpad / bitbucket
  68. Menu: dependency flags for continuous AF
    (used for rack/stack/follow focus, as these requires it turned off in Canon menu) — alex@thinkpad / bitbucket
  69. focus.h: added is_continuous_af() — alex@thinkpad / bitbucket
  70. Updated some LiveView AF properties for newer models
    (tested on 700D) — alex@thinkpad / bitbucket
  71. SET+MainDial: another workaround for issue #2901

    (TODO: find a way to reproduce in QEMU) — alex@thinkpad / bitbucket
  72. 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@thinkpad / bitbucket
  73. 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@thinkpad / bitbucket
  74. QEMU: fix handling replies of duplicate MPU messages
    (encountered in 80D, maybe others) — alex@thinkpad / bitbucket
  75. MPU spells: comment out photo capture from startup logs
    (affects 450D and 1000D) — alex@thinkpad / bitbucket
  76. 7D: FEATURE_HEADPHONE_OUTPUT_VOLUME needs to be undefined - like the 500D — daniel fort _dan@digiola.com_ / bitbucket
  77. MPU spells: documented PROP_BOARD_TEMP and renamed PROP_AF_DURING_RECORD/PROP_MOVIE_REC_AF to PROP_SHUTTER_AF_DURING_RECORD — alex@thinkpad / bitbucket
  78. QEMU tests: retry screenshots if there apparently was a successful match
    followed by a (possibly transient) difference — alex@thinkpad / bitbucket
  79. QEMU tests: fixed some transient screenshots
    (optional double-checking code to autodetect them) — alex@thinkpad / bitbucket
  80. 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@thinkpad / bitbucket
  81. GDB scripts: make sure all EOS models have CreateStateObject defined
    (only test models with this string present in the ROM) — alex@thinkpad / bitbucket
  82. GDB scripts: make sure all models have register_func (RegisterEventProcedure) defined

    Exception: Eeko. — alex@thinkpad / bitbucket
  83. QEMU: workaround for running GDB tests on 7D — alex@thinkpad / bitbucket
  84. QEMU: fix 7D LED assertion — alex@thinkpad / bitbucket
  85. QEMU tests: fix race condition when checking GDB scripts
    (shared file) — alex@thinkpad / bitbucket
  86. GDB scripts: 800D comments, for consistency with other platforms — alex@thinkpad / bitbucket
  87. GDB scripts: print "(null)" in other places where string arguments might be optional — alex@thinkpad / bitbucket
  88. GDB scripts: 5D4 uses a new syntax for create_semaphore
    (name is the third argument) — alex@thinkpad / bitbucket
  89. 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@thinkpad / bitbucket
  90. 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@thinkpad / bitbucket
  91. QEMU: disabled eos_handle_rom MMIO handlers
    (unused, only triggered incorrectly on Eeko, where they caused a crash) — alex@thinkpad / bitbucket
  92. GDB scripts: fix pausing prompt on short terminals — alex@thinkpad / bitbucket
  93. 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@thinkpad / bitbucket
  94. Minimal targets: only compile subdirectories with a valid Makefile — alex@thinkpad / bitbucket
  95. QEMU tests: FA_CaptureTestImage works on 1300D
    (prints "Image Power Failure", but the fix is not straightforward) — alex@thinkpad / bitbucket
  96. Makefile: when running "make install", copy ML-SETUP.FIR only for the generic profile
    (not for minimal or other targets) — alex@thinkpad / bitbucket
  97. Makefile: always check all minimal targets when running "make zip"
    (only check whether they compile without errors, just like with the installer) — alex@thinkpad / bitbucket
  98. Minimal target: moved the Hello World example into its own directory and removed old platform folders — alex@thinkpad / bitbucket
  99. Minimal targets: 5D3 1.1.3 hacks no longer needed — alex@thinkpad / bitbucket
  100. GDB scripts: fix IDC names containing spaces — alex@thinkpad / bitbucket
  101. QEMU: fix timeout in ImgPowDet emulation
    (there were nondeterministic errors in the FRSP test) — alex@thinkpad / bitbucket
  102. 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@thinkpad / bitbucket
  103. QEMU tests: ignore nondeterministic screenshot on 6D
    (may appear with or without free space) — alex@thinkpad / bitbucket
  104. GDB scripts: moved try_expand_ram_struct at the top — alex@thinkpad / bitbucket
  105. GDB scripts: minor whitespace fix — alex@thinkpad / bitbucket
  106. QEMU: ensure valid RAM address before executing EDMAC transfers
    (EOS M fails here when running FA_CaptureTestImage) — alex@thinkpad / bitbucket
  107. QEMU: image sensor power emulation
    (fixes FA_CaptureTestImage on 5D2; tested on all other models able to run the FRSP test) — alex@thinkpad / bitbucket
  108. QEMU: output dummy data (zeros) on read EDMAC connections

    Fixes FA_CaptureTestImage on 700D and 650D. — alex@thinkpad / bitbucket
  109. qemu-frsp: fix compiling for 70D — alex@thinkpad / bitbucket
  110. QEMU: allow reads to EDMAC CHSW registers
    (required for FA_CaptureTestImage emulation on 6D and others) — alex@thinkpad / bitbucket
  111. qemu-frsp: ensure valid exposure settings before the test
    (exposure time not too long, ISO other than Auto; required on 600D and others) — alex@thinkpad / bitbucket
  112. QEMU: fix YUV vertical scaling for 1100D
    (only the FRSP test uses it for now) — alex@thinkpad / bitbucket
  113. 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@thinkpad / bitbucket
  114. 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@thinkpad / bitbucket
  115. QEMU tests: handle models not yet in mainline
    (FRSP and HPTimer tests are using this for now) — alex@thinkpad / bitbucket
  116. QEMU: updated gcc 7/8 patch for systems using virtio-9p — alex@thinkpad / bitbucket
  117. QEMU: updated gcc 7.x patch to also work with gcc 8.x — alex@thinkpad / bitbucket
  118. eos.c: fix gcc8 warnings — alex@thinkpad / bitbucket
  119. Makefile: allow "make install*" without a FIR file
    (for minimal targets and new platforms) — alex@thinkpad / bitbucket
  120. QEMU logging: attempt to identify tail calls by default
    (-d calls,notail to disable) — alex@thinkpad / bitbucket
  121. QEMU tests: updated for 200D 1.0.1 — alex@thinkpad / bitbucket
  122. QEMU logging: moved IDC files into model subdirectories
    (for consistency with romcpy shell files) — alex@thinkpad / bitbucket
  123. QEMU logging: fix typo when using -d romcpy
    (output file path was not printed correctly) — alex@thinkpad / bitbucket
  124. QEMU tests: initial support for 800D
    (fixme: call trace not deterministic, same as 77D) — alex@thinkpad / bitbucket
  125. 800D: minor stub fixes in GDB script — alex@thinkpad / bitbucket
  126. qemu: add 800D to model_list.c, and add 800D/debugmsg.gdb — ian douglas scott _ian@iandouglasscott.com_ / bitbucket
  127. Config options: fix issue #2892
    (custom presets not appearing in menu) — alex@thinkpad / bitbucket
  128. Merged config_var_refactor into lua_fix — alex@thinkpad / bitbucket
  129. Merged unified into lua_fix — alex@thinkpad / bitbucket
  130. Menu: fix config var incorrectly changed during fast toggles
    (e.g. 36 -> 35 without calling the CBR) — alex@thinkpad / bitbucket
  131. Config variables: declare all internal structures static
    (minor refactor) — alex@thinkpad / bitbucket
  132. Config variables: include the forward declaration in the CONFIG_INT_EX definition
    (no longer needed to declare CONFIG_VAR_CHANGE_FUNC's twice) — alex@thinkpad / bitbucket
  133. Config variables: use CONFIG_VAR_CHANGE_FUNC (similar to MENU_SELECT_FUNC); minor renames — alex@thinkpad / bitbucket
  134. Merged unified into config_var_refactor — alex@thinkpad / bitbucket
  135. audio-ak: fix compiling for 500D — alex@thinkpad / bitbucket
  136. menu: short joystick clicks should not be interpreted as SET outside ML menu
    (fixes incorrect trigger of Auto ETTR from joystick, for example) — alex@thinkpad / bitbucket
  137. rename  xxx_update functions for config_vars to xxx_on_change — david milligan _david.l.milligan@gmail.com_ / bitbucket
  138. 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 _david.l.milligan@gmail.com_ / bitbucket
  139. Merge — david milligan _david.l.milligan@gmail.com_ / bitbucket
  140. config var: refactor audio-lapis to use new config var CBR (not tested -> I have none of these cameras) — david milligan _david.l.milligan@gmail.com_ / bitbucket
  141. config var: refactor audio-ak and audio-common to use new config var CBR (TODO: audio-lapis) — david milligan _david.l.milligan@gmail.com_ / bitbucket
  142. Ghost image: further cleanups and fixes — alex@thinkpad / bitbucket
  143. Ghost image: fix crash (issues #2796, #2783, #2878, #2885) — alex@thinkpad / bitbucket
  144. features.tmpl edited online with Bitbucket: use id in th section heading to allow for direct linking via anchor — erik krause _erik.krause@gmx.de_ / bitbucket
  145. Merged in edmac (pull request #886)

    EDMAC module: fixes for DIGIC 4, connection map — alex@thinkpad / bitbucket
  146. Merged in adv_int (pull request #907)

    Advanced intervalometer updates — alex@thinkpad / bitbucket
  147. Merged in memory-backend (pull request #906)

    Memory backend improvements — alex@thinkpad / bitbucket
  148. Makefile: fix "make install_qemu CONFIG_QEMU=y" for minimal targets — alex@thinkpad / bitbucket
  149. QEMU: experimental support for gdb-multiarch
    (latest Ubuntu no longer has gdb-arm-none-eabi...) — alex@thinkpad / bitbucket
  150. QEMU install: minor fixes — alex@thinkpad / bitbucket
  151. 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@thinkpad / bitbucket
  152. QEMU install: on older Ubuntu, gcc/gdb installation without package manager may be required — alex@thinkpad / bitbucket
  153. QEMU install: minor fix for 32-bit Ubuntu
    (option 3: no 64-bit gcc available) — alex@thinkpad / bitbucket
  154. QEMU installer: removed option to allow old 64-bit GDB
    (hopefully no longer needed) — alex@thinkpad / bitbucket
  155. QEMU installer: minor fix regarding GDB installation
    (force compiling from source if a valid 64-bit gdb is already installed) — alex@thinkpad / bitbucket
  156. 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@thinkpad / bitbucket
  157. QEMU install: there's no DISPLAY variable on Mac — alex@thinkpad / bitbucket
  158. QEMU: better emulation for cache patches

    (uninstalling works, at least for dm-spy-experiments) — alex@thinkpad / bitbucket
  159. QEMU: fix CPU0 labels incorrectly appearing in DIGIC 6 logs
    (only DIGIC 7 should display these) — alex@thinkpad / bitbucket
  160. QEMU: moved ARM946EOS-specific functions (cache lockdown and WFI) from cpu.c to helper.c — alex@thinkpad / bitbucket
  161. 100D: fix INPUT_ENABLE_IMAGE_PHYSICAL_SCREEN_PARAMETER (display filters working)

    https://www.magiclantern.fm/forum/index.php?topic=16040.msg202397#msg202397 — alex@thinkpad / bitbucket
  162. 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@thinkpad / bitbucket
  163. Minimal targets: CONFIG_QEMU no longer hardcoded in Makefile
    (should be specified on the command line if desired) — alex@thinkpad / bitbucket
  164. 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@thinkpad / bitbucket
  165. QEMU: fix printing callstack from GDB scripts
    (broken in 1834cd8) — alex@thinkpad / bitbucket
  166. GDB scripts: workaround for a crash occuring with 5D
    (possibly GDB bug; can't explain why it works) — alex@thinkpad / bitbucket
  167. qemu-frsp: fix compiling on lua_fix codebase
    (1200D and soon all others) — alex@thinkpad / bitbucket
  168. QEMU: updated expected test results for 1200D 1.0.2
    (no stubs changed in debugmsg.gdb) — alex@thinkpad / bitbucket
  169. QEMU: removed bogus/unused BGMT_ISO — alex@thinkpad / bitbucket
  170. 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@thinkpad / bitbucket
  171. QEMU: fix compiling on 32-bit x86 hosts

    Caveat: -d romcpy not working on x86 (requires int128_t) — alex@thinkpad / bitbucket
  172. QEMU README: initial notes on DIGIC 7 — alex@thinkpad / bitbucket
  173. Merged in nikfreak/magic-lantern/unified_sf_dump_70D (pull request #853)

    sf_dump.mo: support for 70D — alex@thinkpad / bitbucket
  174. Close branch — alex@thinkpad / bitbucket
  175. add 70D stubs for sf_dump module — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  176. Created new branch unified_sf_dump_70D — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  177. Merged in es_as/magic-lantern (pull request #891)

    650D: sf_dump stubs — alex@thinkpad / bitbucket
  178. 650D:sf_dump stubs — esas _e_aspestrand@hotmail.com_ / bitbucket
  179. Merged in daniel_fort/magic-lantern/unified_650D.104_stub_fix (pull request #923)

    Fix 650D PlayMovieGuideApp_handler — alex@thinkpad / bitbucket
  180. Find the latest version of exiftool. — daniel fort _dan@digiola.com_ / bitbucket
  181. Close branch — alex@thinkpad / bitbucket
  182. Fixed stub. Discovered while running lua API tests.
    https://www.magiclantern.fm/forum/index.php?topic=7473.msg200626#msg200626 — daniel fort _dan@digiola.com_ / bitbucket
  183. 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@thinkpad / bitbucket
  184. QEMU logging: initial support for DIGIC 7
    (CPU0 only; exception vectors at nonzero address) — alex@thinkpad / bitbucket
  185. QEMU tests: ROM dumper needs larger timeout on slower computers; undo unwanted changes from cb93334 — alex@thinkpad / bitbucket
  186. QEMU tests: fix expected results for restore after format after updating SD image — alex@thinkpad / bitbucket
  187. 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@thinkpad / bitbucket
  188. QEMU: usleep patching no longer required on M3 — alex@thinkpad / bitbucket
  189. QEMU: updated ROM dump tests to check SFDATA.BIN too
    (currently only applies to DIGIC 6) — alex@thinkpad / bitbucket
  190. QEMU: updated SD image with latest display test
    (changeset 9b37638) — alex@thinkpad / bitbucket
  191. 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@thinkpad / bitbucket
  192. QEMU: fix logging of MMIO registers from the same range as MREQ
    (eos_handle_mreq also receives a few other registers, unknown yet) — alex@thinkpad / bitbucket
  193. 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@thinkpad / bitbucket
  194. QEMU: reordered model definitions in model_list.c
    (grouped by DIGIC version and similarity) — alex@thinkpad / bitbucket
  195. 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@thinkpad / bitbucket
  196. 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@thinkpad / bitbucket
  197. QEMU logging: -d romcpy now output a shell script for extracting the copied blocks — alex@thinkpad / bitbucket
  198. QEMU: memfd patch to fix compilation with glibc 2.27
    https://patchwork.openembedded.org/patch/147682/ — alex@thinkpad / bitbucket
  199. 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@thinkpad / bitbucket
  200. QEMU: updated CPU definition for DIGIC 7; renamed for older models and reverted the HIVECS property back to false — alex@thinkpad / bitbucket
  201. QEMU tests: updated checksums for EOS M/M2 screenshots displaying date/time
    (fix commit 8c575ef99b7f) — alex@thinkpad / bitbucket
  202. QEMU tests: updated checksum for a screenshot affected by transparency - commit 5b274e3
    (Canon quirk - it's not even a LiveView screenshot) — alex@thinkpad / bitbucket
  203. annotate_mpu_log.py: allow incomplete mpu_send/recv lines
    (such as the ones from 80D logs) — alex@thinkpad / bitbucket
  204. MPU spells: documented some AF-related properties — alex@thinkpad / bitbucket
  205. GDB scripts: also identify and name PTP handlers — alex@thinkpad / bitbucket
  206. 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@thinkpad / bitbucket
  207. 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@thinkpad / bitbucket
  208. QEMU: SRM_SetBusy/ClearBusy emulation for 5D3/6D/70D — alex@thinkpad / bitbucket
  209. annotate_mpu_log.py: mark unknown MPU messages with ???

    (this ensures all MPU messages are displayed to the terminal, including unknown ones) — alex@thinkpad / bitbucket
  210. 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@thinkpad / bitbucket
  211. Lua: added sleep() with floating-point argument
    (similar to msleep) — alex@thinkpad / bitbucket
  212. Lua: option to disable powersave while running tasks created from scripts

    Example: task.create(func, nil, nil, true) — alex@thinkpad / bitbucket
  213. Powersave: experimental option to disable the 30-minute timer in LiveView — alex@thinkpad / bitbucket
  214. Powersave: simplified the option to enable while recording;
    updated help; aligned menu definition — alex@thinkpad / bitbucket
  215. 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@thinkpad / bitbucket
  216. property.h: fix declaration of prop_deliver
    (first argument is a pointer to the property, unlike prop_request_change) — alex@thinkpad / bitbucket
  217. boot-hack: no real reason to use short for magic_off
    ( — alex@thinkpad / bitbucket
  218. boot-hack: make sure our relocation buffer is 32-bit aligned
    (it usually is, unless compiler decides otherwise) — alex@thinkpad / bitbucket
  219. Lua: experimental camera.flash (get/set)
    shoot.h: added set_flash_firing — alex@thinkpad / bitbucket
  220. 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@thinkpad / bitbucket
  221. Menu: QEMU hack 90f702c no longer needed for EOS M/M2
    (keeping changes to gui.h and button_codes.h) — alex@thinkpad / bitbucket
  222. 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@thinkpad / bitbucket
  223. 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@thinkpad / bitbucket
  224. QEMU: enabled MPU properties for EOS M (no more issues after LiveView emulation) — alex@thinkpad / bitbucket
  225. 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 — alex@thinkpad / bitbucket
  226. Experimental option to load ML only when holding SET pressed at startup
    https://www.magiclantern.fm/forum/index.php?topic=21765.msg198779#msg198779 — alex@thinkpad / bitbucket
  227. config.h: require const char * for config_flag_file_setting_save/load — alex@thinkpad / bitbucket
  228. EOS M: disabled long-press SET/Q (let's try PLAY for submenus) — alex@thinkpad / bitbucket
  229. Menu: use PLAY (in addition to Q) for opening submenus (experiment)
    https://www.magiclantern.fm/forum/index.php?topic=4386.msg198669#msg198669 — alex@thinkpad / bitbucket
  230. Menu: disabled Junkie mode; MENU key just goes back
    https://www.magiclantern.fm/forum/index.php?topic=4386.msg198720#msg198720

    Can be re-enabled by defining FEATURE_JUNKIE_MENU in features.h — alex@thinkpad / bitbucket
  231. Auto ETTR: backout EOS M specific changes (pull request $428), hopefully no longer needed.
    Triggering by SET should now work just like on all other camera models.
    Not tested, please report back. — alex@thinkpad / bitbucket
  232. EOSM: enable the SET/Q long-press trick from 100D
    (short press = SET, long press = Q) — alex@thinkpad / bitbucket
  233. 100D, EOSM: attempt to fix pressing SET at startup to bypass ML
    https://www.magiclantern.fm/forum/index.php?topic=21765.msg198761#msg198761
    (the INFO key can now be used for config presets, just like with all other models)

    Change made generic, for any future models that might use a combined Q/SET button. — alex@thinkpad / bitbucket
  234. QEMU: send PROP_LV_LENS message at initialization (5D3 1.1.3; 1.2.3 commented; the message is model-specific)

    Useful for LiveView emulation (display focal length, focus distance etc)
    Message sent in a different place (not as in the logs), as it interferes with our (broken) LiveView emulation — alex@thinkpad / bitbucket
  235. QEMU: experimental bitmap transparency support
    (doesn't match the hardware exactly, but it's better than nothing) — alex@thinkpad / bitbucket
  236. QEMU: experimental movie mode switch (V key)
    Some cameras have dedicated movie mode on the dial, others use a switch and can record video in any mode dial position. — alex@thinkpad / bitbucket
  237. QEMU: key mapping for Zoom In / Zoom Out (they don't do anything interesing yet);
    allow defining different keybindings on the same physical key (5D3/6D: only one zoom button, unlike most others)
    cleaned up zoom button handling on 5D3 and 6D (unpress zoom out should not be sent from keyboard, for example) — alex@thinkpad / bitbucket
  238. QEMU: fix copy/paste error in HPTimer emulation
    (no side effects) — alex@thinkpad / bitbucket
  239. QEMU tests: large timeouts appear to help in some tricky cases
    (such as mode switches, which may be slower than usual) — alex@thinkpad / bitbucket
  240. QEMU: updated GUI tests for LiveView.

    EOS M/M2: no more reason to start with the date/time dialog.
    Still some color palette issues; usually can be worked around by switching to other video mode and back.
    Minor call trace differences for 650D and 700D (missed from previous commit) — alex@thinkpad / bitbucket
  241. QEMU: LiveView works!!! (GUI elements only, no image)
    Credits go to Greg for the first PoC https://www.magiclantern.fm/forum/index.php?topic=2864.msg179867#msg179867

    Tests not yet updated, just to check whether the implementation is really without side effects outside LV.
    Only one screenshot changed - on EOS M (that screenshot was already in LiveView).
    Note: 70D uses more EDMAC connections; increased number from 48 to 64. — alex@thinkpad / bitbucket
  242. MPU spells: identified some more properties while looking into the EOSM shutter bug
    https://www.magiclantern.fm/forum/index.php?topic=21728.0 — alex@thinkpad / bitbucket
  243. QEMU: validate calls to eos_trigger_int
    allow missing UART RX/TX interrupt and just print a warning
    (affected: Eeko and EOS M5; fix not obvious) — alex@thinkpad / bitbucket
  244. QEMU: removed unnecessary assertion in interrupt controller
    (triggered very rarely under "normal" conditions, but happens very often with io_trace) — alex@thinkpad / bitbucket
  245. QEMU tests: run the GDB test for 10 seconds
    (these logs will be used for building the interrupt map) — alex@thinkpad / bitbucket
  246. QEMU: fix alignment of MMIO messages before starting tasks (-d io) — alex@thinkpad / bitbucket
  247. QEMU: fix HPTimer handling of periodic triggers
    (VxWorks models use a HPTimer as heartbeat, unlike DryOS)

    No visible differences on the UI, but heartbeat is now triggering on all VxWorks models.

    Minor emulation differences on 60D, 600D, 650D, 700D, 100D, EOSM, 6D (besides VxWorks models). — alex@thinkpad / bitbucket
  248. GDB scripts: EOSM.202 stubs for logging properties
    (related: af43d85) — alex@thinkpad / bitbucket
  249. annotate_mpu_log.py: fix handling logs with Windows newlines
    https://www.magiclantern.fm/forum/index.php?topic=21728.msg198330#msg198330 — alex@thinkpad / bitbucket
  250. QEMU: delay EDMAC reads by one timer step (apparently reads are supposed to finish after writes)

    Change required to pass the memory benchmark on 5D3 and 6D.
    700D gives the same error if writes are delayed.

    Minor changes to call/return trace on 60D, 600D, 1200D and 1300D (no visible effects). — alex@thinkpad / bitbucket
  251. QEMU tests: updated EOSM2 call/return trace for latest SFDATA.BIN from dfort
    (previously, SFDATA.BIN for 100D was assumed; no visible changes) — alex@thinkpad / bitbucket
  252. QEMU: declared silent control events for 5D3
    (not used; only for annotations) — alex@thinkpad / bitbucket
  253. MPU spells: found PROP_LV_APERTURE and PROP_SILENT_CONTROL_STATUS — alex@thinkpad / bitbucket
  254. QEMU: declared internal zoom in/out events for 5D3
    (they are sent by the MPU during GUI mode switches) — alex@thinkpad / bitbucket
  255. QEMU: fix LV button code for 5D3 — alex@thinkpad / bitbucket
  256. annotate_mpu_log.py: more output options (to stdout, to file, auto rename) — alex@thinkpad / bitbucket
  257. MPU spells: script to annotate logs with mpu_send/recv events
    (known MPU messages moved to known_spells.py) — alex@thinkpad / bitbucket
  258. Makefile: fix "make install_qemu CONFIG_QEMU=y" for minimal targets — alex@thinkpad / bitbucket
  259. VRAM: enabled workaround from 03c5f43 on all models
    (fixes Arkanoid, benchmarks and others on fresh startup in photo mode, without any images on the card) — alex@thinkpad / bitbucket
  260. Makefile: fix "make clean" for modules not enabled by default — alex@thinkpad / bitbucket
  261. Merged memory-backend into lua_fix
    (memset32 fix) — alex@thinkpad / bitbucket
  262. selftest: tests for model ID functions (is_camera etc) — alex@thinkpad / bitbucket
  263. is_camera: extended to allow checking DIGIC version
    e.g. if (is_camera("DIGIC", "5")) { ... } — alex@thinkpad / bitbucket
  264. memset64/memcpy64: use versions from b831cb1; fix calls from Magic Zoom to ensure proper alignment — alex@thinkpad / bitbucket
  265. Backout b831cb1 (breaks Magic Zoom and CONFIG_MARK_UNUSED_MEMORY_AT_STARTUP, as memset64 is not the same as memset) — alex@thinkpad / bitbucket
  266. 100D: disabled full-screen magic zoom (issue #2842) — alex@thinkpad / bitbucket
  267. menu: fix typo regarding short unpress events
    (side effect: short joystick press also moved the menu selection up on 5D3) — alex@thinkpad / bitbucket
  268. adv_int: ignore empty lines when loading keyframes — alex@thinkpad / bitbucket
  269. adv_int: use strstr instead of my_strstr (fixes slow load) — alex@thinkpad / bitbucket
  270. Include strstr in ML core — alex@thinkpad / bitbucket
  271. adv_int: refactor keyframe time formatting — alex@thinkpad / bitbucket
  272. adv_int: auto-load the saved sequence at startup — alex@thinkpad / bitbucket
  273. adv_int: renamed menu entry to "Ramping options" — alex@thinkpad / bitbucket
  274. Memory backend: drop timestamps from history; show last 1024 events — alex@thinkpad / bitbucket
  275. Memory backend: show total allocations (number and amount), including untracked ones — alex@thinkpad / bitbucket
  276. Memory backend: allow using shoot_malloc as a last resort, even for small blocks;
    allow small blocks (smaller than minimum_free_space / 64) to break the minimum_free_space limit (until minimum_free_space / 4)
    fine-tuned until the old set of Lua scripts were able to run on 1100D without umm_malloc — alex@thinkpad / bitbucket
  277. Memory backend: a pointer to task names (rather than copying the full string) should be enough — alex@thinkpad / bitbucket
  278. Memory backend: renamed memcheck_mallocbuf to memcheck_entries — alex@thinkpad / bitbucket
  279. Moved memset64 and memcpy64 to bench.mo
    - simplified to accept only 32-bit aligned pointers
    - using regular memset for Magic Zoom
    - closing issue #1995 — alex@thinkpad / bitbucket
  280. Memory backend: if shoot_malloc fails, try SRM next
    (poor man's autodetection, since we don't know how to query the available size in advance) — alex@thinkpad / bitbucket
  281. exmem: reworked shoot_malloc to handle large requests better
    - moved autodetection to dedicated functions (for both fragmented and continuous allocations)
    - autodetect the max available size for large requests (slower, but when it fails, it fails gracefully) — alex@thinkpad / bitbucket
  282. exmem: removed the "relaxed" checks introduced in 04f02a4
    (not sure why they were needed; we'll find out if it fails) — alex@thinkpad / bitbucket
  283. exmem: speed-up shoot_malloc
    (1s timeout probably not needed) — alex@thinkpad / bitbucket
  284. exmem: do not keep track of full shoot memory allocations
    (allows reserving some memory in advance and allocating all the remaining RAM afterwards) — alex@thinkpad / bitbucket
  285. Memory backend: fix handling of untracked blocks
    (possible buffer overflow before this fix) — alex@thinkpad / bitbucket
  286. Memory backend: figured out why AllocateContinuousMemoryResource may crash with many small blocks

    (todo: figure out where to keep 89e3b12 or not; adapt tests if not) — alex@thinkpad / bitbucket
  287. Memory backend: when checking available memory, allocate both Shoot ans SRM at the same time
    (they may overlap) — alex@thinkpad / bitbucket
  288. Memory backend: fix initialization — alex@thinkpad / bitbucket
  289. mem.c: option to disable heap poisoning
    (useful when running in QEMU with -d memcheck - with this, overflowing reads will be caught as well) — alex@thinkpad / bitbucket
  290. Memory backend: allow breaking minimum_free_space for small blocks
    (it was possible to fail the allocation for very small blocks that could not be covered by shoot_malloc) — alex@thinkpad / bitbucket
  291. Memory backend: allow AllocateMemory as a last resort, even if free space is below limit
    (it was possible to fail the allocation for very small blocks that could not be covered by shoot_malloc) — alex@thinkpad / bitbucket
  292. memory backend: reduce memcheck area (should reduce overhead a bit) — alex@thinkpad / bitbucket
  293. memory backend: ignore null pointers passed to free (Lua does that) — alex@thinkpad / bitbucket
  294. exmem: when autodetecting available memory, print all srm/shoot memory blocks to console — alex@thinkpad / bitbucket
  295. Memory backend: drop timestamps from history; show last 1024 events — alex@thinkpad / bitbucket
  296. Memory backend: show total allocations (number and amount), including untracked ones — alex@thinkpad / bitbucket
  297. Memory backend: allow using shoot_malloc as a last resort, even for small blocks;
    allow small blocks (smaller than minimum_free_space / 64) to break the minimum_free_space limit (until minimum_free_space / 4)
    fine-tuned until the old set of Lua scripts were able to run on 1100D without umm_malloc — alex@thinkpad / bitbucket
  298. Memory backend: a pointer to task names (rather than copying the full string) should be enough — alex@thinkpad / bitbucket
  299. Memory backend: renamed memcheck_mallocbuf to memcheck_entries — alex@thinkpad / bitbucket
  300. Moved memset64 and memcpy64 to bench.mo
    - simplified to accept only 32-bit aligned pointers
    - using regular memset for Magic Zoom
    - closing issue #1995 — alex@thinkpad / bitbucket
  301. Memory backend: if shoot_malloc fails, try SRM next
    (poor man's autodetection, since we don't know how to query the available size in advance) — alex@thinkpad / bitbucket
  302. exmem: reworked shoot_malloc to handle large requests better
    - moved autodetection to dedicated functions (for both fragmented and continuous allocations)
    - autodetect the max available size for large requests (slower, but when it fails, it fails gracefully) — alex@thinkpad / bitbucket
  303. exmem: removed the "relaxed" checks introduced in 04f02a4
    (not sure why they were needed; we'll find out if it fails) — alex@thinkpad / bitbucket
  304. exmem: speed-up shoot_malloc
    (1s timeout probably not needed) — alex@thinkpad / bitbucket
  305. exmem: do not keep track of full shoot memory allocations
    (allows reserving some memory in advance and allocating all the remaining RAM afterwards) — alex@thinkpad / bitbucket
  306. Memory backend: fix handling of untracked blocks
    (possible buffer overflow before this fix) — alex@thinkpad / bitbucket
  307. Memory backend: figured out why AllocateContinuousMemoryResource may crash with many small blocks

    (todo: figure out where to keep 89e3b12 or not; adapt tests if not) — alex@thinkpad / bitbucket
  308. Intervalometer: attempt to get sligthly better timing accuracy, to be tested
    http://www.magiclantern.fm/forum/index.php?topic=21617.msg197314#msg197314 — alex@thinkpad / bitbucket
  309. Moved timer functions to timer.h (always included from dryos.h)
    Renamed get_ms_clock_value / get_us_clock_value to get_ms_clock / get_us_clock
    Replaced all hardcoded references to 0xC0242014 with GET_DIGIC_TIMER()
    ```
    find . -not -path '*/\.*' -type f -name '*.c' -o -name '*.h' -exec sed -i 's/get_ms_clock_value/get_ms_clock/g' {} +
    find . -not -path '*/\.*' -type f -name '*.c' -o -name '*.h' -exec sed -i 's/get_us_clock_value/get_us_clock/g' {} +
    sed -i 's/\*(volatile uint32_t \*)0xC0242014/GET_DIGIC_TIMER()/' */*.c
    ...
    ``` — alex@thinkpad / bitbucket
  310. Reworked get_ms_clock_value / get_us_clock_value / get_seconds_clock
    - only update the 64-bit us_clock on each call (overhead from ~ 4us reduced to less than 1us)
    - lower-resolution clocks are always derived from the microsecond clock and computed only on request
    - dropped get_ms_clock_value_fast — alex@thinkpad / bitbucket
  311. imath.h: fix comments for FMT_FIXEDPOINT*; added FMT_FIXEDPOINT6 — alex@thinkpad / bitbucket
  312. QEMU: workaround to emulate io_trace
    (without it, many MMIO events are missed, apparently because of QEMU's TLB cache) — alex@thinkpad / bitbucket
  313. NotifyBox: log messages to QEMU console — alex@thinkpad / bitbucket
  314. GDB scripts: replaced *(int*)(x) with MEM(x)
    (for consistency with other ML code, and maybe slightly easier to read) — alex@thinkpad / bitbucket
  315. QEMU: experimental Q button emulation for 100D
    (not 100% sure about it, but seems to emulate the long Q/SET press correctly) — alex@thinkpad / bitbucket
  316. img_name.mo: added README — alex@thinkpad / bitbucket
  317. img_name: moved options into a submenu
    (had to adjust menu callbacks a bit) — alex@thinkpad / bitbucket
  318. img_name: experimental option to change image file number
    (fixme: requires restart) — alex@thinkpad / bitbucket
  319. Properties: declared PROP_FILE_NUMBERING_MODE and PROP_NUMBER_OF_CONTINUOUS_MODE; allow changing the latter — alex@thinkpad / bitbucket
  320. img_name: save the user-set prefix in config file — alex@thinkpad / bitbucket
  321. img_name: make it clear whether the option is active or not;
    disable when user sets prefix back to original value — alex@thinkpad / bitbucket
  322. img_name: misc small fixes
    - no strcpy
    - warn if IME modules are not loaded
    - fix changing the fourth character
    - fill with _ if user enters less than 4 characters
    - moved to Shoot menu (it only applies to still pictures)
    - menu appearance, help update
    - no symbols exported
    - fix warnings — alex@thinkpad / bitbucket
  323. Renamed filepref.mo to img_name.mo
    (it only applies to still images, not to any kind of files, and "pref" could be misread as "preferences") — alex@thinkpad / bitbucket

#12 (Oct 11, 2018 2:20:13 AM)

  1. Merged patchmgr into 70D_merge_fw112 — alex@thinkpad / bitbucket
  2. 70D: disabled arrow key shortcuts and related workarounds
    https://www.magiclantern.fm/forum/index.php?topic=14309.msg206396#msg206396 — alex@thinkpad / bitbucket
  3. arm-mcr.h: minor cleanups, non-functional:

    - moved _sync_caches in the old place
    - commented out setup_memory_region et al — alex@thinkpad / bitbucket
  4. Patch manager: provide a default sync_caches for targets that don't include it
    (minimal, installer, reboot) — alex@thinkpad / bitbucket
  5. Patch manager: moved sync_caches in patch.c and removed the "weak" trickery
    (fixes patch restoring when called from modules) — alex@thinkpad / bitbucket
  6. 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@thinkpad / bitbucket

#11 (Feb 17, 2018 2:57:57 AM)

  1. Merged patchmgr into 70D_merge_fw112 — alex@thinkpad / bitbucket
  2. Merged lua_fix into 70D_merge_fw112 — alex@thinkpad / bitbucket
  3. Fix compiling with CONFIG_DIGIC_POKE — alex@thinkpad / bitbucket
  4. Modules: patch.h no longer needed — alex@thinkpad / bitbucket
  5. Modules: fix enabling "long" modules when using config presets (issue #2789)
    to reproduce: arkanoid.mo -> ML/SETTINGS/MENU.KEY/arkanoid. -> file create error on exfat
    modules with shorter name: adv_int.mo -> ML/SETTINGS/MENU.KEY/adv_int.e -> it appears to work fine, but it's incorrect
    worst case: arkanoid.mo -> ML/SETTINGS/MYPRESET.NAM/adv_i -> it appears to work fine, possible name clash with other modules — alex@thinkpad.localdomain / bitbucket
  6. shoot: attempt to make public photo capture functions thread safe, to some extent
    a bit of a hack; some serious rework needed to fix this properly
    at least it appears to fix http://www.magiclantern.fm/forum/index.php?topic=21590.0 — alex@thinkpad / bitbucket
  7. Bracketing: debug messages for troubleshooting http://www.magiclantern.fm/forum/index.php?topic=21590.0 — alex@thinkpad / bitbucket
  8. shoot: make the so-called remote_shoot always take pictures, not movies
    (moved movie functionality in lcdsensor/lightsensor - anything else broken?) — alex@thinkpad / bitbucket
  9. lens_take_picture: always wait until the image capture process starts (and optionally wait for it to finish) — alex@thinkpad / bitbucket
  10. Lua: fix camera.wait() not appearing in API docs — alex@thinkpad / bitbucket
  11. selftest: also test get_task_name_from_id, not just get_current_task_name
    (they use different Canon APIs) — alex@thinkpad / bitbucket
  12. Attempt to fix conflict between ML and Canon overlays on recent DIGIC 4 models
    confirmed on 1200D, likely applies to 1300D as well
    http://www.magiclantern.fm/forum/index.php?topic=12627.msg196304#msg196304 — alex@thinkpad / bitbucket
  13. gui-common: remove outdated comment — alex@thinkpad / bitbucket
  14. Menu: some rough support for sumbenus where the initial field enables the entire group
    - the initial field should have the same .priv field as the master entry, and .select = menu_open_submenu
    - prevent graying out the field used for enabling, even if it gives the truth value for the master menu entry
    - do not print value by default for submenus (we already draw a forward sign) — alex@thinkpad / bitbucket
  15. gui-common: make translated longpress events (such as Q on certain models) available to other modules (tested with Lua) — alex@thinkpad / bitbucket
  16. Menu: refactored long-press checks with a common function and data structure
    (to be tested; may affect every single camera model) — alex@thinkpad / bitbucket
  17. Menu: use animation for all longpress handlers — alex@thinkpad / bitbucket
  18. Merged 100D_merge_fw101 into lua_fix
    (going to refactor the SET/Q button handling) — alex@thinkpad / bitbucket
  19. lens.h: some models have larger PROP_LV_LENS
    EOSM: 61; 70D/100D: 58; 5D3.123/6D: 56 — alex@thinkpad / bitbucket
  20. Lens info: attempt to update outside LiveView, to be tested
    focus distance, focal length on zoom lenses etc are now updated every second
    credits Greg: http://www.magiclantern.fm/forum/index.php?topic=2864.msg169977#msg169977 — alex@thinkpad / bitbucket
  21. lens_info: use lens_info.lens_exists instead of lens_info.name[0]
    (from manual_lens_info) — alex@thinkpad / bitbucket
  22. 100D: attempt to fix Q/SET regression (tested in QEMU, unsure about the exact hardware behavior)
    http://www.magiclantern.fm/forum/index.php?topic=16040.msg196769#msg196769
    also reduced long-press delay to 0.5 seconds — alex@thinkpad / bitbucket
  23. Merged allocate-raw-lv-buffer into lua_fix
    (minor; 5D3.123 fix) — alex@thinkpad / bitbucket
  24. Merged unified into lua_fix
    (DOF fixes) — alex@thinkpad / bitbucket
  25. Merged in garry23/dof-fix-for-focus.c/garry23/focusc-edited-online-with-bitbucket-by-g-1495645868417 (pull request #831)

    Changed the DoF equations to better handle integer math and used a different source for the equations. — alex@thinkpad / bitbucket
  26. Dummy merge (reference changeset for make install_qemu) — alex@thinkpad / bitbucket
  27. Merged in makefile-updates (pull request #898)

    Makefile updates part 2 (minor fixes, updated make install_qemu) — alex@thinkpad / bitbucket
  28. focus.c: fix possible overflow when computing hyperfocal (corner case)
    examples (focal_len, focus_dist):
    73 4689
    90 7123
    91 7282
    98 8444
    ... — alex@thinkpad / bitbucket
  29. focus.c: fix typo pointed out by garry23
    http://www.magiclantern.fm/forum/index.php?topic=9741.msg196728#msg196728 — alex@thinkpad / bitbucket
  30. Merged longpress into lua_fix — alex@thinkpad / bitbucket
  31. edmac.mo: simplified menu definition for log interval
    (using the new routines for rounding options) — alex@thinkpad / bitbucket
  32. Merged edmac into lua_fix — alex@thinkpad / bitbucket
  33. Makefile: updated rules for "make install_qemu" (for reference, should anyone ever want to use them on older changesets)
    Before using them, qemu has to be installed first in qemu-eos (from the qemu branch)
    QEMU installation directory can be changed from the QEMU_DIR environment variable, or from Makefile.user — alex@thinkpad / bitbucket
  34. Changed the DoF equations to better handle integer math and used a different source for the equations. — garry george _garry.george@grayheron.net_ / bitbucket
  35. focus.c edited online with Bitbucket — garry george _garry.george@grayheron.net_ / bitbucket
  36. focus.c edited online with Bitbucket (updated) — garry george _garry.george@grayheron.net_ / bitbucket
  37. focus.c edited online with Bitbucket by Garry — garry george _garry.george@grayheron.net_ / bitbucket
  38. Menu: fine-tuned long-press indicator appearance
    - using filled circles
    - using a sine table to avoid roundoff errors — alex@thinkpad / bitbucket
  39. Merged unified into longpress — alex@thinkpad / bitbucket
  40. Menu: simple long-press indicator (animated) — alex@thinkpad / bitbucket
  41. EOS M: fix menu navigation;
    make sure the long-press code can be enabled on other models
    (to enable, define CONFIG_LONG_PRESS_SET_MENU in internals.h) — alex@thinkpad / bitbucket
  42. gui-common: moved button logging code at the top
    (to make sure all events are printed in all modes) — alex@thinkpad / bitbucket
  43. Raw backend: DEFAULT_RAW_BUFFER_SIZE for 700D and EOSM (thanks dfort) — alex@thinkpad / bitbucket
  44. mem.c: fix compiling for 5D3.123
    (display buffer address depends on HDMI options) — alex@thinkpad / bitbucket
  45. Merged new_dryos_task_hooks into 100D_merge_fw101 — alex@thinkpad / bitbucket
  46. 100D: cleanup handling of the Q button
    (see b9e0b9e) — alex@thinkpad / bitbucket
  47. Merged new_dryos_task_hooks into lua_fix — alex@thinkpad / bitbucket
  48. Merged allocate-raw-lv-buffer into lua_fix — alex@thinkpad / bitbucket
  49. Merged qemu into lua_fix — alex@thinkpad / bitbucket
  50. selftest: EOSM takes the crown for the lowest amount of shoot_memory available
    (fragmented allocation can no longer be tested with hardcoded value) — alex@thinkpad / bitbucket
  51. Raw backend: 60D appears to allocate 28MB for the raw buffer — alex@thinkpad / bitbucket
  52. Raw backend: updated 5D3 hypothesis about Canon LV RAW buffer
    (todo: re-check 1.2.3) — alex@thinkpad / bitbucket
  53. Raw backend: attempt to autodetect Canon's raw buffer size
    Usage:
    - compile with CONFIG_MARK_UNUSED_MEMORY_AT_STARTUP (config-defines.h)
    - open the console (Debug menu) and enable something that uses LiveView RAW features (raw video, raw histogram etc)
    - test by starting the camera in all video modes (photo, 1080p, 720p, crop, x5 etc)
    - take a screenshot or write down the console messages — alex@thinkpad / bitbucket
  54. Raw backend: fix compilation on very old models
    (without CONFIG_EDMAC_RAW_SLURP) — alex@thinkpad / bitbucket
  55. 1100D: CONFIG_ALLOCATE_RAW_LV_BUFFER may not be needed, after all
    http://www.magiclantern.fm/forum/index.php?topic=1009.1450 — alex@thinkpad / bitbucket
  56. Free Memory dialog: updated common addresses to allow dynamically allocated buffers (not just hardcoded ones);
    also show current RAW and BMP buffer(s), not just the YUV ones — alex@thinkpad / bitbucket
  57. Raw backend: 1100D also needs DEFAULT_RAW_BUFFER / DEFAULT_RAW_BUFFER_SIZE — alex@thinkpad / bitbucket
  58. Raw backend: 1100D needs CONFIG_ALLOCATE_RAW_LV_BUFFER after refactoring — alex@thinkpad / bitbucket
  59. Raw backend: use dummy DEFAULT_RAW_BUFFER_SIZE until the real size is found
    without this, most builds would be broken
    fixme: old models without CONFIG_EDMAC_RAW_SLURP are still broken — alex@thinkpad / bitbucket
  60. Raw backend: sync memory allocation routines with crop_rec_4k
    (squashed 8287b4f, 0ff9f1f, 3948408, d55423f, ebf206a, 3bc3637, cad72ea and 2bc5c3a, keeping only changes to raw.c) — alex@thinkpad / bitbucket
  61. mlv_lite, mlv_rec: dialog_refresh_timer_addr for 1100D
    (to be tested) — alex@thinkpad / bitbucket
  62. Merged unified into allocate-raw-lv-buffer — alex@thinkpad / bitbucket
  63. GUI: removed BGMT_Q_ALT
    to be tested on 1100D, 550D, 600D, 60D
    and also on recent ports (100D, 1200D, 1300D) — alex@thinkpad / bitbucket
  64. Merged new-dryos-task-hooks into lua_fix — alex@thinkpad / bitbucket
  65. selftest: reduced memory requirements to allow 1100D to pass the memory tests — alex@thinkpad / bitbucket
  66. 1100D: raw skip offsets for LiveView — alex@thinkpad / bitbucket
  67. Patch manager: nicer way to avoid calling _reapply_cache_patches when not present
    (fixes compiling the installer target and removes the need for defining NO_CACHE_PATCHES) — alex@thinkpad / bitbucket
  68. Merged unified into patchmgr — alex@thinkpad / bitbucket
  69. Merged new-dryos-task-hooks into 100D_merge_fw101
    (enabled CONFIG_NEW_DRYOS_TASK_HOOKS in internals.h; added task_dispatch_hook comment) — alex@thinkpad / bitbucket
  70. 100D: enabled Sticky half-shutter (unlikely to cause issues) and Sticky DOF preview (to be tested) — alex@thinkpad / bitbucket
  71. Changed the DoF equations to better handle integer math and used a different source for the equations. — garry george _garry.george@grayheron.net_ / bitbucket
  72. Menu: added different rounding mode flags: ISO R10", R20", 1-2-5 series, powers of 2 — alex@thinkpad / bitbucket
  73. Menu: cleaned up edit_mode constants
    (removed unused EM_MANY_VALUES and renamed EM_MANY_VALUES_LV to EM_SHOW_LIVEVIEW) — alex@thinkpad / bitbucket
  74. Menu: added UNIT_TIME_MS and UNIT_TIME_US with caret editing support; minor refactoring — alex@thinkpad / bitbucket
  75. silent pictures: options for delayed trigger, to help with IS
    http://www.magiclantern.fm/forum/index.php?topic=12523.msg196174#msg196174 — alex@thinkpad / bitbucket
  76. silent pictures: after image review, prefer to return to LiveView, with some exceptions
    - if intervalometer is enabled, prefer to turn off the display to save power
    - if "Turn off LCD" is enabled under "Powersave in LiveView", also prefer to turn off the display (manual override, e.g. for externally triggered timelapse)
    - otherwise, prefer to return to LiveView (credits dfort)
    http://www.magiclantern.fm/forum/index.php?topic=19005.msg181385#msg181385
    http://www.magiclantern.fm/forum/index.php?topic=19300.msg190341#msg190341 — alex@thinkpad / bitbucket
  77. silent pictures: wait for IS if the switch is enabled on the lens
    http://www.magiclantern.fm/forum/index.php?topic=12523.msg196174#msg196174 — alex@thinkpad / bitbucket
  78. 650D, 700D: enabled Sticky half-shutter (unlikely to cause issues) and Sticky DOF preview (to be tested) — alex@thinkpad / bitbucket
  79. Auto bracketing: fine-tuned highlight and shadow thresholds
    overexposed: if more than 0.02% of all pixels are above 235 in the YUV buffer (preview JPG, picture-style dependent)
    underexposed: if more than 10% of all pixels are below 50
    previous thresholds: 0.15% above 235 for highlights, 2.5% below 20 for shadows
    http://www.magiclantern.fm/forum/index.php?topic=21428

    todo: use raw-based metering? (some models still have problems with raw buffers in photo mode: 70D, 500D in LiveView, maybe others) — alex@thinkpad / bitbucket
  80. Auto bracketing: do not analyze image borders
    (should prevent unnecessary bright exposures if the image has black corners - happens with certain lenses) — alex@thinkpad / bitbucket
  81. Bracketing: print debug messages to console; use higher precision for highlight/shadow percentages
    for troubleshooting http://www.magiclantern.fm/forum/index.php?topic=21428 — alex@thinkpad / bitbucket
  82. lens.h: mark lens_format_* as not thread-safe; fix return type
    lua: workarounds to ensure thread safety for the above calls — alex@thinkpad / bitbucket
  83. lens: added lens_format_iso and refactored other code to use it — alex@thinkpad / bitbucket
  84. Lua: fixed issue #2824 - decimal number precision when printing
    thanks dmilligan for the hint and aprofiti for the test code

    tested with:

    val = {1.2,1.4,2.8,4.3,4.5,5.6}

    for i = 1, 6 do
      console.write(val[i])
      console.write(" ")
      console.write(val[i] - 0.000001)
      console.write(" ")
      console.write(val[i] + 0.000001)
      console.write("\n")
    end

    output:

    1.2 1.199999 1.200001
    1.4 1.399999 1.400001
    2.8 2.799999 2.800001
    4.3 4.299999 4.300001
    4.5 4.499999 4.500001
    5.6 5.599999 5.600001

    before:

    1.2 1.199999 1.2
    1.399999 1.399999 1.4
    2.799999 2.799999 2.8
    4.3 4.299999 4.300001
    4.5 4.499999 4.5
    5.599999 5.599998 5.6 — alex@thinkpad / bitbucket
  85. Ghost image: fix crash (issues #2796, #2783) — alex@thinkpad / bitbucket
  86. gui-common: sync gui_uilock with crop_rec_4k — alex@thinkpad / bitbucket
  87. Merged new-dryos-task-hooks into lua_fix — alex@thinkpad / bitbucket
  88. Merged unified into 100D_merge_fw101 — alex@thinkpad / bitbucket
  89. Merged new-dryos-task-hooks into 100D_merge_fw101 — alex@thinkpad / bitbucket
  90. 100D: MPU stubs (for dm-spy-experiments) — alex@thinkpad / bitbucket
  91. lua_camera: minor help tweaks — alex@thinkpad / bitbucket
  92. lua_camera: getter for gui.mode (missed in 706b131) + API tests — alex@thinkpad / bitbucket
  93. gui-common: fix exit_(play|qr|menu)_mode on 60D (camera.gui tests from api_test.lua are working now) — alex@thinkpad / bitbucket
  94. gui-common: refactored exit_play_qr_mode/exit_menu_mode to avoid duplicate code
    added exit_play_qr_menu_mode (generic) — alex@thinkpad / bitbucket
  95. Backout bc10355 (undo screenshot palette fix, not portable, issue #2821) — alex@thinkpad / bitbucket
  96. edmac: make sure the log files don't have unnecessary newlines
    (channels with complex size configuration may get printed on multiple lines; that makes the log file harder to parse) — alex@thinkpad / bitbucket
  97. edmac: LOG_INTERVAL can now be changed from menu (persistent setting) — alex@thinkpad / bitbucket
  98. edmac: use numbered log file names — alex@thinkpad / bitbucket
  99. edmac: fix behavior when the extra info buffer gets full — alex@thinkpad / bitbucket
  100. edmac: use half-shutter as trigger for logging EDMAC channels;
    fine-tuned messages — alex@thinkpad / bitbucket
  101. edmac: fix crash on models other than 5D3
    (there was a hardcoded stub) — alex@thinkpad / bitbucket
  102. edmac: fix crash when using "Log EDMAC usage" on D4 models — alex@thinkpad / bitbucket
  103. Merged unified into edmac — alex@thinkpad / bitbucket
  104. Added edmac.mo to nightly builds — alex@thinkpad / bitbucket
  105. edmac-memcpy: check to make sure all models have AbortEDmac
    (to make sure it's correct: selftest.mo -> Stubs API test) — alex@thinkpad / bitbucket
  106. lua_menu: fix hidden, advanced and edit_mode not working from menu declaration
    http://www.magiclantern.fm/forum/index.php?topic=21258
    todo: test all these settings and refactor to avoid duplicate code — alex@thinkpad / bitbucket
  107. Merged unified into lua_fix — alex@thinkpad / bitbucket
  108. Lua: fix menu.open missing from docs
    http://www.magiclantern.fm/forum/index.php?topic=21195 — alex@thinkpad / bitbucket
  109. Lua stdio: fix buffering issues
    (error messages written to stderr with fprintf, maybe others) — alex@thinkpad / bitbucket
  110. Lua: sort scripts by filename at startup
    http://www.magiclantern.fm/forum/index.php?topic=21155 — alex@thinkpad / bitbucket
  111. Lua: updated menu.get to return string by default
    to get an integer: menu.get("Foo", "Bar", 0)
    old syntax is still valid: menu.get("Foo", "Bar", "")
    updated API tests
    http://www.magiclantern.fm/forum/index.php?topic=21145 — alex@thinkpad / bitbucket
  112. Merged makefile-updates into lua-fix — alex@thinkpad / bitbucket
  113. Merged makefile-updates into lua_fix — alex@thinkpad / bitbucket
  114. Patch manager: moved reapply_cache_patches into sync_caches
    also made it private — alex@thinkpad / bitbucket
  115. fixed late evaluation issue in rule builder — g3gg0 / bitbucket
  116. Merged new-dryos-task-hooks into lua_fix — alex@thinkpad / bitbucket
  117. Merged makefile-updates into lua_fix — alex@thinkpad / bitbucket
  118. Lua: initial sketch for camera.gui (Canon GUI modes)
    Moved display.idle to camera.gui.idle; removed camera.state — alex@thinkpad / bitbucket
  119. gui-common: exit_menu_mode; minor fix in exit_play_qr_mode — alex@thinkpad / bitbucket
  120. gui-common: enter_menu_mode — alex@thinkpad / bitbucket
  121. Moved enter_play_mode, exit_play_qr_mode and PLAY/MENU status helpers to gui-common — alex@thinkpad / bitbucket
  122. Lua: lv.vidmode (current video mode, as string)
    API tests included — alex@thinkpad / bitbucket
  123. get_video_mode_name: handle paused LiveView mode (PAUSED-LV) and regular photo mode outside LiveView (PH-NOLV) — alex@thinkpad / bitbucket
  124. Lua: lv.overlays (status of Canon/ML overlays in LiveView)
    API test included — alex@thinkpad / bitbucket
  125. Lua: console.visible (status)
    API tests updated — alex@thinkpad / bitbucket
  126. Lua: lens.autofocusing (status)
    API test included (requires user to start autofocusing, as lens.autofocus() blocks until finished) — alex@thinkpad / bitbucket
  127. lua_key.c: fix warning — alex@thinkpad / bitbucket
  128. Lua: fix led_blink, issue #2808 — alex@thinkpad / bitbucket
  129. Merged unified into lua_fix — alex@thinkpad / bitbucket
  130. Merged unified into patchmgr — alex@thinkpad.localdomain / bitbucket
  131. 100D: minor typo — alex@thinkpad / bitbucket
  132. Merged new-dryos-task-hooks into 100D_merge_fw101 — alex@thinkpad / bitbucket
  133. 100D: fix MAX_ISO_BV — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  134. Merged unified into 100D_merge_fw101 — alex@thinkpad / bitbucket
  135. Merged in nikfreak/magic-lantern/100D_merge_fw101 (pull request #867)

    100D merge fw101 update — alex _broscutamaker@gmail.com_ / bitbucket
  136. 100D: AbortEDmac stub — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  137. 100D: fix ADTG/CMOS_WRITE_FUNC — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  138. Merged in Dannephoto/magic-lantern/100D_merge_fw101_SOUND (pull request #863)

    Fix for audio issues on eos 100D, possibly other cameras too.

    * Fix for audio issues on eos 100D, possibly other cameras too.
        http://www.magiclantern.fm/forum/index.php?topic=16040.msg190513#msg190513
        Thanks too dfort for code.

    * Nikfreak found the correct stub
        http://www.magiclantern.fm/forum/index.php?topic=16040.msg190532#msg190532

    Approved-by: nikfreak <mlnikfreak@gmail.com> — alex _broscutamaker@gmail.com_ / bitbucket
  139. selftest: save the stub test log in ML/LOGS — alex@thinkpad / bitbucket
  140. selftest: include the stub test summary in the log file — alex@thinkpad / bitbucket
  141. sokoban.lua: save current level in the config file
    (simple script using the "config" library) — alex@thinkpad / bitbucket
  142. sokoban.lua: refactored the main loop; fixed missing "you win" message — alex@thinkpad / bitbucket
  143. Lua: trigger the config_save event after running the main body of a script
    (this allows simple scripts to use the config library) — alex@thinkpad / bitbucket
  144. Lua: minor error handling cleanup (simplified logic) — alex@thinkpad / bitbucket
  145. config.lua fixes — david milligan _david.l.milligan@gmail.com_ / bitbucket
  146. console: fix displayed size when console has many empty lines — alex@thinkpad / bitbucket
  147. Lua: clear console when starting a script from menu — alex@thinkpad / bitbucket
  148. Lua: refactored iterations through lua_script list
    (use a getter for lua_State -> lua_script mapping whenever possible) — alex@thinkpad / bitbucket
  149. Lua: use a message queue for key.wait()
    (fixes missed key presses caused by race conditios, including quick press/release) — alex@thinkpad / bitbucket
  150. Lua: moved script semaphores into struct lua_script (refactor) — alex@thinkpad / bitbucket
  151. Lua: refactored lua_take_semaphore calls
    - checking for success: if (result == 0) instead of if(!result)
    - checking whether "sem" was set: use assert (rather than giving the same error message as a semaphore timeout) — alex@thinkpad / bitbucket
  152. Lua: disable powersave for simple scripts — alex@thinkpad / bitbucket
  153. menu: fix null pointer issue in dynamic menus — alex@thinkpad / bitbucket
  154. menu: fix regression in Modified menu (with API tests) — alex@thinkpad / bitbucket
  155. menu: removed obsolete menu screenshots — alex@thinkpad / bitbucket
  156. menu: workaround for file_man
    (fixme: still relying on name lookup to find submenus) — alex@thinkpad / bitbucket
  157. menu: store submenu parent in the menu structure; more submenu fixes — alex@thinkpad / bitbucket
  158. Makefile: with WIFI_SD=y, ping the card until it comes online (useful for router connections) — alex@thinkpad / bitbucket
  159. menu: allow is_menu_entry_selected to operate on submenus
    (for Lua menu.select; updated api_test.lua) — alex@thinkpad / bitbucket
  160. menu: refactored submenu selection to avoid duplicate code; minor rename — alex@thinkpad / bitbucket
  161. menu: removed side effects from get_current_submenu — alex@thinkpad / bitbucket
  162. menu: allow submenu selection by name
    (updated api_test.lua) — alex@thinkpad / bitbucket
  163. menu: fix parent menu issues in composite submenus — alex@thinkpad / bitbucket
  164. menu: refactored to fix thread safety in menu_add — alex@thinkpad / bitbucket
  165. menu: fix parent menu issues in most menus (todo: composite submenus) — alex@thinkpad / bitbucket
  166. menu: check whether each submenu entry actually has a parent
    (fixme: most don't) — alex@thinkpad / bitbucket
  167. menu: if the value field is very long, do not display the name
    (the value is probably verbose enough to figure out what it is) — alex@thinkpad / bitbucket
  168. Modules: moved Show console to top level — alex@thinkpad / bitbucket
  169. Memory backend: when checking available memory, allocate both Shoot ans SRM at the same time
    (they may overlap) — alex@thinkpad / bitbucket
  170. debug: reworked "Show GUI Events" to use the console — alex@thinkpad / bitbucket
  171. gui_common: removed unused ui_lock (everything calls gui_uilock instead) — alex@thinkpad / bitbucket
  172. console: enable in LiveView alongside with ML overlays (experimental) — alex@thinkpad / bitbucket
  173. Memory backend: fix initialization — alex@thinkpad / bitbucket
  174. Menu: use submenu_height for scrolling — alex@thinkpad / bitbucket
  175. ettr: fix debug code — alex@thinkpad / bitbucket
  176. Merged unified into lua_fix — alex@thinkpad / bitbucket
  177. menu: do not discard customization data for menus that are not yet loaded
    (e.g. for modules/scripts and other dynamic menus) — alex@thinkpad / bitbucket
  178. menu: do not overwrite existing customization data when reloading
    (only reload data for newly added menu entries) — alex@thinkpad / bitbucket
  179. menu: fix usage counters for menu items with placeholders — alex@thinkpad / bitbucket
  180. menu: allow simple submenus in Recent menu — alex@thinkpad / bitbucket
  181. menu: allow Debug entries in Junkie mode — alex@thinkpad / bitbucket
  182. Modules: make sure we can really use up to 64 of them (fix commit 8ad0912) — alex@thinkpad / bitbucket
  183. file_man: show status in main menu, if busy — alex@thinkpad / bitbucket
  184. file_man: disable powersaving during long copy/move operations — alex@thinkpad / bitbucket
  185. file_man: unified FileCopy and FileMove tasks to avoid duplicate code;
    report all errors to console and show a simple progress indicator — alex@thinkpad / bitbucket
  186. file_man: show timestamp for each file; align date/time column — alex@thinkpad / bitbucket
  187. menu: fix Junkie short text overflowing in some cases — alex@thinkpad / bitbucket
  188. menu: attempt to balance the automatic My Menu in Junkie mode
    (with many submenu entries used frequently, this menu could end up a lot more cluttered than regular menus) — alex@thinkpad / bitbucket
  189. menu: fix submenu entries disappearing in Junkie menu
    (frequently used submenu items shouldn't be moved to My Menu; they should be just copied) — alex@thinkpad / bitbucket
  190. menu: better duplicate menu warning; minor rename — alex@thinkpad / bitbucket
  191. Merged unified into 100D_merge_fw101 — alex@thinkpad / bitbucket
  192. adtg_gui.mo: fix 100D (tested, confirmed working) — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  193. fix wrong stub (thx @dfort for the note) — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  194. manual focus: allow moving focus box — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  195. edmac.mo: display connection map (experiment) — alex@thinkpad / bitbucket
  196. 100D: enabled CONFIG_TSKMON — alex@thinkpad / bitbucket
  197. 100D: fix task_dispatch_hook — alex@thinkpad / bitbucket
  198. 100D: enabled CONFIG_ALLOCATE_MEMORY_POOL and classic boot process
    (similar to 6D, reserved 592K at the beginning of AllocateMemory pool) — alex@thinkpad / bitbucket
  199. Merged new-dryos-task-hooks into 100D_merge_fw101
    (note: 100D will not boot until fixing memory allocation) — alex@thinkpad / bitbucket
  200. 100D: enabled CONFIG_EDMAC_RAW_SLURP — alex@thinkpad / bitbucket
  201. sync FIO stub changes introduced in unified — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  202. Merged hudson/magic-lantern/unified into 100D_merge_fw101 — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  203. fix suggested by a1ex for http://www.magiclantern.fm/forum/index.php?topic=16040.msg187050#msg187050 — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  204. use MENU button for calling zebras in playback mode.
    requested https://www.magiclantern.fm/forum/index.php?topic=16040.msg186620#msg186620 and http://www.magiclantern.fm/forum/index.php?topic=16040.msg182400#msg182400
    w/o this menu button would open Canon menu and quitting playback mode anyways. If one needs to do so just press halfshutter or play button(s) to quit playback mode and afterwards the menu button. — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  205. we indeed can switch between YUV422 addresses
    fixes http://www.magiclantern.fm/forum/index.php?topic=16040.msg186788#msg186788
    also sync MOV_RES_AND_FPS_COMBINATIONS value (Digic5) — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  206. adjust movie related consts — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  207. Merged hudson/magic-lantern/unified into 100D_merge_fw101 — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  208. remove custom symbol file handling
    (leftover from fw revisioning 100D_100A/100B) — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  209. fix curent_interrupt stub (thx @a1ex) — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  210. add missing task related stubs — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  211. Backout changeset 1914eafc755cad2f2ebb17a4bde35949deb5eacf — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  212. fix wrong stub, as suggested
    http://www.magiclantern.fm/forum/index.php?topic=16040.msg179165#msg179165 — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  213. flexinfo refinement (switch back to COLOR_FG_NONLV) — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  214. adopt celsius display and apply color related adjustments — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  215. use INFO button to disable ML during boot — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  216. fix indentation — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  217. Merge unified — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  218. prepare for edmac_raw_slurp — mlnikfreak@gmail.com _mlnikreak@gmail.com_ / bitbucket
  219. Merge unified — mlnikfreak@gmail.com _mlnikreak@gmail.com_ / bitbucket
  220. Merged unified into 100D_merge_fw101 — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  221. trying to fix the version numbering for the last time ;D
    must have been sleeping — mlnikfreak@gmail.com _mlnikreak@gmail.com_ / bitbucket
  222. fix faulty version numberings — mlnikfreak@gmail.com _mlnikreak@gmail.com_ / bitbucket
  223. cleanup part2 — mlnikfreak@gmail.com _mlnikreak@gmail.com_ / bitbucket
  224. cleanup part1 — mlnikfreak@gmail.com _mlnikreak@gmail.com_ / bitbucket
  225. initial ML port for FW1.0.1 -> getting rid of revision handling — nikfreak _mlnikreak@gmail.com_ / bitbucket
  226. Created new branch 100D_merge_fw101 — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  227. lua.c: fix warning — alex@thinkpad / bitbucket
  228. Lua: only hide the console if it was opened by some auto-running script
    (and block the key pressed to hide the console, if any) — alex@thinkpad / bitbucket
  229. Lua: block keys on key.wait()
    hello.lua updated to wait only for SET (and block only this key) — alex@thinkpad / bitbucket
  230. Merged unified into lua_fix — alex _broscutamaker@gmail.com_ / bitbucket
  231. menu: fix invalid indexing on menu choices not starting at 0
    (reported by JohanJ at http://www.magiclantern.fm/forum/index.php?topic=14828.msg186252#msg186252 ) — alex@thinkpad / bitbucket
  232. selftest: fix bad merge — alex@thinkpad / bitbucket
  233. Merged cache-fixes into lua_fix — alex@thinkpad / bitbucket
  234. Merged unified into lua_fix — alex@thinkpad / bitbucket
  235. menu: attempt to fix file_man crash (a little hackish...) — alex@thinkpad / bitbucket
  236. file_man: disable name lookup on its submenu
    (should fix speed regression in directories with many files - to be tested) — alex@thinkpad / bitbucket
  237. api_test.lua: tests for image_prefix and for bracketed images — alex@thinkpad / bitbucket
  238. Lua: camera.wait()
    (waits until the image was fully saved; required for testing dryos.image_prefix) — alex@thinkpad / bitbucket
  239. Lua: renamed dryos.prefix to dryos.image_prefix and fixed various things
    - only accept strings of length 4, or empty string to reset to default
    - fix operation after multiple changes — alex@thinkpad / bitbucket
  240. menu: fix buffer overflow (off by one) when hiding many menu items — alex@thinkpad / bitbucket
  241. menu: disable name look-up in Modules and Help — alex@thinkpad / bitbucket
  242. menu: allow disabling name lookup in any menu
    (e.g. to allow duplicate names, or for very large menus, or for dynamic menus not meant to be customized etc) — alex@thinkpad / bitbucket
  243. menu: removed some redundant null pointer checks
    (no longer needed after enforcing valid names) — alex@thinkpad / bitbucket
  244. menu: revert empty name usage in menus
    (affected: module.c f071d67, file_man 6390eba, my_menu, advanced toggles)
    (todo: fix duplicate menus in some other way) — alex@thinkpad / bitbucket
  245. menu.h: comments for struct menu_entry and struct menu — alex@thinkpad / bitbucket
  246. menu: make sure internal fields are not set before menu_add — alex@thinkpad / bitbucket
  247. menu: require valid name for all menus (easier than fixing null pointer errors) — alex@thinkpad / bitbucket
  248. config.c: fix read from null pointer — alex@thinkpad / bitbucket
  249. Undo e64c9a5 (shutdown lock-up) — alex@thinkpad / bitbucket
  250. Merged memcheck-fixes into lua_fix — alex@thinkpad / bitbucket
  251. mem.c: option to disable heap poisoning
    (useful when running in QEMU with -d memcheck - with this, overflowing reads will be caught as well) — alex@thinkpad / bitbucket
  252. menu.c: fix a thread safety issue in menu_remove
    (to reproduce: file manager crashed after navigating the menu back and forth a few times) — alex@thinkpad / bitbucket
  253. menu.c: fix incomplete initialization when creating menus
    (this time the memory warning was correct) — alex@thinkpad / bitbucket
  254. menu.h: disabled bit fields in struct menu
    (they caused false warnings in the memory checking tool) — alex@thinkpad / bitbucket
  255. Merged memcheck-fixes into lua_fix — alex@thinkpad / bitbucket
  256. lens.h: fix APEX for Auto ISO (return 0) — alex@thinkpad / bitbucket
  257. Merged unified into lua_fix — alex@thinkpad / bitbucket
  258. lens.h: fix bad merge — alex@thinkpad / bitbucket
  259. Lua: fix error checking in menu.get (also API test) — alex@thinkpad / bitbucket
  260. Lua: unify menu.get and menu.gets (using an optional argument for menu.get) — alex@thinkpad / bitbucket
  261. Merged unified into lua_fix — alex@thinkpad / bitbucket
  262. Lua: menu.gets (to get menu value as string)
    api_test.lua updated as well — alex@thinkpad / bitbucket
  263. menu: fix thread safety for menu_get_str_value_from_script — alex@thinkpad / bitbucket
  264. api_test.lua: test for menu automation API (selecting existing ML menus, changing values) — alex@thinkpad / bitbucket
  265. menu: misc fixes on select_menu_by_name
    (thread safety; fix conflict with initial menu selection; refuse to operate on submenus) — alex@thinkpad / bitbucket
  266. Lua: split menu open/select functionality — alex@thinkpad / bitbucket
  267. Menu: reworked menu_set_str_value_from_script (for Lua menu.set with string value argument)
    - consider .choices array before trying brute-force
    - try every single value from the valid range when practical
    - use msleep only for custom toggle logic
    - wait and retry if the value doesn't change
    - fix some ambiguous matches (e.g. 1 should not match 1m10s, but 10 is OK for 10cm)
    - numeric match made optional
    - timeout 2s — alex@thinkpad / bitbucket
  268. Menu: range checking for menu_set_value_from_script (Lua menu.set with integer value argument) — alex@thinkpad / bitbucket
  269. Menu: fix duplicate warning on 50D — alex@thinkpad / bitbucket
  270. Screenshots: fix color palette
    (was affected by our palette changes, e.g. in menu)
    (the fix requires writing to Canon's LCD_Palette array, but a quick checked is performed before writing; previously, this array was considered read-only) — alex@thinkpad / bitbucket
  271. Lua: fix typo that prevented lens.focus_pos from appearing in the documentation — alex@thinkpad / bitbucket
  272. Lua: minor doc updates — alex@thinkpad / bitbucket
  273. Lua: tag all backend messages with [SCRIPT.LUA] where possible — alex@thinkpad / bitbucket
  274. recdelay.lua: misc fixes — alex@thinkpad / bitbucket
  275. Lua: disable auto-autorun (any script that should autorun must be configured manually by user) — alex@thinkpad / bitbucket
  276. Lua: test script for unloading behavior (unload.lua) — alex@thinkpad / bitbucket
  277. Lua: tag all backend messages with [Lua]; minor fine-tunings — alex@thinkpad / bitbucket
  278. Lua: allow task unloading if all user tasks are stopped before the main task
    (this makes api_test.lua a "simple" script, as it was before f249ba4) — alex@thinkpad / bitbucket
  279. Fix compiling on cameras without Q button
    (broken in 459da11) — alex@thinkpad / bitbucket
  280. selftest: fix false warning in half-shutter test — alex@thinkpad / bitbucket
  281. Memory backend: allow breaking minimum_free_space limit for small blocks
    (it was possible to fail the allocation for very small blocks that could not be covered by shoot_malloc) — alex@thinkpad / bitbucket
  282. Modules: yet another attempt at fixing fast scrollwheel events
    (previous: b0891f9, 2cc2768) — alex@thinkpad / bitbucket
  283. Undo 2cc2768 (fast scrollwheel events no longer working) — alex@thinkpad / bitbucket
  284. api_test.lua: stronger half-shutter test; fine-tuned delays — alex@thinkpad / bitbucket
  285. api_test.lua: fix movie test on manual lenses — alex@thinkpad / bitbucket
  286. api_test.lua: fix bulb test on slow SD cameras — alex@thinkpad / bitbucket
  287. api_test.lua: fix AF test on manual lenses — alex@thinkpad / bitbucket
  288. lua_key: re-enabled yielding during key.wait()
    using the same workaround as task.yield() — alex@thinkpad / bitbucket
  289. Merged dynamic-my-menu into lua_fix (solves some menu issues) — alex@thinkpad / bitbucket
  290. Lua lens.autofocus(): fix for 100D (to be tested)
    Updated selftest module as well. — alex@thinkpad / bitbucket
  291. lua_key: disabled yielding during key.wait()
    (until a proper fix is implemented, better avoid multitasking) — alex@thinkpad / bitbucket
  292. lua_task: workaround to prevent troublesome task.yield() calls
    (appears to work, but cannot guarantee it's actually thread-safe) — alex@thinkpad / bitbucket
  293. api_test.lua: weaker multitasking test
    (seems to work fine as long as only one task calls task.yield(); any task that interrupts should run until returns) — alex@thinkpad / bitbucket
  294. Merged focus into lua_fix (pull request #748)
    Focus backend updates and lens.focus_pos fine position counter — alex@thinkpad / bitbucket
  295. lens_focus: ported 5D2 focus fix on 50D and 500D.
    550D and newer models don't need it, unsure about 7D (to be tested) — alex@thinkpad / bitbucket
  296. lvinfo: fix layout bug revealed by 56464bc and noticed here: http://www.magiclantern.fm/forum/index.php?topic=18083.msg177532#msg177532
    (note: the linked commit did not cause the bug; it was there for years) — alex@thinkpad / bitbucket
  297. Menu: fix duplicate warning in the Help tab on some models — alex@thinkpad / bitbucket
  298. Menu: updated navigation help — alex@thinkpad / bitbucket
  299. file_man: refactored action types with enum and case switch
    (compiler now checks whether all action types are covered) — alex@thinkpad / bitbucket
  300. file_man: use unnamed menu entries for speed
    (named entries are now checked for duplicates => slow in folders with many files) — alex@thinkpad / bitbucket
  301. Menu: some extra sanity checks during customization — alex@thinkpad / bitbucket
  302. Menu: removed duplicate definitions of menu_open_submenu — alex@thinkpad / bitbucket
  303. Modules: fix duplicate menu warning — alex@thinkpad / bitbucket
  304. Menu: check for duplicate entries
    (the check is repeated after each menu_add call) — alex@thinkpad / bitbucket
  305. Menu: refactored most menu iterations with for loops — alex@thinkpad / bitbucket
  306. Menu: autodetect whether placeholders are needed or not
    (removed menu_add_base; menu_add should be O(n) if no placeholders are used) — alex@thinkpad / bitbucket
  307. Menu: skip placeholders in entry_find_by_name; related cleanups — alex@thinkpad / bitbucket
  308. Menu: link each submenu entry with its parent entry
    (rather than using name lookup) — alex@thinkpad / bitbucket
  309. Merged lua_fix into dynamic-my-menu
    (other menu fixes + module API version) — alex@thinkpad / bitbucket
  310. Menu: fix selection in Modified menu (broken in 0b6fcbc) — alex@thinkpad / bitbucket
  311. lua_lens: minor doc update (return value for lens_focus) — alex@thinkpad / bitbucket
  312. Menu: minor display fixes in Junkie mode — alex@thinkpad / bitbucket
  313. Menu: fix some interferences between menu customization and dynamic menus — alex@thinkpad / bitbucket
  314. Menu: experiment - dynamic Junkie menu
    FIXME: manual Junkie customizations are overriden, unless at least one item is starred. Important? — alex@thinkpad / bitbucket
  315. force_liveview: fix operation after taking a picture — alex@thinkpad / bitbucket
  316. Menu: fix last entry not disappearing from Modified menu — alex@thinkpad / bitbucket
  317. Menu: fix initial selection when it is a dynamic menu
    http://www.magiclantern.fm/forum/index.php?topic=17811.0 — alex@thinkpad / bitbucket
  318. Menu: experiment - dynamic My Menu ("Recent"), based on usage counters
    If no menu items are manually starred, a menu named Recent will be built automatically. — alex@thinkpad / bitbucket
  319. Menu: minor refactor (checking dynamic menus) — alex@thinkpad / bitbucket
  320. Menu: usage counters (for displaying a menu with recently used entries)
    Warning: existing menu customizations will be lost. — alex@thinkpad / bitbucket
  321. lua_movie: some more preconditions + API tests — alex@thinkpad / bitbucket
  322. api_test.lua: simple multitasking test (crashes, do not run on expensive cameras!) — alex@thinkpad / bitbucket
  323. Lua task.create: throw error on failure — alex@thinkpad / bitbucket
  324. Lua lens.focus: throw an error if preconditions (LiveView and autofocus) are not met — alex@thinkpad / bitbucket
  325. lens_focus: allow running right after taking a picture (experiment) — alex@thinkpad / bitbucket
  326. Lua lens.focus: updated default wait and docs — alex@thinkpad / bitbucket
  327. enter_play_mode: increase delay (fixes some redraw issues, e.g. in benchmarks) — alex@thinkpad / bitbucket
  328. Lua: nicer behavior in Junkie menu (still not perfect) — alex@thinkpad / bitbucket
  329. Modules: increase max count to 64 — alex@thinkpad / bitbucket
  330. selftest.mo: fine-tuned AF test — alex@thinkpad / bitbucket
  331. Fix Q button handling on cameras with this button (bad includes) — alex@thinkpad / bitbucket
  332. Fix button handling outside menu (typo) — alex@thinkpad / bitbucket
  333. lens_focus: fix very slow follow focus on 5D2 with 24/2.8 STM (todo: 50D, 500D, others?)
    To reproduce: Step Wait ON, Step Delay <= 20, then use follow focus.
    Just changing prop_request_change_wait into prop_request_change would give fast movements, but crashes very quickly.
    Waiting for the pfAfComplete interrupt before next focus command appears to fix the crashes. — alex@thinkpad / bitbucket
  334. GUI: make sure all cameras use the BGMT_Q event while in ML menu, even if they don't actually have a Q button
    (should fix Lua scripts using the Q button while running on top of ML menu) — alex@thinkpad / bitbucket
  335. Lua: fix incomplete commit 8191fd4 — alex@thinkpad / bitbucket
  336. lua_lv: lvinfo items default to any info bar — alex@thinkpad / bitbucket
  337. lua_menu: reorder functions so the most basic ones appear first in doc — alex@thinkpad / bitbucket
  338. lua_menu: drop menu customization attributes
    (overriding them doesn't work well anyway) — alex@thinkpad / bitbucket
  339. Lua: more doc updates (WIP) — alex@thinkpad / bitbucket
  340. lens.c: some debug info for focus commands (to be removed before merging) — alex@thinkpad / bitbucket
  341. lens.h: declared lens_info.focus_pos on remaining cameras
    (tested on 5D3 123; to be tested on EOS M, 6D...) — alex@thinkpad / bitbucket
  342. Merged lua_fix into focus — alex@thinkpad / bitbucket
  343. Lua: misc doc updates (WIP) — alex@thinkpad / bitbucket
  344. lua_constants: reordered to get the simpler ones first in the doc — alex@thinkpad / bitbucket
  345. Lua: remove pre_shoot/post_shoot from docs (not yet implemented) — alex@thinkpad / bitbucket
  346. menu.c, select_menu_by_name: allow optional entry_name parameter; keep the current selection on error — alex@thinkpad / bitbucket
  347. copy2m.lua: add its menu in the script submenu, rather than Prefs
    (fixes duplicate menu - there were 2 menus with the same name) — alex@thinkpad / bitbucket
  348. Lua: always open script submenu on SET; show menus created by script under the script menu — alex@thinkpad / bitbucket
  349. menu.c: fix null pointer in mod_menu_rebuild — alex@thinkpad / bitbucket
  350. menu.c, entry_find_by_name: do not return duplicate entries and entries from dynamic menus (to be tested) — alex@thinkpad / bitbucket
  351. selftest.mo: test for autofocus routines — alex@thinkpad / bitbucket
  352. Lua: camera.shoot() no longer autofocuses by default — alex@thinkpad / bitbucket
  353. Lua: removed global shoot(); use camera.shoot() instead — alex@thinkpad / bitbucket
  354. api_test.lua: minor typo — alex@thinkpad / bitbucket
  355. lens_take_picture: wait for file number to change before returning; minor cleanups — alex@thinkpad / bitbucket
  356. Lua lens.focus: delay default to 10ms when wait=false; doc updates — alex@thinkpad / bitbucket
  357. force_liveview: make sure LV is fully started before returning — alex@thinkpad / bitbucket
  358. Lua: experimental lens.autofocus() — alex@thinkpad / bitbucket
  359. Lua: fine-tuned startup messages — alex@thinkpad / bitbucket
  360. Merged unified into lua_fix — alex@thinkpad / bitbucket
  361. Modules: allow including module.h in multiple source files
    (fixes compilation of edmac.mo) — alex@thinkpad / bitbucket
  362. Modules: removed some unused definitions — alex@thinkpad / bitbucket
  363. api_test.lua: fix typo in lens.focus call, thanks garry23 — alex@thinkpad / bitbucket
  364. Lua: menu.open() can optionally select a given menu or submenu — alex@thinkpad / bitbucket
  365. 1100D: enabled CONFIG_EDMAC_MEMCPY — alex@thinkpad / bitbucket
  366. rbf_font: very rough support for tab characters — alex@thinkpad / bitbucket
  367. editor.lua: exit file dialog if menu is no longer active — alex@thinkpad / bitbucket
  368. Lua: allow editing any script from context menu using editor.lua (Q -> Edit Script) — alex@thinkpad / bitbucket
  369. Lua: basic support for script arguments (arg, ...)
    http://www.lua.org/manual/5.1/manual.html#6 — alex@thinkpad / bitbucket
  370. Lua: always use first line as script name in menu (use ... if too long) — alex@thinkpad / bitbucket
  371. Lua: display script file name on the right if the script is not running — alex@thinkpad / bitbucket
  372. Lua: fine-tuned user feedback when loading/running scripts — alex@thinkpad / bitbucket
  373. Lua: check string length in pixels when choosing between script name (first line) or script filename for menu display — alex@thinkpad / bitbucket
  374. Merged unified into lua_fix — alex@thinkpad / bitbucket
  375. menu: fix regression about font bg color — alex@thinkpad / bitbucket
  376. Raw backend: small fixes related to ALLOCATE_RAW_LV_BUFFER
    - thread safety
    - alocate uncacheable large buffer
    - compiler error on missing DEFAULT_RAW_BUFFER or RAW_LV_BUFFER_ALLOC_SIZE — alex@thinkpad / bitbucket
  377. Merged raw_fixes into allocate-raw-lv-buffer — alex@thinkpad / bitbucket
  378. Merged unified into allocate-raw-lv-buffer — alex@thinkpad / bitbucket
  379. bfnt_draw_char: option for not erasing the background (old behavior, to fix existing code) — alex@thinkpad / bitbucket
  380. bmp_printf: erase background when using FONT_CANON (to be tested) — alex@thinkpad / bitbucket
  381. bmp_printf: allow transparent text on transparent background
    (note: this breaks binary compatibility with modules) — alex@thinkpad / bitbucket
  382. Focus backend: fix lens getting stuck at one end (reset retry count after reporting error) — alex@thinkpad / bitbucket
  383. api_test.lua: minor fix for focus distance — alex@thinkpad / bitbucket
  384. Focus backend: only report focus error when the lens gets stuck (doesn't move at all after 2 retries) — alex@thinkpad / bitbucket
  385. Lua: exposed lens_info.focus_pos as lens.focus_pos and added an API test — alex@thinkpad / bitbucket
  386. Merged lua_fix into focus — alex@thinkpad / bitbucket
  387. lens.c: record relative focus motor position in lens_info.focus_pos, http://www.magiclantern.fm/forum/index.php?topic=4997 — alex@thinkpad / bitbucket
  388. lens.c: removed EOSM-specific code that appears superfluous; are focus ring triggers still working? — alex@thinkpad / bitbucket
  389. fio-ml: fix Lua const char warnings in FIO_Rename/Copy/MoveFile — alex@thinkpad / bitbucket
  390. api_test.lua: minor cleanups — alex@thinkpad / bitbucket
  391. Lua: dryos.rename (including API tests) — alex@thinkpad / bitbucket
  392. Lua: ignore unknown button codes — alex@thinkpad / bitbucket
  393. api_test.lua: relax half-shutter check a bit (the event is not sent right away) — alex@thinkpad / bitbucket
  394. Lua: reserve 256K for umm_malloc instead of 512K (since we no longer load all scripts at once) — alex@thinkpad / bitbucket
  395. Merged in lua_umm_malloc (pull request #724)

    Use umm_malloc for Lua to reduce memory fragmentation — a1ex _broscutamaker@gmail.com_ / bitbucket
  396. Close branch lua_umm_malloc — a1ex _broscutamaker@gmail.com_ / bitbucket
  397. Lua: removed run_in_separate_task — alex@thinkpad / bitbucket
  398. Lua: menu item to show/hide the console — alex@thinkpad / bitbucket
  399. Lua: show last script error in menu (to be tested) — alex@thinkpad / bitbucket
  400. Lua: fix memory/semaphore leak when running the same script many times — alex@thinkpad / bitbucket
  401. Lua: hide "Run script" for complex scripts, since they can't be started twice — alex@thinkpad / bitbucket
  402. Lua: show errors in menu for complex scripts as well — alex@thinkpad / bitbucket
  403. Lua: refactored error handling in add_script — alex@thinkpad / bitbucket
  404. Lua: fix script loading loop (forgot FIO_FindClose) — alex@thinkpad / bitbucket
  405. scrnshot.lua: place menu item in its own script submenu — alex@thinkpad / bitbucket
  406. Lua: extract script name and description from comments (experiment) — alex@thinkpad / bitbucket
  407. Lua: allow any script to autorun; use a submenu for each script — alex@thinkpad / bitbucket
  408. Lua: show scripts right away after loading the autorun ones (no more delay) — alex@thinkpad / bitbucket
  409. Lua: cleanup passing script to lua_user_load_task — alex@thinkpad / bitbucket
  410. api_test.lua: converted to simple script, so it runs right away — alex@thinkpad / bitbucket
  411. pong.lua: fix undeclared counter — alex@thinkpad / bitbucket
  412. Lua: fix strict.lua after script unloading changes — alex@thinkpad / bitbucket
  413. Lua: fix some scripts randomly showing "error" state (refactored malloc/memset with calloc in lua.c) — alex@thinkpad / bitbucket
  414. mem.h: declared calloc — alex@thinkpad / bitbucket
  415. posix.c: fix calloc (error checking) — alex@thinkpad / bitbucket
  416. Lua: moved the "extra" scripts back (since the scripts are no longer loaded by default) — alex@thinkpad / bitbucket
  417. Modules: workaround for issue #2551 (UNPRESS_UDLR conflicting with UNPRESS_DP on 5D3) — alex@thinkpad / bitbucket
  418. lua scripting: update docs — david milligan _david.l.milligan@gmail.com_ / bitbucket
  419. lua scripting: some cleanups to the script menu display and help — david milligan _david.l.milligan@gmail.com_ / bitbucket
  420. lua scripting: script unloading and autorun options

    user can disable autorun
    scripts don't autorun until user runs them the first time
    "simple" scripts (no menus or events) don't autorun, only run on demand and unload when finished
    script menu now lists all available scripts, "simple" scripts can be run from here, "complex" scripts can have autorun disabled/enabled from here
    TODO: update docs
    TODO: the 'extra' directory is probably no longer needed — david milligan _david.l.milligan@gmail.com_ / bitbucket
  421. lua scripting: fix interval.running return type (should be boolean) — david milligan _david.l.milligan@gmail.com_ / bitbucket
  422. Lua: make sure umm_malloc is never used for fio calls — alex@thinkpad / bitbucket
  423. Lua: fix format_memory_size in ml-lua-shim.c — alex@thinkpad / bitbucket
  424. Lua: also print the amount of memory reallocated with core routines — alex@thinkpad / bitbucket
  425. Lua: use umm_malloc, with a 512KB heap preallocated — alex@thinkpad / bitbucket
  426. Imported umm_malloc 8b9586c from https://github.com/rhempel/umm_malloc — alex@thinkpad / bitbucket
  427. api_test.lua: tests for half-shutter events — alex@thinkpad / bitbucket
  428. module_send_keypress: special handling for shutter button events
    (should fix key.press(KEY.HALFSHUTTER) and similar calls in Lua) — alex@thinkpad / bitbucket
  429. SW1/SW2: wait for confirmation from Canon code (to be tested) — alex@thinkpad / bitbucket
  430. api_test.lua: tests for camera.shoot, burst and bulb — alex@thinkpad / bitbucket
  431. Lua: fix camera.bulb(seconds) — alex@thinkpad / bitbucket
  432. Lua: added camera.burst(num_pictures) — alex@thinkpad / bitbucket
  433. Lua: camera.shoot() now calls take_a_pic (warning: syntax changed) — alex@thinkpad / bitbucket
  434. shoot.h: exposed take_a_pic and take_fast_pictures — alex@thinkpad / bitbucket
  435. menu: experiment - long-press SET to open submenus (enabled on EOS M, where SET/Q share the same button) — alex@thinkpad / bitbucket
  436. menu: fine-tuned responsiveness on keys checked for long press (joystick center, down/erase on EOS M) — alex@thinkpad / bitbucket
  437. Renamed CONFIG_JOY_CENTER_ACTIONS to CONFIG_LONG_PRESS_JOYSTICK_MENU — alex@thinkpad / bitbucket
  438. memory backend: reduce memcheck area (should reduce overhead a bit) — alex@thinkpad / bitbucket
  439. memory backend: ignore null pointers passed to free (Lua does that) — alex@thinkpad / bitbucket
  440. realloc: check for null pointers — alex@thinkpad / bitbucket
  441. pong.lua: fix menu not always erased (race condition) — alex@thinkpad / bitbucket
  442. exmem: when autodetecting available memory, print all srm/shoot memory blocks to console — alex@thinkpad / bitbucket
  443. Fix 1100D RAW_LV_BUFFER_ALLOC_SIZE — giovanni condello _condellog@gmail.com_ / bitbucket
  444. Update CONFIG_EDMAC_RAW_SLURP documentation with porting tips — giovanni condello _condellog@gmail.com_ / bitbucket
  445. EXPERIMENTAL: 1100D raw LV support using CONFIG_EDMAC_RAW_SLURP and ML-allocated buffer — giovanni condello _condellog@gmail.com_ / bitbucket
  446. Fix typo in macro names — giovanni condello _condellog@gmail.com_ / bitbucket
  447. raw.c : Allow the backend to allocate a buffer for RAW lv if CONFIG_EDMAC_RAW_SLURP and CONFIG_BROKEN_RAW_LV_BUFFER are defined

    Also try to detect possible misconfigurations at compile-time — giovanni condello _condellog@gmail.com_ / bitbucket

#10 (Feb 3, 2018 2:20:13 AM)

  1. Merged new_dryos_task_hooks into 70D_merge_fw112 — alex@thinkpad / bitbucket
  2. Merged qemu into new_dryos_task_hooks — alex@thinkpad / bitbucket
  3. run_ml_all_cams.sh: fix QEMU_DIR once more — alex@thinkpad / bitbucket
  4. run_ml_all_cams.sh: fix QEMU_DIR — alex@thinkpad / bitbucket
  5. Menu: hack to allow browsing ML menu on EOSM and EOSM2
    (requires CONFIG_QEMU=y) — alex@thinkpad / bitbucket
  6. Merged makefile-updates into qemu
    (also updated README regarding "make install_qemu" on modules) — alex@thinkpad / bitbucket
  7. QEMU: moved default installation directory to qemu-eos
    Rationale: user is likely to have another qemu directory, unrelated to ML (such as the vanilla qemu repo)
    Can be changed by setting QEMU_DIR, e.g. "export QEMU_DIR=qemu" before running install.sh will install QEMU in the old path
    To be thoroughly tested. — alex@thinkpad / bitbucket
  8. Makefile: moved default QEMU directory to qemu-eos — alex@thinkpad / bitbucket
  9. QEMU: trim HTML logs to 10000 lines if higher
    (very slow to render; also, at these sizes, browsing/grepping plain text is way faster) — alex@thinkpad / bitbucket
  10. Makefile: also updated QEMU_INSTALLED_DBI_DIR to use QEMU_PATH — alex@thinkpad / bitbucket
  11. Makefile: fix copy/paste error — alex@thinkpad / bitbucket
  12. Makefile: fix cleaning up after "make zip"; removed warning — alex@thinkpad / bitbucket
  13. Makefile: allow changing QEMU installation directory from Makefile.user and/or the environment
    (QEMU_DIR) — alex@thinkpad / bitbucket
  14. Makefile: zip and install_qemu targets for modules — alex@thinkpad / bitbucket
  15. Makefile: always clean after running install_check
    http://www.magiclantern.fm/forum/index.php?topic=991.msg194444#msg194444 — alex@thinkpad / bitbucket
  16. Makefile: always rebuild version.o — alex@thinkpad / bitbucket
  17. Makefile: prevent install_check from running in parallel with building regular ML
    (conflicts while compiling from the same sources - http://www.magiclantern.fm/forum/index.php?topic=991.msg194315#msg194315 ) — alex@thinkpad / bitbucket
  18. GDB scripts: logging hook for prop_deliver — alex@thinkpad / bitbucket
  19. GDB scripts: logging hooks for CreateStateObject
    useful to find all state objects created during the emulation
    http://www.magiclantern.fm/forum/index.php?topic=17969.msg196010#msg196010 — alex@thinkpad / bitbucket
  20. QEMU installer: fine-tuned prompt when reinstalling — alex@thinkpad / bitbucket
  21. QEMU: fix Q button handling on 550D, 600D, 1100D (to be tested) — alex@thinkpad / bitbucket
  22. QEMU readme: table of contents; minor typos — alex@thinkpad / bitbucket
  23. QEMU readme: GPIO section update — g3gg0 / bitbucket
  24. 6D: fix task_max — alex@thinkpad / bitbucket
  25. dump_srec.py: updated to decode lens firmware updates (*.lfu)
    http://www.magiclantern.fm/forum/index.php?topic=20969 — alex@thinkpad / bitbucket
  26. QEMU readme: misc updates (formatting, rephrasing); GPIO section — alex@thinkpad / bitbucket
  27. QEMU installer: make it clear the script expects user input when it's asking whether to compile QEMU — alex@thinkpad / bitbucket
  28. eject removes the disk image completely while unmount doesn't remove the disk image from /dev. — daniel fort _dan@digiola.com_ / bitbucket
  29. reworked description of the peripherals — g3gg0 _g3gg0.de@gmail.com_ / bitbucket
  30. QEMU install: fix mistakes — alex@thinkpad / bitbucket
  31. QEMU readme: typos, formatting — alex@thinkpad / bitbucket
  32. QEMU readme: note for Bitbucket not always rendering the RST
    (reloading the page usually works; apparently it doesn't need javascript, so what's going on?) — alex@thinkpad / bitbucket
  33. QEMU readme: some basic concepts related to how the DIGIC hardware works
    (some parts adapted from https://jsandler18.github.io/ ) — alex@thinkpad / bitbucket
  34. QEMU readme: misc notes
    - tip to save SD images as qcow2 (they take less disk space)
    - instrumentation tools
    - history updates
    - minor formatting fixes — alex@thinkpad / bitbucket
  35. QEMU: use 600D MPU messages for 1300D
    fixes toggling drive mode, http://www.magiclantern.fm/forum/index.php?topic=17969.msg196013#msg196013 — alex@thinkpad / bitbucket
  36. GDB scripts: hide warnings about undefined task addresses when running with patches.gdb
    (when running with debugmsg.gdb, full context info is printed) — alex@thinkpad / bitbucket
  37. GDB scripts: fix address in log_result
    (LR is no longer valid, as we are no longer at the beginning of a function call) — alex@thinkpad / bitbucket
  38. QEMU install.sh: recent git no longer accepts empty identities
    http://www.magiclantern.fm/forum/index.php?topic=20214.msg195892#msg195892 — alex@thinkpad / bitbucket
  39. QEMU scripts: removed hardcoded references to ../magic-lantern
    and documented how the directories can be customized — alex@thinkpad / bitbucket
  40. QEMU readme: documented directory structure — alex@thinkpad / bitbucket
  41. QEMU logging: cleaned up hacks around memory logging options
    (logging tools may require any memory logging backends, but in the logs, only those items specifically requested by user will be printed) — alex@thinkpad / bitbucket
  42. run_canon_fw.sh: hide osascript messages on Mac
    (when trying to bring the QEMU window in foreground, but there isn't any) — alex@thinkpad / bitbucket
  43. QEMU install: keep the 64-bit gdb warning prompt on Mac and WSL (to be tested) — alex@thinkpad / bitbucket
  44. QEMU install: attempt to fix warnings about 64-bit gdb on Mac and WSL (to be tested)
    the script should print warnings about them, but accept them as valid — alex@thinkpad / bitbucket
  45. QEMU install: fix path issue after compilation — alex@thinkpad / bitbucket
  46. QEMU install: fix warning about lsb_release on Mac or other systems without it — alex@thinkpad / bitbucket
  47. QEMU install: attempt to fix warnings about 64-bit GDB on Mac (to be tested) — alex@thinkpad / bitbucket
  48. QEMU install: fine-tuned QEMU compilation, to be tested
    (error handling, display the next steps after compilation finished) — alex@thinkpad / bitbucket
  49. QEMU install: on WSL and Mac, try the latest 64-bit toolchain (to be tested)
    Linux installation still uses the 32-bit one (older version)
    TODO: attempt to compile a 32-bit GDB for Mac
    Reworded warnings, as a 32-bit GDB is now only needed for development;
    it's no longer mandatory for running the examples, since http://www.magiclantern.fm/forum/index.php?topic=2864.msg190823#msg190823 — alex@thinkpad / bitbucket
  50. QEMU: simplified SFDMA mapping by removing model-specific redirection
    (they are fairly consistent across all models) — alex@thinkpad / bitbucket
  51. QEMU tests: 40D call trace still not fully deterministic (CF uses some status polling, not just DMA)
    re-applying workaround (only check the "basic" call trace, without function arguments and extra info) — alex@thinkpad / bitbucket
  52. QEMU: documented SD detect registers on recent DIGIC 5 models
    (non-functional) — alex@thinkpad / bitbucket
  53. QEMU: refactored CFDMA/UartDMA handling to remove model-specific redirections
    enabled UartDMA on all models (including VxWorks), but it's not working yet
    70D: IFE DMA handling moved from SDDMA to CFDMA (minor, no noticeable side effects other than breaking the tests) — alex@thinkpad / bitbucket
  54. QEMU: fix 5D3 CF emulation
    (disabled by default; can be enabled from mpu_spells/5D3.h) — alex@thinkpad / bitbucket
  55. QEMU: documented property groups ("complex" MPU messages)
    including GDB logging hooks to find them — alex@thinkpad / bitbucket
  56. QEMU tests: relaxed shutdown checks
    (some false positives caused by non-deterministic emulation)
    (note: menu tests are executed non-determinstically, unlike the call trace, so each run is different) — alex@thinkpad / bitbucket
  57. QEMU: attempt to get deterministic execution on CF models when using -icount
    operations are slowed down to avoid timing variations
    default behavior (without -icount) is not affected
    on main firmware, the call/return trace test is now deterministic on all models!
    fixme: CF emulation in PIO mode is still non-deterministic — alex@thinkpad / bitbucket
  58. GDB scripts: generic logging hooks — alex@thinkpad / bitbucket
  59. QEMU readme: example of identifying the location of an assertion using gdb and -d callstack; minor updates — alex@thinkpad / bitbucket
  60. QEMU: updated 750D/760D GDB scripts and tests; file I/O works!
    (using 750D SFDATA.BIN) — alex@thinkpad / bitbucket
  61. Merged in t3r4n/magic-lantern/qemu (pull request #894) — alex@thinkpad / bitbucket
  62. QEMU: fix some MPU spells
    (typos caught by automated checking) — alex@thinkpad / bitbucket
  63. Added the serial flash line for 750D and 760D into model_list. See https://www.magiclantern.fm/forum/index.php?topic=17627.msg195357#msg195357 — t3ra4n _24naret@gmail.com_ / bitbucket
  64. QEMU readme: minor link updates — alex@thinkpad / bitbucket
  65. QEMU readme: moved developer and reverse engineering notes to a new file
    (reason: bitbucket seems to have trouble rendering large files) — alex@thinkpad / bitbucket
  66. QEMU readme, GDB scripts: info on debugging symbols; more symbol-file choices in comments
    (depending on what you are debugging - regular ML, reboot shim or Canon firmware) — alex@thinkpad / bitbucket
  67. QEMU readme, GDB scripts: recommend '-ex quit' after patches.gdb, but not after debugmsg.gdb

    reason: when running with patches.gdb, you may not want to type "quit" after stopping the emulation
    however, this trick removes the ability to use interactive breakpoints in GDB (it would quit as soon as reaching one), so don't recommend it for debugmsg.gdb — alex@thinkpad / bitbucket
  68. QEMU readme: fix typos; minor updates — alex@thinkpad / bitbucket
  69. QEMU: fix serial flash DMA on DIGIC 6 (tested on 80D, 5D4 and 750D with PR #894);
    refactored serial flash to use its own DMA (not shared with SD) — alex@thinkpad / bitbucket
  70. QEMU: updated 80D test results for actual serial flash contents
    http://www.magiclantern.fm/forum/index.php?topic=17360.msg195519#msg195519 — alex@thinkpad / bitbucket
  71. QEMU readme: formatting — alex@thinkpad / bitbucket
  72. QEMU readme: GDB scripting examples, including callstack — alex@thinkpad / bitbucket
  73. QEMU readme: use em-dashes instead of simple dashes — alex@thinkpad / bitbucket
  74. QEMU: changed I/O logging behavior
    - "-d io" implies "-d nochain -singlestep" (this prints correct PC values, but emulation is slower)
    - "-d io_quick" to get the old behavior (faster, with incorrect PC values)
    - "-d io_log" to print mmio_log entries for dm-spy-experiments
    - "-d nochain" always implies "-singlestep" (easier to enable this mode on other kind of logs that may need it)
    - updated README — alex@thinkpad / bitbucket
  75. QEMU readme: moved the "Incorrect firmware version" section to Hacking
    (it's no longer an issue for regular users) — alex@thinkpad / bitbucket
  76. QEMU readme: started to document the steps needed to emulate Canon GUI — alex@thinkpad / bitbucket
  77. QEMU readme: minor updates, corrections — alex@thinkpad / bitbucket
  78. QEMU tests: updated after changing the SD image
    - format screenshots slightly different at free space (before only)
    - call/return traces are also different (different layout on the SD image) — alex@thinkpad / bitbucket
  79. QEMU: updated sd.img.xz with latest portable display test
    (main change: fix identification of firmware version - 7889972) — alex@thinkpad / bitbucket
  80. GDB scripts: fix assert handling on EOS M10 — alex@thinkpad / bitbucket
  81. QEMU: moved 7D2 patches to GDB scripts;
    initial GDB script for 7D2 slave — alex@thinkpad / bitbucket
  82. QEMU: defined FPGA memory regions for 5D2 and 50D
    (just to prevent some warnings; nothing changed in functionality) — alex@thinkpad / bitbucket
  83. QEMU tests: run all cleanups on CTRL-C
    (stop all background tasks, make sure QEMU is no longer running, remove temporary files...) — alex@thinkpad / bitbucket
  84. QEMU: enabled serial flash emulation on 5D4
    (emulation on main firmware doesn't go that far, but can be tested from bootloader menu) — alex@thinkpad / bitbucket
  85. QEMU: refactored serial flash CS handling to reduce duplicate code
    (moved CS register and tested value to model_list.c) — alex@thinkpad / bitbucket
  86. QEMU tests: reworked menu tests (including format)
    - use vncexpect whenever the md5 of the next screen is known (reduces timing sensitivity and also faster overall)
    - no more wait hacks required for format tests
    - use a single vncdotool command whenever possible (faster)
    - removed duplicate code (function for sending a menu sequence)
    - fine-tuned progress indicator — alex@thinkpad / bitbucket
  87. MPU spells: allow changing various Canon properties that require confirmation from the MPU:
    ISO, shutter, aperture, EC, FEC, metering, drive, AF mode, picture style, WB, ExpSim, ALO, HTP, MLU
    all but WB were broken if changed from ML menu/scripts; they are working now (fixme: not included in tests)
    some of them were working from Canon UI before this patch (picture style, WB, ExpSim, metering and drive mode)
    WB was working before, but uses confirmation in logs; updated for consistency

    could not test on: 5D2, 40D, 50D, 550D, 650D, 700D, EOSM2
    not working: EOSM (breaks previous tests => disabled) — alex@thinkpad / bitbucket
  88. QEMU: experimental mode dial emulation
    works on most models to some extent, except 40D, could not test on 550D, 650D, 70D, EOSM2 — alex@thinkpad / bitbucket
  89. MPU spells: comment out possible mode switches
    not required for the GUI, but will interfere later with the mode switching feature
    affected models: 6D (call/return trace changed), 70D, 700D (no side effects noticed) — alex@thinkpad / bitbucket
  90. Merged in t3r4n/magic-lantern/qemu_installer (pull request #893)

    Further automation in install script to compile directly at the end. — alex _broscutamaker@gmail.com_ / bitbucket
  91. QEMU: more MPU properties identified by brute-forcing — alex@thinkpad / bitbucket
  92. QEMU: formatting fixes in extract_init_spells.py / known_spells.h — alex@thinkpad / bitbucket
  93. QEMU: added property IDs to known MPU spells
    also alternate names as comments — alex@thinkpad / bitbucket
  94. QEMU: identified more MPU spells, corrected a few others
    - experimentally (playing around in menus)
    - brute-forcing MPU messages to identify properties
    - cross-checked names and IDs in startup logs and ROM strings
    - still, it's impossible not to find a few incorrect ones — alex@thinkpad / bitbucket
  95. QEMU: experiment - brute-force MPU messages to find out their meaning — alex@thinkpad / bitbucket
  96. GDB scripts: hooks for logging properties (prop_request_change, MPU property functions)
    (example for 5D3.113 and 550D.109; useful for identifying properties) — alex@thinkpad / bitbucket
  97. qemu-util: fix compilation in bootloader context;
    sample boot messages in reboot.c, e.g. printing firmware signature or RESTARTSTART address
    (only present in the output binary when compiling with CONFIG_QEMU=y) — alex@thinkpad / bitbucket
  98. GDB scripts: disable serial flash version check patch on EOS M2
    not really needed (the error message seems harmless and doesn't prevent GUI emulation)
    but changed ML firmware signature checking
    and won't be needed after getting a serial flash dump from a real camera anyway — alex@thinkpad / bitbucket
  99. QEMU install.sh: further Ubuntu/WSL cleanups (minor) — alex@thinkpad / bitbucket
  100. QEMU install.sh: fine-tuned messages and date format when renaming an older installation — alex@thinkpad / bitbucket
  101. Merged in t3r4n/magic-lantern/qemu_install_improvement (pull request #892)

    Option to rename or delete existing QEMU directory during installation — alex _broscutamaker@gmail.com_ / bitbucket
  102. QEMU install.sh: WSL fixes
    - checking for Ubuntu (uname -a does not report Ubuntu)
    - hide 32-bit toolchain options — alex@thinkpad / bitbucket
  103. run_canon_fw.sh: Mac fixes
    - use is_mounted (lsof checks are enough)
    - typo in osascript when trying to bring QEMU window to front — alex@thinkpad / bitbucket
  104. run_canon_fw.sh: fine-tuned checking of whether SD/CF image is in use
    - use lsof to detect whether another process opened the SD/CF image for writing
    - only allow multiple instances of QEMU if using -snapshot (read-only access to SD/CF image)
    - check all results returned by losetup (note: lsof does not show whether the image is mounted)
    - use alternate methods (grepping mount output) if losetup is not available
    - to be tested/refined on Mac and Windows 10 WSL — alex@thinkpad / bitbucket
  105. QEMU: RTC workaround to bring back 400D GUI
    (broken in 0d654a0, not covered by tests as it's very slow) — alex@thinkpad / bitbucket
  106. QEMU: 40D GUI working!
    - MPU RX register was read 8 bits at a time (other models so far used 16-bit reads)
    - using 50D MPU spells
    - button codes found with extract_button_codes.py, from existing ML port
    - HotPlug: external monitor, USB, Toe, erase switch
    - CFDMA: new channel, protocol tweaks, enabled interrupts
    - Powersave workaround (GUI locked up after some seconds of inactivity, similar to 1300D) — alex@thinkpad / bitbucket
  107. QEMU: fix USB CONNECT on 450D/1000D
    (incidentally, this also fixes the card format dialog on these cameras - likely UILock issue) — alex@thinkpad / bitbucket
  108. QEMU: 1300D GUI works!
    - this camera uses a different DryOS timer (totally unexpected!)
    - removed JPCORE patch (firmware expects this to be initialized properly)
    - generic MPU spells; button codes from 1100D
    - powersave workaround (without it, GUI would lock up after a few seconds of inactivity)
    - no patches required! — alex@thinkpad / bitbucket
  109. QEMU: cleaned up serial flash handling on models that don't use one
    previously, they were called on unrelated SIO/SDIO channels, with little or no side effects,
    other than breaking a few function call trace tests — alex@thinkpad / bitbucket
  110. QEMU: updated 80D tests for 1.0.2; DCIM test also works! — alex@thinkpad / bitbucket
  111. QEMU: 80D file I/O support from main firmware
    (experimental, tested with "dumpf" in the serial console) — alex@thinkpad / bitbucket
  112. QEMU: enable card support on generic MPU spells
    (experimental, some models work better than others) — alex@thinkpad / bitbucket
  113. GDB scripts: some experimental 80D patches, to be fixed in the emulation — alex@thinkpad / bitbucket
  114. GDB scripts: log state object transitions
    (stubs for 550D and 80D) — alex@thinkpad / bitbucket
  115. GDB scripts: 80D logging hooks for semaphores and message queues
    (disabled by default; also updated assert_log for 1.0.2) — alex@thinkpad / bitbucket
  116. QEMU: RomRead DMA is actually XDMAC
    (up to 4 channels; 80D only uses 2) — alex@thinkpad / bitbucket
  117. QEMU: experimental MPU support for 80D, 750D and 760D
    seems to work with generic spells - at least the emulation goes further
    also minor refactoring / comments on MPU registers for earlier models
    also enabled for 5D4 just to avoid a crash - emulation doesn't reach mpu_send yet, but it calls InitializeIntercom — alex@thinkpad / bitbucket
  118. QEMU tests: do not start if compilation fails
    (small nitpick that could result in false test results) — alex@thinkpad / bitbucket
  119. QEMU: updated tests after b75e1342711a
    (context info is now correctly printed when returning from msg_queue_receive, take_semaphore etc) — alex@thinkpad / bitbucket
  120. QEMU: generic MPU spells compatible with most EOS models (experimental) — alex@thinkpad / bitbucket
  121. QEMU logging: fix losing track of called functions when DryOS tasks are switched outside interrupts
    see the assertion error on 5D4 callstack consistency test (after 442b691)
    to be tested; there was a similar error was on 80D, non-deterministic
    (encountered when running with -d debugmsg,callstack,tail with all patches enabled) — alex@thinkpad / bitbucket
  122. QEMU: MPU status doesn't seem to matter much; simplified to prepare for DIGIC 6 compatibility
    todo: cross-check with actual hardware — alex@thinkpad / bitbucket
  123. QEMU: shared memory initialization for DIGIC 6 (MEMDIV messages)
    to try: SHM_SHOW_INFO / SHM_SHOW_DIST_INFO on serial console (only 80D, 750D and 760D reach this far)
    ( sleep 3; echo "akashimorino";
      sleep 1; echo "SHM_SHOW_INFO";
      sleep 1; echo "SHM_SHOW_DIST_INFO";
    ) | ./run_canon_fw.sh 80D -serial stdio — alex@thinkpad / bitbucket
  124. QEMU: refactored serial flash SIO handler with io_log — alex@thinkpad / bitbucket
  125. QEMU: refactored serial flash connections to avoid hardcoding camera model names
    fixme: D3 models and 1300D still hardwired to serial flash handlers to pass the tests — alex@thinkpad / bitbucket
  126. QEMU: experimental serial flash support for 80D
    using SFDATA.BIN from 70D, patched at 0x10004 from 09 8B C1 20 to 00 00 01 20
    meaning: size of 70D's property block at 0x10000 is 0x12BC98 (data is shifted by 4 bytes)
    but 80D expects a maximum size of 0x12000 in FE47BF40 ("Liar Valid Packages!!" if the size check fails)
    so we trim the property block at the expected size of 0x12000
    this will lose a few properties, but at least the emulation goes further (no SF dumper for D6 yet)
    other 8MB SFDATA.BIN patched in the same way should also work (700D, 650D, EOSM, 6D),
    but their data block at 0x10000 is larger, so more properties will be probably lost (not tested) — alex@thinkpad / bitbucket
  127. QEMU: RomRead DMA for DIGIC 6, used for initializing property blocks
    (very similar to regular DMA, slightly different register offsets) — alex@thinkpad / bitbucket
  128. QEMU: slow down UART input to work around race conditions
    (not exactly clean, but at least DryShell tests are now passing on all models) — alex@thinkpad / bitbucket
  129. QEMU: fixed UART on DIGIC 6 (DryShell works!)
    fixme: tests are failing, but typing on the UI works fine
    note: DIGIC 4/5 emulation changed a bit (0xC0270000 was misinterpreted before) — alex@thinkpad / bitbucket
  130. QEMU: found out why DIGIC 6 models were getting stuck at startup!
    The firmware was reading the memory layout from CP15 registers;
    most of them were emulated well in QEMU, except ATCM and BTCM, which were implemented as NOP.
    They are still NOP in current QEMU git.

    Patching the memory regions loop is no longer required!
    (keeping empty 80D patch for future use) — alex@thinkpad / bitbucket
  131. MPU spells: some names could not be identified (fixed) — alex@thinkpad / bitbucket
  132. QEMU tests: call mtools_setup.sh rather than duplicating its work
    (fixes some tests failing if mtools is configured to use lowercase by default) — alex@thinkpad / bitbucket
  133. run_canon_fw.sh: on Mac, bring QEMU window to foreground
    (by default, the window is opened behind the terminal, so one may not even notice it) — alex@thinkpad / bitbucket
  134. run_canon_fw.sh: print camera name in QEMU window title — alex@thinkpad / bitbucket
  135. run_canon_fw.sh: only clear the terminal if running in interactive mode
    https://serverfault.com/questions/146745/how-can-i-check-in-bash-if-a-shell-is-running-in-interactive-mode — alex@thinkpad / bitbucket
  136. QEMU logging: always log unmapped memory regions — alex@thinkpad / bitbucket
  137. GDB scripts: fix text alignment with "native" logging options (minor) — alex@thinkpad / bitbucket
  138. QEMU install.sh: fix null byte warning when parsing model list
    (bash 4.4 and newer? http://www.magiclantern.fm/forum/index.php?topic=2864.msg193118#msg193118 ) — alex@thinkpad / bitbucket
  139. QEMU install: print fewer help details after installation; link to the online documentation — alex@thinkpad / bitbucket
  140. QEMU readme: formatting, typos — alex@thinkpad / bitbucket
  141. QEMU readme: more info regarding custom SD/CF images — alex@thinkpad / bitbucket
  142. QEMU readme: more ways to install ML to the virtual SD/CF images — alex@thinkpad / bitbucket
  143. QEMU readme: note about "make install_qemu" not available in all branches — alex@thinkpad / bitbucket
  144. QEMU readme: note about models using a serial flash — alex@thinkpad / bitbucket
  145. QEMU README: minor updates to 050a3cc — alex@thinkpad / bitbucket
  146. Merged unified into qemu — alex@thinkpad / bitbucket
  147. Merged makefile-updates into qemu — alex@thinkpad / bitbucket
  148. Makefile: backout 0b9b550
    ?= not needed when overriding from command-line, e.g. make CONFIG_QEMU=y — alex@thinkpad / bitbucket
  149. Merged makefile-updates into qemu — alex@thinkpad / bitbucket
  150. run_canon_fw.sh: Mac compatibility fixes — alex@thinkpad / bitbucket
  151. QEMU: 5D3 1.2.3 GUI works!
    fixme: not covered by tests — alex@thinkpad / bitbucket
  152. QEMU: refactored RTC CS
    each model now uses its own GPIO, rather than enabling all possible registers on all models
    70D call trace test: minor change to 0xC02201F8, no impact on functionality — alex@thinkpad / bitbucket
  153. QEMU: 70D GUI works!
    - GDB patch required (SIO locking up DisplayMgr task, probably touch screen not responding)
    - RTC (similar to 6D, but on different SIO channel)
    - updated tests (menu, format, call trace)
    - minor change to 100D call trace test (0xC022005C = 450D RTC CS; no impact on functionality) — alex@thinkpad / bitbucket
  154. QEMU: 6D GUI works!
    - MPU log and serial flash from Audionut, https://bitbucket.org/hudson/magic-lantern/issues/1974/#comment-40853231
    - RTC (a bit hackish, to be refactored)
    - GPIOs for HDMI and WriteProtect
    - tests (menu, format, call trace)
    - patched MPU spells to avoid an intermittent issue (race condition when setting picture quality?) — alex@thinkpad / bitbucket
  155. QEMU: fix typo in MPU spells script (broken in a42e55a)
    "Complete WaitID = 0x80020000" should have been commented out
    this disables LiveView "emulation" in 700D/650D and fixes ML menu for nightly tests
    todo: add a test for this (existing tests did not catch this issue) — alex@thinkpad / bitbucket
  156. QEMU tests: reordered (important, breaks often and/or very fast == runs earlier) — alex@thinkpad / bitbucket
  157. QEMU tests: run in parallel when it's straightforward to do so (experimental)
    not parallelized: tests requiring custom builds or checking card contents afterwards — alex@thinkpad / bitbucket
  158. QEMU tests: prepare for parallel execution (3)
    - stop each QEMU instance from the monitor socket
    - two methods: shutdown (clean DryOS shutdown, for GUI tests) and quit (clean QEMU shutdown without turning off the guest OS, for all other tests)
    - check for any stale qemu-system-arm / arm-none-eabi-gdb only after each set of tests — alex@thinkpad / bitbucket
  159. QEMU tests: prepare for parallel execution (2)
    - unique QEMU_JOB_ID for each job
    - unique GDB port and VNC display, derived from QEMU_JOB_ID — alex@thinkpad / bitbucket
  160. QEMU tests: prepare for parallel execution (1)
    - allow overriding GDB port for each instance (replaced '-s -S' with '-S -gdb tcp::$GDB_PORT'; gdb receives '-ex "set \$TCP_PORT=$GDB_PORT"')
    - allow overriding VNC display for each instance (replaced ':12345' with '$VNC_DISP')
    - indentation of qemu/gdb commands — alex@thinkpad / bitbucket
  161. QEMU scripts: rough backend support for parallel execution
    - requires manual resource allocation
    - QEMU_JOB_ID used as prefix for qemu.monitor (each instance would get its own monitor socket)
    - GDB port can be overriden and derived from QEMU_JOB_ID (see README)
    - VNC port can be handled in the same way
    - README updated — alex@thinkpad / bitbucket
  162. QEMU tests/readme: recent netcat requires -N — alex@thinkpad / bitbucket
  163. QEMU tests: one more race condition fix — alex@thinkpad / bitbucket
  164. QEMU tests: speed optimizations
    - only restore SD/CF images if they were actually changed
    - do not wait for gdb if it's not running
    - overhead with no tests running: from ~30 seconds to ~10 seconds — alex@thinkpad / bitbucket
  165. QEMU tests: more race condition fixes — alex@thinkpad / bitbucket
  166. QEMU tests: attempt to fix some race conditions — alex@thinkpad / bitbucket
  167. QEMU tests: minor fixes after refactoring — alex@thinkpad / bitbucket
  168. QEMU tests: use -snapshot to prevent changing SD and CF images
    (exceptions: tests for ROM dumper and DCIM, where we check card contents to validate the test result) — alex@thinkpad / bitbucket
  169. QEMU tests: allow selecting only specific tests to run (lowercase arguments)
    Can be mixed freely with camera models (uppercase arguments)
    Default (no arguments): run all tests — alex@thinkpad / bitbucket
  170. QEMU tests: refactored each test as a bash function
    - top-level continue -> return
    - moved common preparations to run_test
    - each test function uses globals $CAM and $TEST (camera model and test output basename)
    - test outputs named $TEST.whatever or $TEST-foo.bar
    - generic cleanup after each test
    - top-level for loops kept; the loop body calls run_test — alex@thinkpad / bitbucket
  171. QEMU: make sure mtools prints uppercase filenames by default
    (our tests assume this behavior, but some systems have different defaults) — alex@thinkpad / bitbucket
  172. Merged makefile-updates into qemu — alex@thinkpad / bitbucket
  173. QEMU: fix arrow unpress handling on cameras without UDLR (tested on EOSM) — alex@thinkpad / bitbucket
  174. QEMU tests: replaced two slow grep commands with sed — alex@thinkpad / bitbucket
  175. QEMU tests: check call/return trace only until the last function from IDC
    (the next 1000 lines can be nondeterministic on digic 6 models) — alex@thinkpad / bitbucket
  176. QEMU tests: refactored matching heuristic for call/return trace on main firmware
    (rewritten in Python - much faster) — alex@thinkpad / bitbucket
  177. QEMU install: brew docutils needs additional setup; just use the one from pip — alex@thinkpad / bitbucket
  178. mtools_copy_ml.sh: removed dependency on realpath
    (not available on Mac) — alex@thinkpad / bitbucket
  179. Makefile: fix compiling tcc — alex@thinkpad / bitbucket
  180. QEMU install: Mac cleanups, to be tested
    (xcode-select auto-installed by brew, docutils available as package) — alex@thinkpad / bitbucket
  181. Makefile: moved toolchain setup to Makefile.setup
    (this allows toolchain to be overridden from Makefile.user) — alex@thinkpad / bitbucket
  182. run_canon_fw.sh: use ESC c to reset the terminal, instead of "tput reset"
    ("tput reset" may crash when running as background job - bash bug?) — alex@thinkpad / bitbucket
  183. QEMU install: refuse to overwrite an existing installation — alex@thinkpad / bitbucket
  184. QEMU install: only apply the gcc 7.x patch if user actually has gcc 7
    also commit the gcc 7.x patch to our local git repo, so it won't affect updates to qemu-2.5.0.patch — alex@thinkpad / bitbucket
  185. QEMU install: we have gcc-arm-embedded:i386 on the PPA :) — alex@thinkpad / bitbucket
  186. Makefile: fixes to allow compiling ML with Linaro arm-eabi-gcc; updated toolchain recommendations — alex@thinkpad / bitbucket
  187. QEMU: patch for building with gcc 7.x — alex@thinkpad / bitbucket
  188. QEMU install: explicit check for Ubuntu (other systems use apt-get, with different package names); explicit "dpkg --add-architecture i386" if any package needs it
    (should fix installation on newer Ubuntu - to be tested) — alex@thinkpad / bitbucket
  189. MPU spells: try to use parameters (ARG0, ARG1 etc) in simple cases
    (same-length replies, repeating the arguments in the same position)
    (note: PROP_BURST_COUNT doesn't always work well like this) — alex@thinkpad / bitbucket
  190. QEMU: typo when loading raw images for capture emulation — alex@thinkpad / bitbucket
  191. MPU spells: identified some lens properties (PROP_LENS and PROP_LENS_NAME) — alex@thinkpad / bitbucket
  192. MPU spells: identify property description for Complete WaitID messages — alex@thinkpad / bitbucket
  193. QEMU: comment out some common MPU spells and use the ones from our headers;
    always include the headers in autogenerated spells
    always disable sensor cleaning
    (some emulation differences in a few models, hopefully non-essential) — alex@thinkpad / bitbucket
  194. MPU spells: identified PROP_BATTERY_CHECK
    (verified before dialogs such as card format or firmware update) — alex@thinkpad / bitbucket
  195. QEMU: print names of MPU spells (exported from extract_init_spells.py)
    and highlight the ones without name or without known behavior — alex@thinkpad / bitbucket
  196. MPU spells: documented a bunch of properties and updated their indexing
    (some trial and error, others copied from http://www.magiclantern.fm/forum/index.php?topic=17596.0 ) — alex@thinkpad / bitbucket
  197. QEMU: handle INFO unpress event (for 5D3) — alex@thinkpad / bitbucket
  198. QEMU: generate valid dark frames if a CR2 isn't available — alex@thinkpad / bitbucket
  199. QEMU: allow full-res 14-bit data from any format readable by dcraw
    (usually CR2 and DNG; example in README) — alex@thinkpad / bitbucket
  200. QEMU: use <%d> for EDMAC connections in debug messages
    (e.g. connection <5>, channel #16) — alex@thinkpad / bitbucket
  201. QEMU: moved image processing engine functions to separate file
    (EDMAC, PREPRO, JPCORE...) — alex@thinkpad / bitbucket
  202. make install_qemu: check whether sd.img or cf.img is mounted before copying files — alex@thinkpad / bitbucket
  203. run_canon_fw.sh: also print the command-line of arm-none-eabi-gdb, if any
    and whether it's running as a background job or not — alex@thinkpad / bitbucket
  204. QEMU: updated 600D test to include the info screen
    (had to enable it in Canon menu) — alex@thinkpad / bitbucket
  205. QEMU: disabled sensor cleaning animation on 5D2, 50D, 60D
    (interferes with ML menu; updated tests) — alex@thinkpad / bitbucket
  206. QEMU: warn user when shutdown is not clean — alex@thinkpad / bitbucket
  207. QEMU: updated 100D menu test to show all menus (including the FlexiZone AF setting) — alex@thinkpad / bitbucket
  208. QEMU: run 100D with FlexiZone AF enabled (this setting results in ML crashing at startup)
    http://www.magiclantern.fm/forum/index.php?topic=16040.msg190934#msg190934 — alex@thinkpad / bitbucket
  209. QEMU tests: declared cameras able to run the FRSP test at the beginning
    (so run_test arguments now apply to this test as well) — alex@thinkpad / bitbucket
  210. qemu-frsp: updated to operate from PLAY mode
    previously, it was operating on the date/time screen;
    now all models are starting either with Canon's info screen,
    or with display off, or show the sensor cleaning animation — alex@thinkpad / bitbucket
  211. QEMU install: updated regex for parsing GUI_CAMS from run_tests.sh
    (to allow multi-line declaration) — alex@thinkpad / bitbucket
  212. QEMU tests: 100D typo
    (old file) — alex@thinkpad / bitbucket
  213. QEMU tests: updated for 5D2/50D without date/time dialog
    note: sensor cleaning animation makes the test nondeterministic - do not check these screens — alex@thinkpad / bitbucket
  214. QEMU: 5D2/50D RTC patch from g3gg0
    (date/time dialog is history!) — alex@thinkpad / bitbucket
  215. QEMU: updated README — alex@thinkpad / bitbucket
  216. QEMU: enabled PROP_MPU_GPS on all DIGIC 5 models — alex@thinkpad / bitbucket
  217. QEMU: EOS M boots the GUI!
    (it also needs the GPS patch - moved to GPS.h) — alex@thinkpad / bitbucket
  218. QEMU: updated tests
    (after RTC emulation, I2C and patches cleanup) — alex@thinkpad / bitbucket
  219. GDB scripts: date/time patches no longer needed! — alex@thinkpad / bitbucket
  220. QEMU: reworked I2C debug messages — alex@thinkpad / bitbucket
  221. QEMU: updated MMIO highlighting code
    (module name is now highlighted as well - easier to spot) — alex@thinkpad / bitbucket
  222. QEMU: moved RTC emulation to its own handler; reworked debug messages — alex@thinkpad / bitbucket
  223. QEMU: enabled RTC emulation for most models
    exceptions: 5D2 and 50D appear to use a different chip or method — alex@thinkpad / bitbucket
  224. QEMU: RTC patch from g3gg0
    5D3 and 60D no longer show the date/time screen! — alex@thinkpad / bitbucket
  225. QEMU: I2C patch from g3gg0 — alex@thinkpad / bitbucket
  226. QEMU: figured out why 5D3 was locking up at startup and in certain menus - it was waiting for PROP_MPU_GPS!
    (thanks g3gg0) — alex@thinkpad / bitbucket
  227. QEMU install: don't install two toolchains if user selects 64-bit GDB — alex@thinkpad / bitbucket
  228. QEMU install: libnewlib-arm-none-eabi is architecture-independent — alex@thinkpad / bitbucket
  229. QEMU install: download toolchain from launchpad and use developer.arm.com as mirror
    (developer.arm.com is currently down, hopefully not from our experiments) — alex@thinkpad / bitbucket
  230. QEMU install: make it clear that *you* have to run the PATH command (not the script);
    use export (e.g. for shells other than bash) - https://unix.stackexchange.com/questions/26047/how-to-correctly-add-a-path-to-path — alex@thinkpad / bitbucket
  231. QEMU install: 32-bit Mac toolchain doesn't have gdb... — alex@thinkpad / bitbucket
  232. QEMU install: wrong quotes — alex@thinkpad / bitbucket
  233. QEMU install: fix some copy/paste errors — alex@thinkpad / bitbucket
  234. QEMU install: allow using the current 64-bit toolchain on Ubuntu; minor fixes — alex@thinkpad / bitbucket
  235. QEMU install: more toolchain options (experimental)
    - Mac: try the toolchain from https://acroname.com/software/arm-eabi-gcc-toolchain-mac-osx-macos-x-32bit (not tested)
    - Ubuntu: options to install GCC from Ubuntu repo
      - older version, 32-bit or 64/bit
      - from gcc-arm-embedded PPA (6.x 64-bit)
      - from gcc-arm-embedded (32-bit installed in home directory)
      - use the existing installation if possible
    - Ubuntu: don't install libfdt-dev (not needed?)
    - all: print warnings about 64-bit GDB and allow using it anyway if user says so
    - all: check whether arm-none-eabi-gcc can compile a simple program
    - all: check whether rst2html or vncdotool are installed outside package manager — alex@thinkpad / bitbucket
  236. Merged in kichetof/magic-lantern-1/kichetof/qemu-install-elegant-way-to-install-pack-1506440503741 (pull request #861)

    QEMU install: elegant way to install packages on macOS — alex _broscutamaker@gmail.com_ / bitbucket
  237. QEMU install: remove docutils install for macOS — christophe francey _kichetof@gmail.com_ / bitbucket
  238. QEMU install: elegant way to install packages on macOS
    Checks if the package is already installed otherwise install it — christophe francey _kichetof@gmail.com_ / bitbucket
  239. QEMU install: on Ubuntu, gdb-arm-none-eabi:i386 and gcc-arm-none-eabi can be installed with the same command
    (false alarm; let's also check for correct installation) — alex@thinkpad / bitbucket
  240. QEMU install: pip does not require sudo — alex@thinkpad / bitbucket
  241. QEMU install: fix for dpkg -l also returning non-installed packages
    https://wiki.debian.org/ListInstalledPackages — alex@thinkpad / bitbucket
  242. QEMU install: on Ubuntu, gdb-arm-none-eabi:i386 and gcc-arm-none-eabi must not be installed with the same command
    (otherwise, we get gcc-arm-none-eabi:i386 which does not include libnewlib-arm-none-eabi...) — alex@thinkpad / bitbucket
  243. QEMU install: pip recommends sudo -H
    https://stackoverflow.com/questions/27870003/pip-install-please-check-the-permissions-and-owner-of-that-directory — alex@thinkpad / bitbucket
  244. QEMU install: also set up the toolchain for compiling ML (Ubuntu) — alex@thinkpad / bitbucket
  245. QEMU install: typo — alex@thinkpad / bitbucket
  246. Makefile: updated toolchain recommendation; minor edits — alex@thinkpad / bitbucket
  247. QEMU install: 64-bit arm-none-eabi-gdb doesn't work (cannot boot 5D3 GUI),
    no matter where it comes from (Ubuntu repo or gcc-arm-embedded PPA)...
    on 64-bit Ubuntu, gdb-arm-one-eabi:i386 works, but Windows and Mac are out of luck for now — alex@thinkpad / bitbucket
  248. Makefile: attempt to use any arm-none-eabi-gcc from PATH, if already installed (to be tested)
    By default, it will attempt to use ~/gcc-arm-none-eabi-5_4-2016q3 if installed. — alex@thinkpad / bitbucket
  249. QEMU install: gcc-arm-embedded try #5 — alex@thinkpad / bitbucket
  250. QEMU install: gcc-arm-embedded try #4 — alex@thinkpad / bitbucket
  251. QEMU install: gcc-arm-embedded try #3 — alex@thinkpad / bitbucket
  252. QEMU install: gcc-arm-embedded try #2 — alex@thinkpad / bitbucket
  253. QEMU install: let's try gcc-arm-embedded from PPA — alex@thinkpad / bitbucket
  254. Merged in kichetof/magic-lantern-1/kichetof/qemu-check-if-brew-is-installed-on-macos-1506424463270 (pull request #860)
    also included this suggestion: https://bitbucket.org/hudson/magic-lantern/commits/a24f36e36ea4b27a3c86b8e77e70b49cf4e04fea#comment-5261641 — alex@thinkpad / bitbucket
  255. QEMU: check if brew is installed on macOS — christophe francey _kichetof@gmail.com_ / bitbucket
  256. Makefile: use gcc 5.4.1 by default (current version from https://launchpad.net/gcc-arm-embedded ) — alex@thinkpad / bitbucket
  257. QEMU install: more Mac patches (not tested)
    from http://www.magiclantern.fm/forum/index.php?topic=16012.msg190369#msg190369 — alex@thinkpad / bitbucket
  258. QEMU install: also install docutils and vncdotool — alex@thinkpad / bitbucket
  259. QEMU install: verbosity fine-tuning — alex@thinkpad / bitbucket
  260. QEMU: minor README updates — alex@thinkpad / bitbucket
  261. QEMU: README formatting — alex@thinkpad / bitbucket
  262. QEMU: README formatting — alex@thinkpad / bitbucket
  263. QEMU: updated install instructions in README — alex@thinkpad / bitbucket
  264. QEMU install: arm-none-eabi-gdb requires 32-bit libraries on Ubuntu — alex@thinkpad / bitbucket
  265. QEMU: set up arm-none-eabi-gdb from the install script — alex@thinkpad / bitbucket
  266. QEMU: auto-install dependencies if running on Ubuntu-based systems (to be tested) — alex@thinkpad / bitbucket
  267. QEMU: some Mac patches for install script (not tested)
    http://www.magiclantern.fm/forum/index.php?topic=16012.msg190369#msg190369 — alex@thinkpad / bitbucket
  268. QEMU: ggrep patch for Mac from kichetof
    http://www.magiclantern.fm/forum/index.php?topic=16012.msg190396#msg190396 — alex@thinkpad / bitbucket
  269. QEMU: supply an email address for git if the default doesn't work
    http://www.magiclantern.fm/forum/index.php?topic=16012.msg190409#msg190409 — alex@thinkpad / bitbucket
  270. QEMU tests: M3 display test, using DISKBOOT.BIN from Ant123
    (also test other PowerShot models to see whether they are loading DISKBOOT.BIN from the card) — alex@thinkpad / bitbucket
  271. QEMU: EOS M3 display support from Ant123 (using a custom CHDK build) — alex@thinkpad / bitbucket
  272. QEMU README: Bitbucket doesn't resize the images... — alex@thinkpad / bitbucket
  273. QEMU README: let's try some screenshots — alex@thinkpad / bitbucket
  274. QEMU: more README updates
    - shutdown notes (system_powerdown vs quit)
    - rewritten QEMU monitor section
    - how to bypass the date/time dialog — alex@thinkpad / bitbucket
  275. QEMU: minor improvements to README — chris miller _chris.nz@gmail.com_ / bitbucket
  276. QEMU: README updates
    - shutdown and reboot
    - running from physical card
    - menu navigation (keys)
    - misc notes, minor typos — alex@thinkpad / bitbucket
  277. QEMU: 1000D GUI works too
    (based on 450D) — alex@thinkpad / bitbucket
  278. QEMU: stretch display vertically on VxWorks models
    (double all lines to get correct aspect ratio) — alex@thinkpad / bitbucket
  279. QEMU: emulate JUMP and Direct Print buttons (for VxWorks models) — alex@thinkpad / bitbucket
  280. Backout 89254290c3f7
    (shutdown only works only when not activating Canon menu, with or without this patch) — alex@thinkpad / bitbucket
  281. QEMU: 450D GUI working!
    - updated MPU spells, button codes and parsing scripts
    - WriteProtect GPIO
    - SET does not send unpress events
    - menu navigation working, format locks up
    - shutdown working
    - updated tests — alex@thinkpad / bitbucket
  282. QEMU: print whether available keys are press-only or they also send unpress events — alex@thinkpad / bitbucket
  283. QEMU: re-created 70D MPU spells; shutdown working — alex@thinkpad / bitbucket
  284. QEMU: shutdown working on most models able to start the GUI (all but 70D) — alex@thinkpad / bitbucket
  285. minimal targets: removed old references to qemu-util — alex@thinkpad / bitbucket
  286. QEMU tests: always stop GDB when QEMU quits — alex@thinkpad / bitbucket
  287. QEMU tests: updated to handle shutdown and reboot
    (shutdown test after menu navigation, reboot test when formatting card and restoring ML) — alex@thinkpad / bitbucket
  288. QEMU: handle PROP_ABORT (after opening battery door)
    fixme: it doesn't shutdown, figure out why — alex@thinkpad / bitbucket
  289. QEMU: handle the powerdown event
    (menu: Machine -> Power Down) — alex@thinkpad / bitbucket
  290. QEMU: experimental shutdown handling (card door and power switch) — alex@thinkpad / bitbucket
  291. reloc.c: cleaned up ifdef's — alex@thinkpad / bitbucket
  292. QEMU: minor README update
    (ML menu now working on all models able to boot the GUI) — alex@thinkpad / bitbucket
  293. QEMU: 1200D doesn't have a dedicated delete button
    (use the key codes from 1100D - same as 600D, but without the delete button) — alex@thinkpad / bitbucket
  294. QEMU: experimental Av button handling for Rebel cameras
    (fixme: has some side effects, such as changing the displayed shutter speed) — alex@thinkpad / bitbucket
  295. QEMU: don't auto-repeat keys, except for scrollwheels — alex@thinkpad / bitbucket
  296. QEMU: also allow right shift for half-shutter — alex@thinkpad / bitbucket
  297. QEMU: handle the FUNC button (for 50D menu navigation) — alex@thinkpad / bitbucket
  298. Merged unified into qemu — alex@thinkpad / bitbucket
  299. QEMU: updated 700D to 1.1.5 (GDB scripts and menu tests) — alex@thinkpad / bitbucket
  300. QEMU: README updates — alex@thinkpad / bitbucket
  301. QEMU: initial README draft — alex@thinkpad / bitbucket
  302. Makefile: "make install_qemu" for platform targets;
    updated run_ml_all_cams.sh to use it — alex@thinkpad / bitbucket
  303. qemu-util: qprintf requires stdarg.h (when not included from dryos.h) — alex@thinkpad / bitbucket
  304. Makefile: allow using CONFIG_QEMU for modules (qprintf and related functions) — alex@thinkpad / bitbucket
  305. Makefile: allow overriding CONFIG_* options on the command line
    e.g. make CONFIG_QEMU=y
    (suggestion from g3gg0) — alex@thinkpad / bitbucket
  306. qemu-util: make the QEMU debugging API header-only — alex@thinkpad / bitbucket
  307. console include qemu-util.h is no longer needed — alex@thinkpad / bitbucket
  308. menu: removed QEMU workaround (no longer needed - GUI mode switch works on most models) — alex@thinkpad / bitbucket
  309. QEMU: workaround for invalidating executable code after ROM patches
    fixme: this should be handled internally by QEMU; not sure why it isn't
    to reproduce: register_interrupt hook on dm-spy-experiments branch, with hooks enabled right after Canon's init task
    (the hook will fail on models where this function is in ROM, e.g. 550D, but will succeed if it's in RAM, e.g. 5D3) — alex@thinkpad / bitbucket
  310. Raw backend: some more debug messages
    (useful for qemu-frsp tests) — alex@thinkpad / bitbucket
  311. QEMU tests: reworked FA_CaptureTestImage test:
    - enabled debugmsg in the main log; moved UART output to a new file
    - run until FA_CaptureTestImage Fin appears in the UART log
    - also check models with no display (from the UART log) — alex@thinkpad / bitbucket
  312. qemu-frsp: fix compilation — alex@thinkpad / bitbucket
  313. Merged unified into qemu — alex@thinkpad / bitbucket
  314. QEMU tests: FA_CaptureTestImage test also working on 50D, 500D, 550D and - without display - on 1100D — alex@thinkpad / bitbucket
  315. qemu-frsp: use CONFIG_QEMU to enable debug messages from raw.c — alex@thinkpad / bitbucket
  316. qemu-util: removed old experiments
    (kept the initial hello world for historical purposes) — alex@thinkpad / bitbucket
  317. Raw backend: print to QEMU console if compiled with CONFIG_QEMU=y
    (without enabling RAW_DEBUG) — alex@thinkpad / bitbucket
  318. qemu-frsp: fix compiling on 500D, 5D2 and 50D — alex@thinkpad / bitbucket
  319. memcheck: check malloc heap in the same way as AllocateMemory (500D only for now) — alex@thinkpad / bitbucket
  320. memcheck: option to identify uninitialized memory accesses in main firmware
    that could be exploited from bootloader — alex@thinkpad / bitbucket
  321. memcheck: fix operation on DIGIC 6 — alex@thinkpad / bitbucket
  322. memcheck: fix operation without ML memcpy — alex@thinkpad / bitbucket
  323. QEMU: tests for memchk, from minimal ML
    (not all of them are passing) — alex@thinkpad / bitbucket
  324. qemu-hptimer: CONFIG_INSTALLER no longer needed — alex@thinkpad / bitbucket
  325. 7D: fix minimal targets (no LEDON/LEDOFF on this model though) — alex@thinkpad / bitbucket
  326. GDB scripts: register_interrupt on all models (with test) — alex@thinkpad / bitbucket
  327. GDB scripts: removed duplicate code between */debugmsg.gdb and */patches.gdb
    (if patches.gdb is present, debugmsg.gdb will always include it)
    (also moved 1300D patch to separate file) — alex@thinkpad / bitbucket
  328. GDB scripts: disabled slow items by default
    (semaphores, message queues, MPU communication, ResLock, EDMAC) — alex@thinkpad / bitbucket
  329. GDB scripts: symbol-file commands to get debugging symbols from ML (commented out)
    todo: auto-enable when autoexec.bin is executed? — alex@thinkpad / bitbucket
  330. QEMU: always load camera-specific files from CAM/ or CAM/FW/ (refactored to avoid duplicate code) — alex@thinkpad / bitbucket
  331. QEMU tests: updated menu test for 70D 1.1.2 — alex@thinkpad / bitbucket
  332. QEMU tests: updated 70D needles (expected results) for 1.1.2 — alex@thinkpad / bitbucket
  333. QEMU tests: allow camera models as arguments — alex@thinkpad / bitbucket
  334. QEMU: with -d exec, make sure the instructions aren't printed twice — alex@thinkpad / bitbucket
  335. QEMU tests: very basic Dry-shell test — alex@thinkpad / bitbucket
  336. QEMU: experimental UART support in main firmware
    (Dry-shell working on all DIGIC 4 and 5 models) — alex@thinkpad / bitbucket
  337. QEMU: option to highlight certain MMIO registers
    (requires editing the source code) — alex@thinkpad / bitbucket
  338. QEMU: option to export MMIO reads as dm-spy entries (dm-spy-experiments branch)
    this allows cross-checking the values with the ones from actual hardware
    usage:
    - ./run_canon_fw.sh 5D3 [...] -d io,nochain -singlestep
    - copy/paste some entries into dm-spy-extra.c (grep for mmio_log to find them)
    - get logs from both camera and QEMU (dm-spy-experiments branch, CONFIG_DEBUG_INTERCEPT_STARTUP=y, maybe also CONFIG_QEMU=y)
    - adjust the emulation until the logs match — alex@thinkpad / bitbucket
  339. QEMU: require verbose (e.g. -d io,int,verbose) to show DryOS timer interrupts and DIGIC timer — alex@thinkpad / bitbucket
  340. QEMU: incomplete 5D3 1.2.3 GUI (boots with black screen, no menus) — alex@thinkpad / bitbucket
  341. QEMU logging: option to identify tail function calls (heuristic) — alex@thinkpad / bitbucket
  342. QEMU tests: trimming should work now — alex@thinkpad / bitbucket
  343. QEMU tests: trimming must be done on useful lines, not on raw input lines
    (otherwise the test will be sensitive to any additional info in the raw log) — alex@thinkpad / bitbucket
  344. QEMU tests: call/return trace tests first
    (they are more likely to fail or require frequent updates) — alex@thinkpad / bitbucket
  345. QEMU tests: include interrupts in main firmware call/return test
    (this allows counting related stats from the filtered log - smaller) — alex@thinkpad / bitbucket
  346. QEMU tests: use ansi2txt only once in the main firmware call/return test (speed optimization) — alex@thinkpad / bitbucket
  347. QEMU tests: IDC needs trimming as well in order to get deterministic results — alex@thinkpad / bitbucket
  348. QEMU tests: trim calls-main-basic.idc until matching the "needle" md5
    (hopefully this trick will get repeatable results on faster PCs) — alex@thinkpad / bitbucket
  349. QEMU tests: 5D2 IDC test not deterministic (functions are the same, but comments are not) — alex@thinkpad / bitbucket
  350. QEMU: do not use non-printable task names
    (VxWorks: current_task is set before it has a valid name) — alex@thinkpad / bitbucket
  351. QEMU: backout parts of 8e29c15
    large timeout didn't solve the repeatability issue - results are still sensitive to processing speed
    some models keep running in a loop, and after 10-20 seconds, they "discover" a new function and so on — alex@thinkpad / bitbucket
  352. QEMU tests: let's try a larger timeout; minor fine-tunings — alex@thinkpad / bitbucket
  353. QEMU tests: found a way to get deterministic execution (icount option)
    - reworked the call/return trace tests to also run on main firmware (with -icount)
    - fixme: CF models do not have deterministic execution, even with -icount
    - fromutility tests also enabled on CF models (IDC only)
    - "first interrupt" test replaced with full call/return trace on main firmware
    - removed "sorted IDC" tests (the regular IDC + call/return trace tests are much stronger) — alex@thinkpad / bitbucket
  354. wait_log.sh: script to wait for a string to appear in a log file, with timeout since last update of the log file — alex@thinkpad / bitbucket
  355. remove_end_loop.py: minor fixes — alex@thinkpad / bitbucket
  356. Moved my_fprintf to fio-ml.c (fixes compilation of minimal/qemu-frsp) — alex@thinkpad / bitbucket
  357. QEMU logging: always name DebugMsg, even if no symbols are loaded — alex@thinkpad / bitbucket
  358. QEMU logging: fix loading symbol names on Thumb code — alex@thinkpad / bitbucket
  359. QEMU: fix off by one error when loading ML stub names — alex@thinkpad / bitbucket
  360. boot-hack: check whether we can reach anything in the ROM with relative jumps — alex@thinkpad / bitbucket
  361. boot-hack: self-check for ARMLIB_OVERFLOWING_BUFFER — alex@thinkpad / bitbucket

#9 (Jan 23, 2018 2:20:09 AM)

  1. Merged new-dryos-task-hooks into 70D_merge_fw112
    (enabled CONFIG_NEW_DRYOS_TASK_HOOKS in internals.h; updated task_dispatch_hook comment) — alex@thinkpad / bitbucket
  2. boot-hack: use CONFIG_NEW_DRYOS_TASK_HOOKS to enable new-style DryOS hooks
    (undefining HIJACK_TASK_ADDR was not obvious) — alex@thinkpad / bitbucket
  3. boot-hack: uninstall cache hacks after booting (to be tested) — alex@thinkpad / bitbucket
  4. boot-hack: more debug messages regarding memory allocation
    (for HIJACK_CACHE_HACK and RSCMGR_MEMORY_PATCH_END) — alex@thinkpad / bitbucket
  5. boot-hack: fix CONFIG_HELLO_WORLD & friends when booting with HIJACK_CACHE_HACK
    (task_dispatch_hook should not be set in this case) — alex@thinkpad / bitbucket
  6. boot-hack: fix task dispatch hook message missing when booting with HIJACK_CACHE_HACK — alex@thinkpad / bitbucket
  7. Task hooks: disabled task switch debug messages by default
    (too verbose) — alex@thinkpad / bitbucket
  8. 550D, 600D: fix memory allocation (amend 5b4fe18) — alex@thinkpad / bitbucket
  9. 6D: ADTG shutter addresses did not work, trying another set — alex@thinkpad / bitbucket
  10. 6D: fix ADTG shutter addresses after memory layout change
    http://www.magiclantern.fm/forum/index.php?topic=5601.msg194754#msg194754
    http://www.magiclantern.fm/forum/index.php?topic=5601.msg191914#msg191914
    http://www.magiclantern.fm/forum/index.php?topic=15088.msg190890#msg190890
    not tested, just confirmed the new addresses in QEMU
    fixme: are these deterministic? under what conditions? — alex@thinkpad / bitbucket
  11. 550D, 600D: reserve 576K for ML
    (640 is a bit too much, 512 is too tight) — alex@thinkpad / bitbucket
  12. Task hooks: fix task overriding on very old DryOS models
    (to be tested on all camera models) — alex@thinkpad / bitbucket
  13. selftest: check handling of null pointer errors (make sure a crash log is saved)
    100D and 70D used to crash in this scenario, rather than saving a log
    http://www.magiclantern.fm/forum/index.php?topic=16040.msg190279#msg190279 (next few pages) — alex@thinkpad / bitbucket
  14. Merged unified into new-dryos-task-hooks — alex@thinkpad / bitbucket

#8 (Jan 21, 2018 2:20:07 AM)

  1. 70D: enabled Sticky half-shutter (unlikely to cause issues) and Sticky DOF preview (to be tested) — alex@thinkpad / bitbucket

#7 (Dec 24, 2017 2:20:09 AM)

  1. 70D: AbortEDmac stub — nikfreak _mlnikfreak@gmail.com_ / bitbucket
  2. Added function for convertion from efic_temp raw units to celsius — esas _e_aspestrand@hotmail.com_ / bitbucket

#6 (Dec 22, 2017 2:57:09 AM)

  1. Merged unified into 70D_merge_fw112 — alex@thinkpad / bitbucket
  2. Makefile: drop unused SUPPORTED_MODELS / SUPPORTED_UNIFIED_MODELS — alex@thinkpad / bitbucket
  3. Merged in makefile-updates (pull request #873)

    Makefile updates to use any valid ARM toolchain — alex@thinkpad / bitbucket
  4. Makefile: fix 7D build_fir — alex@thinkpad / bitbucket
  5. Makefile: fix building Lua with gcc 4.7.3 — alex@thinkpad / bitbucket
  6. Makefile: only attempt to build/install/check ML-SETUP.FIR if there is a valid installer directory
    (some platforms may not have have one - 7D_MASTER, new ports) — alex@thinkpad / bitbucket
  7. Card LED: always use CARD_LED_ADDRESS, LEDON and LEDOFF
    (backed out 5bfab05 to fix installer on 7D - 0x800c00 not mandatory?) — alex@thinkpad / bitbucket
  8. Makefile: moved 7D-specific tweaks (FIR etc) into main target (7D.203)
    for consistency with other platforms, including 7D2
    to build the regular FIR: make build_fir
    to build the installer FIR: make ML-SETUP.FIR -B — alex@thinkpad / bitbucket
  9. Makefile: FIR building updates
    - always install ML-SETUP.FIR (zip, install, install_qemu)
    - build_fir for regular ML (not installer) now gives AUTOEXEC.FIR
    - to recompile ML-SETUP.FIR: "make ML-SETUP.FIR -B" from platform directory
    - "make zip" will also compile the installer from source, without replacing the precompiled ML-SETUP.FIR
      (just to make sure the source code changes do not interfere with building the installer) — alex@thinkpad / bitbucket
  10. Makefile: fix building xor_chk from its own directory — alex@thinkpad / bitbucket
  11. Makefile: more .NOTPARALLEL fixes — alex@thinkpad / bitbucket
  12. Makefile: fix 7D FIR path
    (just for consistency) — alex@thinkpad / bitbucket
  13. Makefile: use .NOTPARALLEL in top-level Makefiles, rather than double-colon rules
    ML platforms/modules are built sequentially, but within each platform/module, parallel build is used
    to be tested on Mac with -j8
    (on Make 3.81, double-colon are executed in parallel, while in 4.2.1 they are sequential) — alex@thinkpad / bitbucket
  14. Makefile: fix README.rst generation with POSIX shells
    to reproduce: cd modules/filepref; make clean; rm -f README.rst; make SHELL=dash — alex@thinkpad / bitbucket
  15. Makefile: serialize "make install", fix some related dependencies
    parallel copying could lock up WIFI_SD cards
    to reproduce: "WIFI_SD=y make install ML_MODULES=" from platform/CAM directory — alex@thinkpad / bitbucket
  16. Makefile: monitor wifi connection when using WIFI_SD=y
    (experimental, helps troubleshooting connectivity issues) — alex@thinkpad / bitbucket
  17. Makefile: minor refactors for WIFI_SD (coding style)
    also fixed a typo — alex@thinkpad / bitbucket
  18. Modules: better error handling for missing rst2html
    http://www.magiclantern.fm/forum/index.php?topic=17099 — alex@thinkpad / bitbucket
  19. Makefile: speed optimizations
    - helper to evaluate only once, only if used
    - modules hgstamp: only evaluate if used
    - CF_CARD, VERSION: only evaluate once if used
    - PWD is special? renamed to avoid unneeded shell calls
    Profiling tips:
    - perf record make; perf report --sort comm
    - make SHELL="sh -x"
    - make clean SHELL="sh -x" |& grep "^+" | sort | uniq -c — alex@thinkpad / bitbucket
  20. Makefile: enable parallel compilation for modules, but compile them sequentially
    huge modules like Lua will compile much faster
    compiling everything in parallel is not 100% safe (some dependency checks may fail) — alex@thinkpad / bitbucket
  21. Makefile: do not print toolchain info on recursive calls — alex@thinkpad / bitbucket
  22. Makefile: reworked global targets
    install: doesn't make sense, as we no longer have a "one size fits all" build capable of running on all models
             (alternative: 5D3.113_install, 60D_install etc)
    zip: build zip for each camera model, sequentially (parallel build still used within each zip)
    all: similar to zip (build camera models sequentially, but use parallel compilation within each platform)
    clean, check: these can run in parallel (no restrictions) — alex@thinkpad / bitbucket
  23. Makefile: fix module dependency checking on "make zip"
    by default, a module succeeds if it can be loaded on any camera model, from those compiled (doesn't matter which one)
    when using "make zip", we only want to include the modules compatible with current camera model, without considering other models
    (fixme: not the cleanest way to implement this) — alex@thinkpad / bitbucket
  24. Makefile: fix module_strings dependency rule
    (previously, there was an error with make -j) — alex@thinkpad / bitbucket
  25. Makefile: dropped ML_MODULES_STATIC (unused) and renamed ML_MODULES_DYNAMIC to ML_MODULES
    note: if you have customized the module list in Makefile.modules.user, just rename ML_MODULES_DYNAMIC to ML_MODULES
    to compile without modules: make 5D3 ML_MODULES= — alex@thinkpad / bitbucket
  26. Makefile: fix "make clean" from modules directory with stale modules from other branches
    https://bitbucket.org/hudson/magic-lantern/pull-requests/873/makefile-updates-to-use-any-valid-arm/diff#comment-48250675 — alex@thinkpad / bitbucket
  27. Makefile: fix running from other directory
    e.g. from qemu: make -C ../magic-lantern/ 500D_install_qemu — alex@thinkpad / bitbucket
  28. Makefile: model-specific install targets for the root directory
    examples: make 500D_install; make 500D_install_qemu — alex@thinkpad / bitbucket
  29. 7D: fix compiling with FEATURE_VIDEO_HACKS — alex@thinkpad / bitbucket
  30. Makefile: fix building 7D_MASTER — alex@thinkpad / bitbucket
  31. Makefile: minor cleanups from 0b9b550 — alex@thinkpad / bitbucket
  32. Makefile: always define CONFIG_$(MODEL)_$(FW_VERSION)
    e.g. CONFIG_5D3_113, CONIFG_7D_203 and so on — alex@thinkpad / bitbucket
  33. Makefile: fix for GNU make 3.8.1
    (thanks g3gg0) — alex@thinkpad / bitbucket
  34. Makefile: fix newline issue with WIFI_SD=y — alex@thinkpad / bitbucket
  35. Makefile: fix Mac issue (undefine not supported)
    http://www.magiclantern.fm/forum/index.php?topic=2864.msg192847#msg192847 — alex@thinkpad / bitbucket
  36. fixed late evaluation issue in rule builder — g3gg0 / bitbucket
  37. Makefile.platform.map: fix indentation — alex@thinkpad / bitbucket
  38. Makefile: rules for "make install_qemu"
    (to use them, qemu has to be installed first) — alex@thinkpad / bitbucket
  39. Makefile: with WIFI_SD=y, ping the card until it comes online (useful for router connections) — alex@thinkpad / bitbucket
  40. Makefile: portable way to get number of processors — alex@thinkpad / bitbucket
  41. further makefile cleanup, added make check to show which models were built and their memory usage — g3gg0 / bitbucket
  42. fix 'all' target for models — g3gg0 / bitbucket
  43. disable ASSERT for 7D_MASTER — g3gg0 / bitbucket
  44. removed explicit make executable definition. allows to run e.g. 'remake' to debug make rules — g3gg0 / bitbucket
  45. reworked model make rules to support different firmware versions for a model [to be thoroughly tested] — g3gg0 / bitbucket
  46. disable ASSERT for 7D_MASTER — g3gg0 / bitbucket
  47. Feature matrix: updated links — alex@thinkpad / bitbucket
  48. Merged in daniel_fort/magic-lantern/unified-6D-sf_dump (pull request #876)

    Add 6D.116 to sf_dump module — alex _broscutamaker@gmail.com_ / bitbucket
  49. Added 6D.116 to sf_dump module. — daniel fort _dan@digiola.com_ / bitbucket
  50. Merged in daniel_fort/magic-lantern/unified-600D-audio_meters_fix (pull request #877)

    600D audio meters fix — alex _broscutamaker@gmail.com_ / bitbucket
  51. 600D also needs Audio IC turned on at boot. — daniel fort _dan@digiola.com_ / bitbucket
  52. Makefile: also print CONFIG overrides from command-line
    (alongside the ones from Makefile.user) — alex@thinkpad / bitbucket
  53. Makefile: print tips for using make -j
    (how to set it by default in Makefiles?) — alex@thinkpad / bitbucket
  54. Makefile: silence warning about CONFIG_SITE
    (some recent Linux distros use it) — alex@thinkpad / bitbucket
  55. Makefile: portable way to get libgcc.a's path — alex@thinkpad / bitbucket
  56. Makefile: removed old dropbox target — alex@thinkpad / bitbucket
  57. Makefile: print build info after "make zip"; skip EXIDX line — alex@thinkpad / bitbucket
  58. Makefile: fix CONFIG_CCACHE — alex@thinkpad / bitbucket
  59. Makefile: use "gio mount" rather than "gvfs-mount"
    (they are interchangeable; older systems may require gvfs-mount, newer systems will print warnings) — alex@thinkpad / bitbucket
  60. Makefile: if no valid ARM GCC is found in PATH, try to find one in the home directory — alex@thinkpad / bitbucket
  61. Makefile: fix compiling tcc — alex@thinkpad / bitbucket
  62. Makefile: moved toolchain setup to Makefile.setup
    (this allows toolchain to be overridden from Makefile.user) — alex@thinkpad / bitbucket
  63. Makefile: fixes to allow compiling ML with Linaro arm-eabi-gcc; updated toolchain recommendations — alex@thinkpad / bitbucket
  64. Makefile: updated toolchain recommendation; minor edits — alex@thinkpad / bitbucket
  65. Makefile: attempt to use any arm-none-eabi-gcc from PATH, if already installed (to be tested)
    By default, it will attempt to use ~/gcc-arm-none-eabi-5_4-2016q3 if installed. — alex@thinkpad / bitbucket
  66. Makefile: use gcc 5.4.1 by default (current version from https://launchpad.net/gcc-arm-embedded ) — alex@thinkpad / bitbucket
  67. Merged in daniel_fort/magic-lantern/unified_650D_audio_meters_fix (pull request #870)

    650D audio meters fix — alex _broscutamaker@gmail.com_ / bitbucket
  68. 650D has the same audio meters issue as the 700D -- needs the same fix. — daniel fort _dan@digiola.com_ / bitbucket
  69. Merged in daniel_fort/magic-lantern/unified_700D_audio_meters_fix_1 (pull request #866)

    Audio meters fix for 700D

    Approved-by: Daniel Fort <dan@digiola.com> — alex _broscutamaker@gmail.com_ / bitbucket
  70. Audio meters stop functioning after recording the first clip when using mlv_snd. Easy fix suggested by a1ex. — daniel fort _dan@digiola.com_ / bitbucket

#5 (Oct 3, 2017 2:36:36 AM)

  1. 70D: update dual iso adresses for 1.1.2 — nikfreak _mlnikfreak@gmail.com_ / bitbucket

#4 (Oct 2, 2017 4:13:13 PM)

  1. Merged new-dryos-task-hooks into 70D_merge_fw112 — alex@thinkpad / bitbucket
  2. tskmon: in null pointer check, retrieve last last task name directly, rather than calling is_taskid_valid
    also fixed some possible null pointer bugs in the... null pointer checking code
    (fixes crash when reporting null pointer on 100D and likely on all other cameras with new-style DryOS hooks) — alex@thinkpad / bitbucket

#2 (Sep 25, 2017 3:22:50 PM)

  1. Merged unified into 70D_merge_fw112 — alex@thinkpad / bitbucket
  2. installer: fix compilation — alex@thinkpad / bitbucket
  3. Merged in daniel_fort/magic-lantern/update-to-700D.115 (pull request #813)

    Update to 700D.115 — alex@thinkpad / bitbucket
  4. 700D: fix AbortEDmac — alex@thinkpad / bitbucket
  5. Dummy merge with dfort's unified — alex@thinkpad / bitbucket
  6. 700D, 6D, 7D: fix AbortEDmac — alex@thinkpad / bitbucket
  7. 700D: undo dialog_refresh_timer change in mlv_rec/mlv_lite
    (this address is the same in 1.1.4 and 1.1.5) — alex@thinkpad / bitbucket
  8. Update sf_dump module to 700D.115 — daniel fort _dan@digiola.com_ / bitbucket
  9. Fixed is_taskid_valid stub. — daniel fort _dan@digiola.com_ / bitbucket
  10. Merged unified into update-to-700D.115 — daniel fort _dan@digiola.com_ / bitbucket
  11. Added minimal autoexec.bin for 700D — daniel fort _dan@digiola.com_ / bitbucket
  12. Merged unified into update-to-700D.115 — daniel fort _dan@digiola.com_ / bitbucket
  13. Merged unified into update-to-700D.115 — daniel fort _dan@digiola.com_ / bitbucket
  14. Incorporated pull request #842 to fix Autoexposure module — daniel fort _dan@digiola.com_ / bitbucket
  15. Merged hudson/unified into unified to prevent new remote heads. — daniel fort _dan@digiola.com_ / bitbucket
  16. Update to latest exiftool — daniel fort _dan@digiola.com_ / bitbucket
  17. Merged unified into update-to-700D.115 — daniel fort _dan@digiola.com_ / bitbucket
  18. Resolve conflicts with changes to Task info in stubs.S — daniel fort _dan@digiola.com_ / bitbucket
  19. Merged unified into update-to-700D.115 — daniel fort _dan@digiola.com_ / bitbucket
  20. Added new ML-SETUP.FIR created by a1ex — daniel fort _dan@digiola.com_ / bitbucket
  21. update to firmware revision 700D.115 — daniel fort _dan@digiola.com_ / bitbucket
  22. hg rename 700D.114 700D.115 — daniel fort _dan@digiola.com_ / bitbucket
  23. Merged in daniel_fort/magic-lantern/unified_silent_module_fix (pull request #854)

    modify silent.c to work with commit f404e5f — alex@thinkpad / bitbucket
  24. TCC Makefile: fix minor typo — alex@thinkpad / bitbucket
  25. silent.c: there are no info bars in paused LiveView mode — alex@thinkpad / bitbucket
  26. modify silent.c to work with commit f404e5f
    Raw backend: allow displaying raw previews without conflicting with LiveView info bars — daniel fort _dan@digiola.com_ / bitbucket
  27. Merged in raw_fixes (pull request #828)

    Raw fixes part 5 — alex _broscutamaker@gmail.com_ / bitbucket
  28. fio-ml: added get_dcim_dir_suffix(); moved get_dcim_dir() from dryos.h — alex@thinkpad / bitbucket
  29. mlv_rec/mlv_lite: moved write_mlv_vers_blocks to mlv.c/h
    (avoids duplicate code) — alex@thinkpad / bitbucket
  30. mlv_play: fix a fio_malloc issue (not tested, might fix issue #2766) — alex@thinkpad / bitbucket
  31. Merged in raw_capture_info (pull request #827) — alex@thinkpad / bitbucket
  32. mlv_dump: fix compilation after rawc header update — alex@thinkpad / bitbucket
  33. get_current_dialog_handler: fix return value when no dialogs are present — alex@thinkpad / bitbucket
  34. fix rules to allow "make -j" — g3gg0 / bitbucket
  35. 5D3 1.2.3: fix CARD_A_MAKER (off by one) — alex@thinkpad / bitbucket
  36. mlv_lite: always override (toggle) the preview mode on *long* half-shutter press, when not autofocusing
    (avoids transient screen changes on quick half-shutter presses) — alex@thinkpad / bitbucket
  37. mlv_lite: preview both full-size buffers while recording
    (to catch future bugs that might cause the raw buffer to update every other frame) — alex@thinkpad / bitbucket
  38. Raw backend: exact height autodetection for 5D3
    (lossless 8-12 bit compression works!) — alex@thinkpad / bitbucket
  39. mlv_lite: fix shutter button remaining locked after recording with Frozen LV
    (problem from exmem backend; not sure how to do a proper fix) — alex@thinkpad / bitbucket
  40. mlv_lite: slow down color preview to let lower-priority tasks run (such as histogram) — alex@thinkpad / bitbucket
  41. FPS override: disable in x10 mode when half-shutter is pressed, to help with focusing
    (example setup: full-res LiveView, FPS override at 4 FPS for continuous recording, zoom on half-shutter) — alex@thinkpad / bitbucket
  42. FPS override: display rolling shutter in the main menu when available
    (either when raw recording is enabled or while recording H.264)
    (useful for diagnosing the new crop modes) — alex@thinkpad / bitbucket
  43. FPS override: also display rolling shutter as percentage of frame duration — alex@thinkpad / bitbucket
  44. mlv_lite: do not print debug info when freezing LiveView
    (seems to help with corrupted frames in modes with resolution pushed to limit, e.g. 1080p48) — alex@thinkpad / bitbucket
  45. Include strstr in ML core — alex@thinkpad / bitbucket
  46. mlv_lite: fix squeeze info in menu for 50/60p modes — alex@thinkpad / bitbucket
  47. mlv_lite: display actual aspect ratio in menu, if different from selection — alex@thinkpad / bitbucket
  48. raw_rec: fix some resolution inconsistencies — alex@thinkpad / bitbucket
  49. mlv_lite: fine-tuned menu for Frozen LV mode
    (previously known as Hacked Preview) — alex@thinkpad / bitbucket
  50. mlv_lite: reworked preview options with (hopefully) a lot more reasonable defaults
    - color preview with correct framing whenever plain LiveView is not accurate (crop/zoom modes etc)
    - only use grayscale preview when recording speed is critical
    - renamed the preview options
    - half-shutter to override the automatic preview choice
    (note: slot_count is valid_slot_count in compressed_raw) — alex@thinkpad / bitbucket
  51. Raw backend: allow displaying raw previews without conflicting with LiveView info bars;
    updated mlv_rec and mlv_lite to use this capability — alex@thinkpad / bitbucket
  52. mlv_rec, mlv_lite: fix rawc saving after structure update in mlv.h — alex@thinkpad / bitbucket
  53. Fix c6f92ee — alex@thinkpad / bitbucket
  54. mlv_rec, mlv_lite: save RAWC (raw_capture_info) — alex@thinkpad / bitbucket
  55. Raw backend: fix raw_capture_info.skipping_y for EOS M
    (720p unless recording H.264) — alex@thinkpad / bitbucket
  56. mlv.h: replaced struct raw_capture_info with individual fields
    (binary compatible with previous version) — alex@thinkpad / bitbucket
  57. raw_capture_info: redefined offset_x and offset_y to refer to first (top-left) *active* pixel
    that way, optical black variations between formats (e.g. CR2 vs FRSP) are no longer relevant — alex@thinkpad / bitbucket
  58. mlv_dump: show the meaning of sensor crop factor — alex@thinkpad / bitbucket
  59. mlv_rec, mlv_lite: fix minor crop factor display issue
    (division by 0 in photo mode) — alex@thinkpad / bitbucket
  60. mlv_rec, mlv_lite: save RAWC (raw_capture_info) — alex@thinkpad / bitbucket
  61. mlv_dump: print RAWC (raw_capture_info) — alex@thinkpad / bitbucket
  62. mlv.h: RAWC block (struct raw_capture_info) — alex@thinkpad / bitbucket
  63. Raw backend: new CBR for modules (CBR_RAW_INFO_UPDATE) — alex@thinkpad / bitbucket
  64. Raw backend: new structure about image capture parameters (resolution, pixel binning modes)
    (also updated mlv_lite and mlv_rec)
    (can you suggest a better name?) — alex@thinkpad / bitbucket