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

Changes

#80 (Jul 22, 2018 3:09:59 PM)

  1. mlv_dump: pass INFO blocks as image description — g3gg0 / bitbucket
  2. mlv_dump: fix compile warnings / empty lines — g3gg0 / bitbucket
  3. mlv_dump: change DNG code to pass through RAWI color matrix if the camera model could not be determined — g3gg0 / bitbucket
  4. mlv_dump: harden string length handling for DEBG and VERS against inconsistent field sizes — g3gg0 / bitbucket
  5. mlv_dump: fix incorrectly placed null byte for text blocks line DEBG and VERS — g3gg0 / bitbucket

#79 (Jul 9, 2018 11:47:35 PM)

  1. Merged crop_rec_4k into crop_rec_4k_mlv_snd
    (before the recent experimental refactors) — alex@thinkpad / bitbucket
  2. crop_rec: fix case fallthrough warnings — alex@thinkpad / bitbucket
  3. crop_rec: ADTG vertical binning mode registers made generic
    (to be tested; only the "basic" 3x3 mode for now) — alex@thinkpad / bitbucket
  4. Merged 100D_merge_fw101 into crop_rec_4k
    (minor fixes) — alex@thinkpad / bitbucket
  5. Merged patchmgr into crop_rec_4k
    (fixes "make zip" - https://www.magiclantern.fm/forum/index.php?topic=9741.msg203489#msg203489) — alex@thinkpad / bitbucket
  6. Patch manager: provide a default sync_caches for targets that don't include it
    (minimal, installer, reboot) — alex@thinkpad / bitbucket
  7. Merged patchmgr into crop_rec_4k
    (required for latest adtg_gui) — alex@thinkpad / bitbucket
  8. Patch manager: moved sync_caches in patch.c and removed the "weak" trickery
    (fixes patch restoring when called from modules) — alex@thinkpad / bitbucket
  9. crop_rec: fix typo for register 0x82B6 (700D, possibly other APS-C models)

    Last few lines from a DNG should be checked. — alex@thinkpad / bitbucket
  10. lossless.c: fix warning in comment
    https://www.magiclantern.fm/forum/index.php?topic=19300.msg203352#msg203352 — alex@thinkpad / bitbucket
  11. crop_rec: fix off-by-one error when reading FPS timer B
    (minor, no obvious side effects noticed) — alex@thinkpad / bitbucket
  12. crop_rec: reworked PowerSaveTiming & ReadOutTiming registers in a generic way.

    https://www.magiclantern.fm/forum/index.php?topic=19300.msg202783#msg202783
    To be tested on all DIGIC 5 models. — alex@thinkpad / bitbucket
  13. crop_rec: simplified shutter speed override
    (FPS timer B can be read directly from the shadow memory aka sht_mirror) — alex@thinkpad / bitbucket
  14. crop_rec: fix shutter speed in x5 zoom
    https://www.magiclantern.fm/forum/index.php?topic=19300.msg203302#msg203302 — alex@thinkpad / bitbucket
  15. 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
  16. 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
  17. 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
  18. 100D: disabled full-screen magic zoom (issue #2842) — alex@thinkpad / bitbucket

#78 (Jul 4, 2018 1:12:50 AM)

  1. mlv_lite: do not write all metadata again on every single chunk — g3gg0 / bitbucket
  2. dual_iso: write DISO block during PREPARING state, so it will be written with the first header — g3gg0 / bitbucket
  3. mlv_lite/mlv_snd: rewrote state machine and placed WAVI writing back to mlv_snd — g3gg0 / bitbucket

#77 (Jun 27, 2018 1:36:48 AM)

  1. mlv_snd: experiment: remove vsync dependency, just sync through the mlv_lite CBR and start audio there — g3gg0 / bitbucket
  2. mlv_snd: fix adding to mlv_rec/mlv_lite submenu if the raw video option is turned off
    (properly check if either menu is present) — alex@thinkpad / bitbucket
  3. mlv_snd: moved the menu inside the mlv_rec/mlv_lite submenu;
    fine-tuned the submenu (formatting) — alex@thinkpad / bitbucket
  4. mlv_snd: enabled by default, www.magiclantern.fm/forum/index.php?topic=12793 — Alex / bitbucket
  5. mlv_rec: reordered callbacks — g3gg0 / bitbucket
  6. mlv_snd: fine tuned audio delay — g3gg0 / bitbucket
  7. mlv_lite: removed old callbacks raw_rec_cbr_* — g3gg0 / bitbucket
  8. mlv_rec: remove old interface raw_rec_cbr_starting() — g3gg0 / bitbucket
  9. mlv_lite: add MLV_REC_EVENT_PREPARING to be called before recording is going to start — g3gg0 / bitbucket
  10. mlv_rec: add MLV_REC_EVENT_PREPARING to be called before recording is going to start — g3gg0 / bitbucket
  11. mlv_snd: changed menu name for audio sync. feature might get removed when it is not needed at all. — g3gg0 / bitbucket
  12. mlv_snd: inverse delay logic so it can be interpreted as in the timeline. also set to 1 lets see if this is correct for all setups — g3gg0 / bitbucket
  13. mlv_snd: cleaned up merge artifacts — g3gg0 / bitbucket
  14. mlv_snd: made mlv_rec_queue_block optional
    - reduces the execution time of raw_rec_cbr_started in the vsync hook
    - fixes memory leak (mlv_snd expects mlv_rec to free queued blocks) — alex@thinkpad / bitbucket
  15. mlv_snd: reworked to achieve better sync with mlv_lite:
    - sound buffer allocation is done in raw_rec_cbr_starting (which must now be called after video memory allocation)
    - raw_rec_cbr_started may optionally be called from the vsync hook (which runs from a task with very high priority)

    mlv_lite: call raw_rec_cbr_started from the vsync hook, on first frame
    - result: first audio frame is started ~ 2ms after the first video frame is fully captured

    mlv_rec: moved raw_rec_cbr_starting after memory allocation
    - required for mlv_snd to complete the audio memory allocation — alex@thinkpad / bitbucket
  16. mlv_snd: rather than trying to queue a WAVI block into the MLV recorder, provide a mlv_fill_wavi
    this way, the MLV recording module can place this block wherever it wants (not necessarily in the queue)
    previous method still kept for compatibility with mlv_rec

    mlv_lite: refactored with mlv_fill_wavi and moved raw_rec_cbr_started right before the recording loop (where it should be)
    this should fix audio sync issues when recording starts; not tested — alex@thinkpad / bitbucket
  17. mlv_lite: moved started cbr into process_frame like in 7fcd177 to help with audio sync — g3gg0 / bitbucket
  18. mlv_snd: take care of AUDF count writing. there are still cases where the number of frames per chunk is incorrect. the sum is correct. — g3gg0 / bitbucket
  19. mlv_lite: call callbacks earlier to be able to hook into MLVI writing — g3gg0 / bitbucket
  20. mlv_lite: cast file_hdr to prevent warnings — g3gg0 / bitbucket
  21. mlv_lite: call registered modules on header updates — g3gg0 / bitbucket
  22. mlv_lite: only count VIDF blocks in chunk headers, do not count meta data — g3gg0 / bitbucket

#76 (Jun 23, 2018 5:02:25 PM)

  1. mlv_dump: merge error related to b9ade2d188a7 — g3gg0 / bitbucket

#75 (Jun 20, 2018 10:57:16 PM)

  1. mlv_dump: use global variable for DISO block — g3gg0 / bitbucket
  2. mlv_dump: fix merge error — g3gg0 / bitbucket

#74 (Jun 20, 2018 10:31:41 PM)

  1. mlv_lite: reduce modifications to a minimum for easier merging — g3gg0 / bitbucket
  2. removed unused header "patch.h" in module.c — g3gg0 / bitbucket
  3. mlv_lite: write all remaining blocks in the queue filled by mlv_rec_queue_block() — g3gg0 / bitbucket
  4. dual_iso: no cyclic block writing, as it isn't supported — g3gg0 / bitbucket
  5. mlv_snd: added audio syncing option — g3gg0 / bitbucket
  6. mlv_lite: allow modules to set how many frames should be skipped (for e.g. syncing audio) — g3gg0 / bitbucket
  7. mlv_lite: call cbrs only once, solving various issues — g3gg0 / bitbucket
  8. mlv_lite: show correct buffer colors — g3gg0 / bitbucket
  9. mlv_lite: change slot allocation to set a "is_meta" flag for those slots used by some other module, fixes error messages caused by sanity checks — g3gg0 / bitbucket
  10. mlv_lite: make sync beep configurable — g3gg0 / bitbucket
  11. trace: also trace the task id and name if requested — g3gg0 / bitbucket
  12. Merge with crop_rec_4k — g3gg0 / bitbucket
  13. mlv_play: use less RAM, proper cleanup on error — g3gg0 / bitbucket
  14. mlv_play: indexer speedup — g3gg0 / bitbucket
  15. mlv_lite: the 85% frame size restriction is still needed at very high resolutions
    (helps squeezing a few more buffers, at some risk of recording stopping at extreme ISOs) — alex@thinkpad / bitbucket
  16. mlv_lite: do not limit lossless frame size to 85%
    (no longer needed; should fix errors at very high ISOs with very detailed scenes) — alex@thinkpad / bitbucket
  17. crop_rec: experimental usage of x5 zoom to flip video modes
    (seems to be a bit faster than pausing LiveView) — alex@thinkpad / bitbucket
  18. mlv_lite: fix crop offset (8-pixel offset when trying to correct focus pixels)

    Workaround for existing files (before this change):
    (panPosX & ~7) should give the correct X offset for existing lossless files.
    ((panPosX + 7) & ~7) should match cropPosX and should be correct for uncompressed files. — alex@thinkpad / bitbucket
  19. Raw backend: bring back the height++ adjustment for 700D/650D/M
    (needed to squeeze 1080p in x5 zoom)

    100D: need VRAM dumps to make sure the offsets are correct
    http://www.magiclantern.fm/forum/index.php?topic=12375.0 — alex@thinkpad / bitbucket
  20. Merged crop_rec_4k into crop_rec_4k_mlv_snd
    (timer functions refactor) — alex@thinkpad / bitbucket
  21. mlv_snd: made slot count and maximum blocks per slot configurable — g3gg0 / bitbucket
  22. mlv_snd: fix queueing on very large buffers
    (should fix sound recording at high resolutions, such as 3K) — alex@thinkpad / bitbucket
  23. Merged crop_rec_4k into crop_rec_4k_mlv_snd — alex@thinkpad / bitbucket
  24. Merge with crop_rec_4k — g3gg0 / bitbucket
  25. mlv_lite: removed unnecessary declaration — g3gg0 / bitbucket
  26. removed unnecessary declaration of mlv_snd_is_enabled — g3gg0 / bitbucket
  27. mlv_lite: removed printfs that have bmp_printf also — g3gg0 / bitbucket
  28. mlv_lite/mlv_snd: report back using ml-cbr when recording audio — g3gg0 / bitbucket
  29. audio uses ml-cbr to ask for recording — g3gg0 / bitbucket
  30. ml-cbr: use strcmp to stay on safe side (caller might pass arbitrary length) — g3gg0 / bitbucket
  31. ml-cbr: update header with more information — g3gg0 / bitbucket
  32. added ml-cbr to modules using MODULE_NAMED_CBR() — g3gg0 / bitbucket
  33. fix ml-cbr locking issues — g3gg0 / bitbucket
  34. dual_iso: make the mlv callback function static — g3gg0 / bitbucket
  35. mlv_lite: only check VIDF consistency if blocks are VIDF — g3gg0 / bitbucket
  36. mlv_dump: switch some remaining printf's to print_msg — g3gg0 / bitbucket
  37. mlv_dump: added hex/ascii dump modes and --extract-type to select block types — g3gg0 / bitbucket
  38. mlv_lite: add some comments to new functions — g3gg0 / bitbucket
  39. mlv_lite: add callback system to integrate other modules like mlv_snd — g3gg0 / bitbucket
  40. mlv_lite: — g3gg0 / bitbucket
  41. mlv_lite: add API to allocate and release slots from other modules — g3gg0 / bitbucket
  42. mlv_lite: add mlv_rec's "queue block" interface so any module can write a block to the recorded video — g3gg0 / bitbucket
  43. mlv_rec: move cbr definitions to mlv_rec_interface.h — g3gg0 / bitbucket
  44. mlv_rec: move cbr definitions to mlv_rec_interface.h — g3gg0 / bitbucket
  45. mlv_snd: fix annoying NULL frame timestamp (should not break anything as tools should ignore NULL blocks anyway) — g3gg0 / bitbucket
  46. mlv_rec: fix annoying NULL frame timestamp — g3gg0 / bitbucket
  47. mlv_rec: refactor include structure for callbacks, add VIDF callback — g3gg0 / bitbucket
  48. dual_iso: pass a free-able mlv block header to queue — g3gg0 / bitbucket
  49. mlv_rec: added some comments — g3gg0 / bitbucket
  50. mlv_snd: switch to new callback interface — g3gg0 / bitbucket
  51. mlv_rec: added STARTING event — g3gg0 / bitbucket
  52. mlv_rec: removed most old raw_rec callback functions — g3gg0 / bitbucket
  53. dual_iso: added support for mlv_rec callback interface — g3gg0 / bitbucket
  54. mlv_rec: added support for individual module callbacks — g3gg0 / bitbucket

#72 (Mar 10, 2018 11:20:36 PM)

  1. Raw backend: use (*height)-- adjustment on all DIGIC 5 models
    700D, 650D, 100D, M: fine-tuned skip offsets
    Allow odd values for skip_bottom

    650D/M x5 zoom: skip_top is the same as with regular 1080p or 720p or mv1080crop

    700D/650D/M 720p
    before: H=727, skip_bottom = 4 => active area y2=723 (real 724)
    after: H=725, skip_bottom = 1 => active area y2=724

    100D 720p:
    before: H=726, skip_bottom = 4 => active area y2=722 (real 724)
    after: H=726, skip_bottom = 2 => active area y2=724

    650D/M 1080p:
    before: H=1190, skip_bottom = 4 => active area y2=1186 (2 white lines at bottom)
    after: H=1188, skip_bottom = 0 => active area y2=1188 (no bad lines at bottom)

    EOSM movie crop: H=1060, top=28, active area y2=1060, no bad lines at bottom
    (unsure about skip_bottom on 100D - to be tested with a silent DNG in movie crop mode)

    See also:
    https://www.magiclantern.fm/forum/index.php?topic=18443.msg198140#msg198140
    https://www.magiclantern.fm/forum/index.php?topic=16054.msg195213#msg195213 — alex@thinkpad / bitbucket
  2. mlv_lite: size restrictions (W*H mod 16) are not applicable to lossless compression — alex@thinkpad / bitbucket
  3. 100D DEFAULT_RAW_BUFFER_SIZE

    https://www.magiclantern.fm/forum/index.php?topic=5601.msg196632#msg196632 — Daniel Fort <dan@digiola.com> / bitbucket
  4. 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
  5. 6D DEFAULT_RAW_BUFFER_SIZE

    https://www.magiclantern.fm/forum/index.php?topic=5601.msg196632#msg196632 — Daniel Fort <dan@digiola.com> / bitbucket
  6. lossless: tidied up formatting of comments — Daniel Fort <dan@digiola.com> / bitbucket
  7. lossless: support for 70D.112 from nikfreak and esas (from pull request #889)
    Not working yet (black level issues) — Daniel Fort <dan@digiola.com> / bitbucket
  8. lossless: support for 6D.116 (from pull request #875) — Daniel Fort <dan@digiola.com> / bitbucket
  9. lossless: register 0xC0F13068 (RABBIT?) is required for full-res silent pictures
    http://www.magiclantern.fm/forum/index.php?topic=18443.msg198091#msg198091 — alex@thinkpad / bitbucket
  10. lossless: experimental resolution overriding that should cover all DIGIC 5 models
    (to be tested) — alex@thinkpad / bitbucket
  11. Merged lua_fix into crop_rec_4k
    (memset32 fix, DIGIC identification, minor fixes) — alex@thinkpad / bitbucket
  12. 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
  13. Makefile: fix "make clean" for modules not enabled by default — alex@thinkpad / bitbucket
  14. Merged memory-backend into lua_fix
    (memset32 fix) — alex@thinkpad / bitbucket
  15. selftest: tests for model ID functions (is_camera etc) — alex@thinkpad / bitbucket
  16. is_camera: extended to allow checking DIGIC version
    e.g. if (is_camera("DIGIC", "5")) { ... } — alex@thinkpad / bitbucket
  17. memset64/memcpy64: use versions from b831cb1; fix calls from Magic Zoom to ensure proper alignment — alex@thinkpad / bitbucket
  18. Backout b831cb1 (breaks Magic Zoom and CONFIG_MARK_UNUSED_MEMORY_AT_STARTUP, as memset64 is not the same as memset) — alex@thinkpad / bitbucket
  19. menu: fix typo regarding short unpress events
    (side effect: short joystick press also moved the menu selection up on 5D3) — alex@thinkpad / bitbucket
  20. Memory backend: drop timestamps from history; show last 1024 events — alex@thinkpad / bitbucket
  21. Memory backend: show total allocations (number and amount), including untracked ones — alex@thinkpad / bitbucket
  22. 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
  23. Memory backend: a pointer to task names (rather than copying the full string) should be enough — alex@thinkpad / bitbucket
  24. Memory backend: renamed memcheck_mallocbuf to memcheck_entries — alex@thinkpad / bitbucket
  25. 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
  26. 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
  27. 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
  28. exmem: removed the "relaxed" checks introduced in 04f02a4
    (not sure why they were needed; we'll find out if it fails) — alex@thinkpad / bitbucket
  29. exmem: speed-up shoot_malloc
    (1s timeout probably not needed) — alex@thinkpad / bitbucket
  30. 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
  31. Memory backend: fix handling of untracked blocks
    (possible buffer overflow before this fix) — alex@thinkpad / bitbucket
  32. 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
  33. Memory backend: when checking available memory, allocate both Shoot ans SRM at the same time
    (they may overlap) — alex@thinkpad / bitbucket
  34. Memory backend: fix initialization — alex@thinkpad / bitbucket
  35. 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
  36. 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
  37. 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
  38. memory backend: reduce memcheck area (should reduce overhead a bit) — alex@thinkpad / bitbucket
  39. memory backend: ignore null pointers passed to free (Lua does that) — alex@thinkpad / bitbucket
  40. exmem: when autodetecting available memory, print all srm/shoot memory blocks to console — alex@thinkpad / bitbucket
  41. Merged lua_fix into crop_rec_4k
    (memory backend updates; thread safety annotations for new exmem functions) — alex@thinkpad / bitbucket
  42. crop_rec: with the centered x5 preset, also change FPS to the one selected in Canon menu
    (23.976, 24 or 29.970, without having to use FPS override) — alex@thinkpad / bitbucket
  43. crop_rec: explicit option to use original shutter speed range from the altered video mode (e.g. 1/33 ... 1/4000 in 1080p)
    or to remap shutter speeds to full range (from 1/FPS to minimum exposure time allowed by hardware - 1/15000, 1/25000 etc)

    Previously, presets with different frame rate used to scale shutter speeds by default
    (not always desirable, e.g. with Full-res LV snapshots)

    Also moved most of the old options under Advanced. — alex@thinkpad / bitbucket
  44. Memory backend: drop timestamps from history; show last 1024 events — alex@thinkpad / bitbucket
  45. Memory backend: show total allocations (number and amount), including untracked ones — alex@thinkpad / bitbucket
  46. 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
  47. Memory backend: a pointer to task names (rather than copying the full string) should be enough — alex@thinkpad / bitbucket
  48. Memory backend: renamed memcheck_mallocbuf to memcheck_entries — alex@thinkpad / bitbucket
  49. 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
  50. 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
  51. 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
  52. exmem: removed the "relaxed" checks introduced in 04f02a4
    (not sure why they were needed; we'll find out if it fails) — alex@thinkpad / bitbucket
  53. exmem: speed-up shoot_malloc
    (1s timeout probably not needed) — alex@thinkpad / bitbucket
  54. 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
  55. Memory backend: fix handling of untracked blocks
    (possible buffer overflow before this fix) — alex@thinkpad / bitbucket
  56. 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
  57. crop_rec: also apply the centered x5 zoom preset to x10
    (experimental, cannot be toggled while recording)

    advantage: no more vertical lines in x10! — alex@thinkpad / bitbucket
  58. Raw backend: enabled CONFIG_ALLOCATE_RAW_LV_BUFFER on all models
    preparing for full-res LiveView, http://www.magiclantern.fm/forum/index.php?topic=19300.msg197697#msg197697 — alex@thinkpad / bitbucket
  59. Merged in bouncyball/magic-lantern-merged/crop_rec_4k (pull request #901)

    Ported/updated "mlv_dump on steroids" all latest features to "mlv_dump crop_rec_4k"

    Approved-by: danne <dudek53@gmail.com>
    Approved-by: g3gg0 <g3gg0.de@gmail.com>
    Approved-by: Daniel Fort <dan@digiola.com> — g3gg0 <g3gg0.de@gmail.com> / bitbucket
  60. fixed RAWC block existance check — bouncyball / bitbucket
  61. dng.c: rewritten crop_rec 720 mode detection for focus pixel affected cameras — bouncyball / bitbucket
  62. NULL and BKUP blocks are skipped when '-f' or '--no-audio' switch is used — bouncyball / bitbucket
  63. check added: '--no-audio' has effect only if MLV has audio — bouncyball / bitbucket
  64. fixed '--no-audio' behavior — bouncyball / bitbucket
  65. fixed typo — bouncyball / bitbucket
  66. fixed '--no-audio' log message — bouncyball / bitbucket
  67. fixed '--no-audio' switch behavior, now WAVI and AUDF are skipped — bouncyball / bitbucket
  68. commented out odd vertical resolution rounding code, the reason explained in comment — bouncyball / bitbucket
  69. mlv_dump: changed default bpi method to 0 — bouncyball / bitbucket
  70. mlv_dump: init struct with 0 — bouncyball / bitbucket
  71. updated pixel_proc.c — bouncyball / bitbucket
  72. updated chroma_smooth.c — bouncyball / bitbucket
  73. updated header — bouncyball / bitbucket
  74. dng.c updated — bouncyball / bitbucket
  75. mlv_dump.c updated with new cli options and variables to support new featuers of updated dng and raw_proc — bouncyball / bitbucket

#70 (Feb 17, 2018 11:17:36 PM)

  1. Merged crop_rec_4k into crop_rec_4k_mlv_lite_snd — alex@thinkpad / bitbucket
  2. mlv_snd: made mlv_rec_queue_block optional
    - reduces the execution time of raw_rec_cbr_started in the vsync hook
    - fixes memory leak (mlv_snd expects mlv_rec to free queued blocks) — alex@thinkpad / bitbucket
  3. mlv_snd: made slot count and maximum blocks per slot configurable — g3gg0 / bitbucket
  4. mlv_snd: reworked to achieve better sync with mlv_lite:
    - sound buffer allocation is done in raw_rec_cbr_starting (which must now be called after video memory allocation)
    - raw_rec_cbr_started may optionally be called from the vsync hook (which runs from a task with very high priority)

    mlv_lite: call raw_rec_cbr_started from the vsync hook, on first frame
    - result: first audio frame is started ~ 2ms after the first video frame is fully captured

    mlv_rec: moved raw_rec_cbr_starting after memory allocation
    - required for mlv_snd to complete the audio memory allocation — alex@thinkpad / bitbucket
  5. mlv_snd: rather than trying to queue a WAVI block into the MLV recorder, provide a mlv_fill_wavi
    this way, the MLV recording module can place this block wherever it wants (not necessarily in the queue)
    previous method still kept for compatibility with mlv_rec

    mlv_lite: refactored with mlv_fill_wavi and moved raw_rec_cbr_started right before the recording loop (where it should be)
    this should fix audio sync issues when recording starts; not tested — alex@thinkpad / bitbucket
  6. Merged lua_fix into crop_rec_4k
    (timer functions refactor) — alex@thinkpad / bitbucket
  7. 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
  8. 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
  9. 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
  10. imath.h: fix comments for FMT_FIXEDPOINT*; added FMT_FIXEDPOINT6 — alex@thinkpad / bitbucket
  11. Merged 70D_merge_fw112 into crop_rec_4k
    (dummy, except for a minor whitespace fix) — alex@thinkpad / bitbucket
  12. Merged patchmgr into 70D_merge_fw112 — alex@thinkpad / bitbucket
  13. Merged lua_fix into 70D_merge_fw112 — alex@thinkpad / bitbucket
  14. Merged lua_fix into crop_rec_4k — alex@thinkpad / bitbucket
  15. SRM_BUFFER_SIZE for 600D found using QEMU — Daniel Fort <dan@digiola.com> / bitbucket
  16. SRM_BUFFER_SIZE for 60D — Daniel Fort <dan@digiola.com> / bitbucket
  17. SRM_BUFFER_SIZE for several ML cameras — Daniel Fort <dan@digiola.com> / bitbucket
  18. Full-res LV is not available on cameras other than the 5D3 so remove it from the menu if the camera isn't a 5D3. — Daniel Fort <dan@digiola.com> / bitbucket
  19. Merged patchmgr into crop_rec_4k — alex@thinkpad / bitbucket
  20. Fix compiling with CONFIG_DIGIC_POKE — alex@thinkpad / bitbucket
  21. Modules: patch.h no longer needed — alex@thinkpad / bitbucket
  22. 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
  23. 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
  24. Bracketing: debug messages for troubleshooting http://www.magiclantern.fm/forum/index.php?topic=21590.0 — alex@thinkpad / bitbucket
  25. shoot: make the so-called remote_shoot always take pictures, not movies
    (moved movie functionality in lcdsensor/lightsensor - anything else broken?) — alex@thinkpad / bitbucket
  26. lens_take_picture: always wait until the image capture process starts (and optionally wait for it to finish) — alex@thinkpad / bitbucket
  27. Lua: fix camera.wait() not appearing in API docs — alex@thinkpad / bitbucket
  28. selftest: also test get_task_name_from_id, not just get_current_task_name
    (they use different Canon APIs) — alex@thinkpad / bitbucket
  29. 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
  30. gui-common: remove outdated comment — alex@thinkpad / bitbucket
  31. Re-applied 2642fbe (fix issue #2844) — alex@thinkpad / bitbucket
  32. 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
  33. Merged unified into patchmgr — alex@thinkpad / bitbucket
  34. Patch manager: moved reapply_cache_patches into sync_caches
    also made it private — alex@thinkpad / bitbucket
  35. Merged unified into patchmgr — alex@thinkpad.localdomain / bitbucket
  36. chdk-dng: fix saving uncompressed files after a lossless DNG
    http://www.magiclantern.fm/forum/index.php?topic=19300.msg196806#msg196806 — alex@thinkpad / bitbucket

#67 (Feb 5, 2018 1:01:10 AM)

  1. mlv_snd: fix adding to mlv_rec/mlv_lite submenu if the raw video option is turned off
    (properly check if either menu is present) — alex@thinkpad / bitbucket

#66 (Feb 3, 2018 11:59:21 PM)

  1. mlv_snd: moved the menu inside the mlv_rec/mlv_lite submenu;
    fine-tuned the submenu (formatting) — alex@thinkpad / bitbucket
  2. Merged crop_rec_4k into crop_rec_4k_mlv_lite_snd
    (menu backend updates etc) — alex@thinkpad / bitbucket
  3. Raw backend: in photo mode, force height to be always even
    (appears to fix some lossless DNG issues on M, hopefully also 700D and 100D)
    http://www.magiclantern.fm/forum/index.php?topic=19300.msg196786#msg196786 — alex@thinkpad / bitbucket
  4. Merged lua_fix into crop_rec_4k — alex@thinkpad / bitbucket
  5. 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
  6. gui-common: make translated longpress events (such as Q on certain models) available to other modules (tested with Lua) — alex@thinkpad / bitbucket
  7. Menu: refactored long-press checks with a common function and data structure
    (to be tested; may affect every single camera model) — alex@thinkpad / bitbucket
  8. Menu: use animation for all longpress handlers — alex@thinkpad / bitbucket
  9. Merged 100D_merge_fw101 into lua_fix
    (going to refactor the SET/Q button handling) — alex@thinkpad / bitbucket
  10. lens.h: some models have larger PROP_LV_LENS
    EOSM: 61; 70D/100D: 58; 5D3.123/6D: 56 — alex@thinkpad / bitbucket
  11. 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
  12. lens_info: use lens_info.lens_exists instead of lens_info.name[0]
    (from manual_lens_info) — alex@thinkpad / bitbucket
  13. 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
  14. Merged allocate-raw-lv-buffer into lua_fix
    (minor; 5D3.123 fix) — alex@thinkpad / bitbucket
  15. Merged unified into lua_fix
    (DOF fixes) — alex@thinkpad / bitbucket
  16. 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
  17. Dummy merge (reference changeset for make install_qemu) — alex@thinkpad / bitbucket
  18. Merged in makefile-updates (pull request #898)

    Makefile updates part 2 (minor fixes, updated make install_qemu) — alex@thinkpad / bitbucket
  19. 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
  20. focus.c: fix typo pointed out by garry23
    http://www.magiclantern.fm/forum/index.php?topic=9741.msg196728#msg196728 — alex@thinkpad / bitbucket
  21. Merged longpress into lua_fix — alex@thinkpad / bitbucket
  22. edmac.mo: simplified menu definition for log interval
    (using the new routines for rounding options) — alex@thinkpad / bitbucket
  23. Merged edmac into lua_fix — alex@thinkpad / bitbucket
  24. 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
  25. Changed the DoF equations to better handle integer math and used a different source for the equations. — Garry George <garry.george@grayheron.net> / bitbucket
  26. focus.c edited online with Bitbucket — Garry George <garry.george@grayheron.net> / bitbucket
  27. focus.c edited online with Bitbucket (updated) — Garry George <garry.george@grayheron.net> / bitbucket
  28. focus.c edited online with Bitbucket by Garry — Garry George <garry.george@grayheron.net> / bitbucket
  29. mlv_lite: fix premature memory freeing (race condition) before the buffers are flushed
    that was the root cause of the audio not getting saved, but could cause other issues as well
    http://www.magiclantern.fm/forum/index.php?topic=16040.msg196343#msg196343 — alex@thinkpad / bitbucket
  30. mlv_lite: perform frame validation only on VIDF frames — alex@thinkpad / bitbucket
  31. mlv_lite: count only the video frames
    (do the audio frames need to be numbered?) — alex@thinkpad / bitbucket
  32. mlv_lite: backout 36974e2 (video_frame_count back to frame_count; will remove total_frame_count and only count video frames) — alex@thinkpad / bitbucket
  33. crop_rec: menu warning for 720p-only presets
    tried disabling it in 1080p on 100D/700D/M, but didn't work well
    http://www.magiclantern.fm/forum/index.php?topic=16040.msg196754#msg196754 — alex@thinkpad / bitbucket
  34. crop_rec: attempt to move the preview window in x5 mode using the focus box
    (experimental, may result in lost frames if moved while recording) — alex@thinkpad / bitbucket
  35. crop_rec: updated help for centered x5 zoom
    http://www.magiclantern.fm/forum/index.php?topic=19300.msg195737#msg195737 — alex@thinkpad / bitbucket
  36. Menu: fine-tuned long-press indicator appearance
    - using filled circles
    - using a sine table to avoid roundoff errors — alex@thinkpad / bitbucket
  37. Merged unified into longpress — alex@thinkpad / bitbucket
  38. Menu: simple long-press indicator (animated) — alex@thinkpad / bitbucket
  39. 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
  40. gui-common: moved button logging code at the top
    (to make sure all events are printed in all modes) — alex@thinkpad / bitbucket
  41. Raw backend: DEFAULT_RAW_BUFFER_SIZE for 700D and EOSM (thanks dfort) — alex@thinkpad / bitbucket
  42. mem.c: fix compiling for 5D3.123
    (display buffer address depends on HDMI options) — alex@thinkpad / bitbucket
  43. 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
  44. edmac: LOG_INTERVAL can now be changed from menu (persistent setting) — alex@thinkpad / bitbucket
  45. edmac: use numbered log file names — alex@thinkpad / bitbucket
  46. edmac: fix behavior when the extra info buffer gets full — alex@thinkpad / bitbucket
  47. edmac: use half-shutter as trigger for logging EDMAC channels;
    fine-tuned messages — alex@thinkpad / bitbucket
  48. edmac: fix crash on models other than 5D3
    (there was a hardcoded stub) — alex@thinkpad / bitbucket
  49. edmac: fix crash when using "Log EDMAC usage" on D4 models — alex@thinkpad / bitbucket
  50. Merged unified into edmac — alex@thinkpad / bitbucket
  51. Added edmac.mo to nightly builds — alex@thinkpad / bitbucket
  52. edmac-memcpy: check to make sure all models have AbortEDmac
    (to make sure it's correct: selftest.mo -> Stubs API test) — alex@thinkpad / bitbucket
  53. edmac.mo: display connection map (experiment) — alex@thinkpad / bitbucket
  54. menu: experiment - long-press SET to open submenus (enabled on EOS M, where SET/Q share the same button) — alex@thinkpad / bitbucket
  55. menu: fine-tuned responsiveness on keys checked for long press (joystick center, down/erase on EOS M) — alex@thinkpad / bitbucket
  56. Renamed CONFIG_JOY_CENTER_ACTIONS to CONFIG_LONG_PRESS_JOYSTICK_MENU — alex@thinkpad / bitbucket

#65 (Feb 2, 2018 11:24:52 AM)

  1. crop_rec: attempt to move the preview window in x5 mode using the focus box
    (experimental, may result in lost frames if moved while recording) — alex@thinkpad / bitbucket
  2. crop_rec: updated help for centered x5 zoom
    http://www.magiclantern.fm/forum/index.php?topic=19300.msg195737#msg195737 — alex@thinkpad / bitbucket
  3. Merged crop_rec_4k_mlv_lite_snd into crop_rec_4k
    (experimental mlv_snd support for mlv_lite from ErwinH) — alex@thinkpad / bitbucket
  4. mlv.h: aligned comments — alex@thinkpad / bitbucket
  5. silent pics: no (more) need to allocate memory for two frames — alex@thinkpad / bitbucket
  6. 700D: fix white level at ISO 100 with 10/12-bit mode; other models may need this too, please run the tests
    http://www.magiclantern.fm/forum/index.php?topic=16054.msg195395#msg195395 — alex@thinkpad / bitbucket
  7. FPS override: added missing 36 fps and a few others
    http://www.magiclantern.fm/forum/index.php?topic=21523 — alex@thinkpad / bitbucket
  8. mlv_lite: fix UI locks when flushing buffers
    (the camera should not allow turning off before the MLV is saved completely; broken in a577371) — alex@thinkpad / bitbucket
  9. Silent pictures: check for lossless compression errors — alex@thinkpad / bitbucket
  10. edmac-memcpy: backout d70032d to fix 100D/700D/EOSM issues with recording in crop mode
    http://www.magiclantern.fm/forum/index.php?topic=16040.msg196634#msg196634 — alex@thinkpad / bitbucket
  11. mlv_snd: fix queueing on very large buffers
    (should fix sound recording at high resolutions, such as 3K) — alex@thinkpad / bitbucket
  12. mlv_snd: enabled by default, www.magiclantern.fm/forum/index.php?topic=12793 — Alex / bitbucket
  13. mlv_lite: thread safety workaround in mlv_rec_release_slot
    (todo: try to trigger a race condition) — alex@thinkpad / bitbucket
  14. mlv_lite: renamed frame_count to video_frame_count
    (Erwin added total_frame_count, which is video_frame_count + number of audio frames) — alex@thinkpad / bitbucket
  15. mlv_lite: fix premature memory freeing (race condition) before the buffers are flushed
    that was the root cause of the audio not getting saved, but could cause other issues as well
    http://www.magiclantern.fm/forum/index.php?topic=16040.msg196343#msg196343 — alex@thinkpad / bitbucket
  16. mlv_lite: reworked WAVI initialization — alex@thinkpad / bitbucket
  17. mlv_snd: undo mlv_lite-specific tweaks (parts of 5f4ed21); now identical to vanilla crop_rec_4k
    mlv_lite: cleaned up CBRs — alex@thinkpad / bitbucket
  18. mlv_snd: Turn mlv_rec_queue_block into weak function and add mlv_lite_queue_block. On starting use mlv_lite_queue_block, on started use mlv_rec_queue_block.
    mlv_lite: use memcmp instead of string comparision. Move raw_rec_cbr_started to after RAW_RECORDING is started and only start if the recording_state is RAW_RECORDING.
    Change mlv_rec_queue_block to mlv_lite_queue_block. — Erwin Houtsma <erwin@houtsmabedrijfsadvies.nl> / bitbucket
  19. mlv_lite: Only do certain checks on video frames. — Erwin Houtsma <erwin@houtsmabedrijfsadvies.nl> / bitbucket
  20. mlv_lite: create wavi header based on samplingRate (rest is fixed) — Erwin Houtsma <erwin@houtsmabedrijfsadvies.nl> / bitbucket
  21. Cleanup wavi header bit. Start audio recording earlier.
    Is the location of the wavi block correct? It's in the header now, but mlv_raw seems to place it outside of the header. — Erwin Houtsma <erwin@houtsmabedrijfsadvies.nl> / bitbucket
  22. Settings samplerate before first write, so the wavi block is added to the recording. Otherwise it will only alter the block on the second recording.

    I can probably just get the block from the mlv_snd module, but that's for later. — Erwin Houtsma <erwin@houtsmabedrijfsadvies.nl> / bitbucket
  23. First part of recording audio with mlv_lite and mlv_snd. — Erwin Houtsma <erwin@houtsmabedrijfsadvies.nl> / bitbucket
  24. 70D SRM_BUFFER_SIZE — alex@thinkpad / bitbucket
  25. Merged 70D_merge_fw112 into crop_rec_4k
    (changes to DryOS hooks) — alex@thinkpad / bitbucket
  26. Merged 100D_merge_fw101 into crop_rec_4k
    (changes to new DryOS hooks, Q button handling) — alex@thinkpad / bitbucket
  27. Merged new_dryos_task_hooks into 70D_merge_fw112 — alex@thinkpad / bitbucket
  28. Merged new_dryos_task_hooks into 100D_merge_fw101 — alex@thinkpad / bitbucket
  29. Merged lua_fix into crop_rec_4k — alex@thinkpad / bitbucket
  30. Merged new_dryos_task_hooks into crop_rec_4k — alex@thinkpad / bitbucket
  31. 100D: cleanup handling of the Q button
    (see b9e0b9e) — alex@thinkpad / bitbucket
  32. Merged lua_fix into crop_rec_4k — alex@thinkpad / bitbucket
  33. Merged lua_fix into crop_rec_4k — alex@thinkpad / bitbucket
  34. Merged new_dryos_task_hooks into lua_fix — alex@thinkpad / bitbucket
  35. Merged qemu into new_dryos_task_hooks — alex@thinkpad / bitbucket
  36. run_ml_all_cams.sh: fix QEMU_DIR once more — alex@thinkpad / bitbucket
  37. run_ml_all_cams.sh: fix QEMU_DIR — alex@thinkpad / bitbucket
  38. Fixes black bar at right issue when using the full 2520x1080 zoom image.
    https://www.magiclantern.fm/forum/index.php?topic=19300.msg196373#msg196373 — Daniel Fort <dan@digiola.com> / bitbucket
  39. Tests on the 100D show that we need to subtract 1 like the 5D3. A "hiccup" issue shows up in zoom mode when using the exact raw buffer height. Subtracting 1 resolves this issue and doesn't adversely affect the other video modes. — Daniel Fort <dan@digiola.com> / bitbucket
  40. Adjustments to raw buffer height and skip values for EOSM/100D/700D/650D. This should resolve the "hiccup" issue on the 100D in zoom mode, the no compression corrupt video on the 100D in Movie Crop Mode and restore the full 1080 height in zoom mode for the EOSM/650D/700D cameras.

    Forum discussion starts about here: https://www.magiclantern.fm/forum/index.php?topic=16040.msg196181#msg196181 — Daniel Fort <dan@digiola.com> / bitbucket
  41. Merged allocate-raw-lv-buffer into lua_fix — alex@thinkpad / bitbucket
  42. Merged qemu into lua_fix — alex@thinkpad / bitbucket
  43. Menu: hack to allow browsing ML menu on EOSM and EOSM2
    (requires CONFIG_QEMU=y) — alex@thinkpad / bitbucket
  44. 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
  45. Merged makefile-updates into qemu
    (also updated README regarding "make install_qemu" on modules) — alex@thinkpad / bitbucket
  46. 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
  47. Makefile: moved default QEMU directory to qemu-eos — alex@thinkpad / bitbucket
  48. 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
  49. Raw backend: 60D appears to allocate 28MB for the raw buffer — alex@thinkpad / bitbucket
  50. Raw backend: updated 5D3 hypothesis about Canon LV RAW buffer
    (todo: re-check 1.2.3) — alex@thinkpad / bitbucket
  51. 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
  52. Raw backend: fix compilation on very old models
    (without CONFIG_EDMAC_RAW_SLURP) — alex@thinkpad / bitbucket
  53. 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
  54. 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
  55. Raw backend: 1100D also needs DEFAULT_RAW_BUFFER / DEFAULT_RAW_BUFFER_SIZE — alex@thinkpad / bitbucket
  56. Raw backend: 1100D needs CONFIG_ALLOCATE_RAW_LV_BUFFER after refactoring — alex@thinkpad / bitbucket
  57. 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
  58. 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
  59. mlv_lite, mlv_rec: dialog_refresh_timer_addr for 1100D
    (to be tested) — alex@thinkpad / bitbucket
  60. Merged unified into allocate-raw-lv-buffer — alex@thinkpad / bitbucket
  61. Makefile: also updated QEMU_INSTALLED_DBI_DIR to use QEMU_PATH — alex@thinkpad / bitbucket
  62. Makefile: fix copy/paste error — alex@thinkpad / bitbucket
  63. Makefile: fix cleaning up after "make zip"; removed warning — alex@thinkpad / bitbucket
  64. Makefile: allow changing QEMU installation directory from Makefile.user and/or the environment
    (QEMU_DIR) — alex@thinkpad / bitbucket
  65. Makefile: zip and install_qemu targets for modules — alex@thinkpad / bitbucket
  66. Makefile: always clean after running install_check
    http://www.magiclantern.fm/forum/index.php?topic=991.msg194444#msg194444 — alex@thinkpad / bitbucket
  67. Makefile: always rebuild version.o — alex@thinkpad / bitbucket
  68. 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
  69. GUI: removed BGMT_Q_ALT
    to be tested on 1100D, 550D, 600D, 60D
    and also on recent ports (100D, 1200D, 1300D) — alex@thinkpad / bitbucket
  70. Merged new-dryos-task-hooks into lua_fix — alex@thinkpad / bitbucket
  71. selftest: reduced memory requirements to allow 1100D to pass the memory tests — alex@thinkpad / bitbucket
  72. 1100D: raw skip offsets for LiveView — alex@thinkpad / bitbucket
  73. GDB scripts: logging hook for prop_deliver — alex@thinkpad / bitbucket
  74. 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
  75. QEMU installer: fine-tuned prompt when reinstalling — alex@thinkpad / bitbucket
  76. QEMU: fix Q button handling on 550D, 600D, 1100D (to be tested) — alex@thinkpad / bitbucket
  77. QEMU readme: table of contents; minor typos — alex@thinkpad / bitbucket
  78. QEMU readme: GPIO section update — g3gg0 / bitbucket
  79. 6D: fix task_max — alex@thinkpad / bitbucket
  80. 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
  81. 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
  82. boot-hack: use CONFIG_NEW_DRYOS_TASK_HOOKS to enable new-style DryOS hooks
    (undefining HIJACK_TASK_ADDR was not obvious) — alex@thinkpad / bitbucket
  83. dump_srec.py: updated to decode lens firmware updates (*.lfu)
    http://www.magiclantern.fm/forum/index.php?topic=20969 — alex@thinkpad / bitbucket
  84. QEMU readme: misc updates (formatting, rephrasing); GPIO section — alex@thinkpad / bitbucket
  85. QEMU installer: make it clear the script expects user input when it's asking whether to compile QEMU — alex@thinkpad / bitbucket
  86. eject removes the disk image completely while unmount doesn't remove the disk image from /dev. — Daniel Fort <dan@digiola.com> / bitbucket
  87. reworked description of the peripherals — g3gg0 <g3gg0.de@gmail.com> / bitbucket
  88. QEMU install: fix mistakes — alex@thinkpad / bitbucket
  89. QEMU readme: typos, formatting — alex@thinkpad / bitbucket
  90. 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
  91. QEMU readme: some basic concepts related to how the DIGIC hardware works
    (some parts adapted from https://jsandler18.github.io/ ) — alex@thinkpad / bitbucket
  92. 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
  93. 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
  94. 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
  95. 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
  96. QEMU install.sh: recent git no longer accepts empty identities
    http://www.magiclantern.fm/forum/index.php?topic=20214.msg195892#msg195892 — alex@thinkpad / bitbucket
  97. QEMU scripts: removed hardcoded references to ../magic-lantern
    and documented how the directories can be customized — alex@thinkpad / bitbucket
  98. QEMU readme: documented directory structure — alex@thinkpad / bitbucket
  99. boot-hack: uninstall cache hacks after booting (to be tested) — alex@thinkpad / bitbucket
  100. boot-hack: more debug messages regarding memory allocation
    (for HIJACK_CACHE_HACK and RSCMGR_MEMORY_PATCH_END) — alex@thinkpad / bitbucket
  101. 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
  102. 70D: enabled Sticky half-shutter (unlikely to cause issues) and Sticky DOF preview (to be tested) — alex@thinkpad / bitbucket
  103. 100D: enabled Sticky half-shutter (unlikely to cause issues) and Sticky DOF preview (to be tested) — alex@thinkpad / bitbucket
  104. Changed the DoF equations to better handle integer math and used a different source for the equations. — Garry George <garry.george@grayheron.net> / bitbucket
  105. Menu: added different rounding mode flags: ISO R10", R20", 1-2-5 series, powers of 2 — alex@thinkpad / bitbucket
  106. Menu: cleaned up edit_mode constants
    (removed unused EM_MANY_VALUES and renamed EM_MANY_VALUES_LV to EM_SHOW_LIVEVIEW) — alex@thinkpad / bitbucket
  107. Menu: added UNIT_TIME_MS and UNIT_TIME_US with caret editing support; minor refactoring — alex@thinkpad / bitbucket
  108. silent pictures: options for delayed trigger, to help with IS
    http://www.magiclantern.fm/forum/index.php?topic=12523.msg196174#msg196174 — alex@thinkpad / bitbucket
  109. 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
  110. 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
  111. 650D, 700D: enabled Sticky half-shutter (unlikely to cause issues) and Sticky DOF preview (to be tested) — alex@thinkpad / bitbucket
  112. 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
  113. 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
  114. 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
  115. 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
  116. lens: added lens_format_iso and refactored other code to use it — alex@thinkpad / bitbucket
  117. Merged in bouncyball/magic-lantern/mlv_dump_cdng (pull request #841) — g3gg0 / bitbucket
  118. fix: honor 'relaxed' mode during DNG export — bouncyball / bitbucket
  119. mlv_dump: introduced fix_black_white_level() routine, which scales or/and just fixes black and white levels in case of bit depth conversion, this also fixes bug which introduced in b0c6457, result is cleaner code in two places - for DNG and MLV output — bouncyball / bitbucket
  120. camera_id.h: fixed added comment — bouncyball / bitbucket
  121. camera_id.h: added comment with steps how to obtain numbers for new cameras — bouncyball / bitbucket
  122. mlv_dump: fixed 2 comments — bouncyball / bitbucket
  123. dng.c: and again tiny fixes of comments — bouncyball / bitbucket
  124. dng.c: fixed comment — bouncyball / bitbucket
  125. dng.c/h: added/fixed comments — bouncyball / bitbucket
  126. wav.h: added header file with required stuff for new WAV writer code — bouncyball / bitbucket
  127. mlv_dump: added new WAV header writer for demanding NLEs, now header includes 'bext' and 'iXML' info, also patched 'if(out_file_wav)' section at the bottom of the file, fixed size and offset to be updated, more comments are in source code — bouncyball / bitbucket
  128. mlv_dump: fixed comments — bouncyball / bitbucket
  129. mlv_dump: patched 'if(run_compressor)' section to correctly support compressed DNG buffer, added two 'if(dng_output)' conditions, comments are in a source code, also free DNG buffers at the end of program — bouncyball / bitbucket
  130. mlv_dump: most important and big change, almost entirely replaced main 'if(dng_output)' section to support 'dng.c' lib, comments are in the source code — bouncyball / bitbucket
  131. mlv_dump: fixed condition to set black/white level if bit depth's not changed but '--black/white-fix' specified, for both dng and mlv export — bouncyball / bitbucket
  132. mlv_dump: removed message (interferes with verbose output), patched condition according to '-p' switch — bouncyball / bitbucket
  133. mlv_dump: preliminary changes to first 'if(dng_output)' part, short explanations are in the source code, there is no need to force bit depth to 14bit any more b/c now any bits are supported by dng exporting routines — bouncyball / bitbucket
  134. mlv_dump: replaced pass-trough '-c -c' double switch with more elegant '-p', it is more intuitive when using to pass through uncompressed raw (it's now supported) — bouncyball / bitbucket
  135. mlv_dump: some cli switch incompatibility checks — bouncyball / bitbucket
  136. dng.h: corrected typos — bouncyball / bitbucket
  137. mlv_dump: added 2 helper structs for building DNG file (header and image data) and flags to pass the commands from cli to 'dng.c', all is documented in 'dng.h' — bouncyball / bitbucket
  138. mlv_dump: moved unique_camname handling to 'dng.c' — bouncyball / bitbucket
  139. mlv_dump: created raw_rec/raw_proc dir with all raw processing source files inside, removed chroma smooth code from 'mlv_dump.c', all raw processing now takes place in 'dng.c' — bouncyball / bitbucket
  140. camera_id.h updated and moved to raw_rec/dng dir, extended structure and added camera specific matrixes and focal resolutions, added camera_id_get_current_cam() function, removed header from 'mlv_dump.c', it's now included to 'dng.c' — bouncyball / bitbucket
  141. mlv_dump: 'chdk_dng.c/h' substituted by 'raw_rec/dng' dir with 'dng.c/h' and dng tag header files, made small required changes to makefile and mlv_dump.c — bouncyball / bitbucket
  142. new branch mlv_dump_cdng — bouncyball / bitbucket
  143. boot-hack: fix task dispatch hook message missing when booting with HIJACK_CACHE_HACK — alex@thinkpad / bitbucket
  144. 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
  145. 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
  146. QEMU install: keep the 64-bit gdb warning prompt on Mac and WSL (to be tested) — alex@thinkpad / bitbucket
  147. 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
  148. QEMU install: fix path issue after compilation — alex@thinkpad / bitbucket
  149. QEMU install: fix warning about lsb_release on Mac or other systems without it — alex@thinkpad / bitbucket
  150. QEMU install: attempt to fix warnings about 64-bit GDB on Mac (to be tested) — alex@thinkpad / bitbucket
  151. QEMU install: fine-tuned QEMU compilation, to be tested
    (error handling, display the next steps after compilation finished) — alex@thinkpad / bitbucket
  152. 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
  153. QEMU: simplified SFDMA mapping by removing model-specific redirection
    (they are fairly consistent across all models) — alex@thinkpad / bitbucket
  154. 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
  155. QEMU: documented SD detect registers on recent DIGIC 5 models
    (non-functional) — alex@thinkpad / bitbucket
  156. 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
  157. QEMU: fix 5D3 CF emulation
    (disabled by default; can be enabled from mpu_spells/5D3.h) — alex@thinkpad / bitbucket
  158. QEMU: documented property groups ("complex" MPU messages)
    including GDB logging hooks to find them — alex@thinkpad / bitbucket
  159. 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
  160. 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
  161. GDB scripts: generic logging hooks — alex@thinkpad / bitbucket
  162. QEMU readme: example of identifying the location of an assertion using gdb and -d callstack; minor updates — alex@thinkpad / bitbucket
  163. QEMU: updated 750D/760D GDB scripts and tests; file I/O works!
    (using 750D SFDATA.BIN) — alex@thinkpad / bitbucket
  164. Merged in t3r4n/magic-lantern/qemu (pull request #894) — alex@thinkpad / bitbucket
  165. QEMU: fix some MPU spells
    (typos caught by automated checking) — alex@thinkpad / bitbucket
  166. 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
  167. QEMU readme: minor link updates — alex@thinkpad / bitbucket
  168. QEMU readme: moved developer and reverse engineering notes to a new file
    (reason: bitbucket seems to have trouble rendering large files) — alex@thinkpad / bitbucket
  169. 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
  170. 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
  171. QEMU readme: fix typos; minor updates — alex@thinkpad / bitbucket
  172. 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
  173. QEMU: updated 80D test results for actual serial flash contents
    http://www.magiclantern.fm/forum/index.php?topic=17360.msg195519#msg195519 — alex@thinkpad / bitbucket
  174. QEMU readme: formatting — alex@thinkpad / bitbucket
  175. QEMU readme: GDB scripting examples, including callstack — alex@thinkpad / bitbucket
  176. QEMU readme: use em-dashes instead of simple dashes — alex@thinkpad / bitbucket
  177. 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
  178. QEMU readme: moved the "Incorrect firmware version" section to Hacking
    (it's no longer an issue for regular users) — alex@thinkpad / bitbucket
  179. QEMU readme: started to document the steps needed to emulate Canon GUI — alex@thinkpad / bitbucket
  180. QEMU readme: minor updates, corrections — alex@thinkpad / bitbucket
  181. 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
  182. QEMU: updated sd.img.xz with latest portable display test
    (main change: fix identification of firmware version - 7889972) — alex@thinkpad / bitbucket
  183. GDB scripts: fix assert handling on EOS M10 — alex@thinkpad / bitbucket
  184. QEMU: moved 7D2 patches to GDB scripts;
    initial GDB script for 7D2 slave — alex@thinkpad / bitbucket
  185. QEMU: defined FPGA memory regions for 5D2 and 50D
    (just to prevent some warnings; nothing changed in functionality) — alex@thinkpad / bitbucket
  186. 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
  187. 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
  188. QEMU: refactored serial flash CS handling to reduce duplicate code
    (moved CS register and tested value to model_list.c) — alex@thinkpad / bitbucket
  189. 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
  190. 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
  191. 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
  192. 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
  193. 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
  194. 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
  195. QEMU: more MPU properties identified by brute-forcing — alex@thinkpad / bitbucket
  196. QEMU: formatting fixes in extract_init_spells.py / known_spells.h — alex@thinkpad / bitbucket
  197. QEMU: added property IDs to known MPU spells
    also alternate names as comments — alex@thinkpad / bitbucket
  198. 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
  199. QEMU: experiment - brute-force MPU messages to find out their meaning — alex@thinkpad / bitbucket
  200. 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
  201. 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
  202. 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
  203. QEMU install.sh: further Ubuntu/WSL cleanups (minor) — alex@thinkpad / bitbucket
  204. QEMU install.sh: fine-tuned messages and date format when renaming an older installation — alex@thinkpad / bitbucket
  205. 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
  206. QEMU install.sh: WSL fixes
    - checking for Ubuntu (uname -a does not report Ubuntu)
    - hide 32-bit toolchain options — alex@thinkpad / bitbucket
  207. 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
  208. 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
  209. QEMU: RTC workaround to bring back 400D GUI
    (broken in 0d654a0, not covered by tests as it's very slow) — alex@thinkpad / bitbucket
  210. 70D: AbortEDmac stub — nikfreak <mlnikfreak@gmail.com> / bitbucket
  211. Added function for convertion from efic_temp raw units to celsius — esas <e_aspestrand@hotmail.com> / bitbucket
  212. 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
  213. QEMU: fix USB CONNECT on 450D/1000D
    (incidentally, this also fixes the card format dialog on these cameras - likely UILock issue) — alex@thinkpad / bitbucket
  214. 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
  215. 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
  216. QEMU: updated 80D tests for 1.0.2; DCIM test also works! — alex@thinkpad / bitbucket
  217. QEMU: 80D file I/O support from main firmware
    (experimental, tested with "dumpf" in the serial console) — alex@thinkpad / bitbucket
  218. QEMU: enable card support on generic MPU spells
    (experimental, some models work better than others) — alex@thinkpad / bitbucket
  219. Merged unified into 70D_merge_fw112 — alex@thinkpad / bitbucket
  220. mlv_dump: fix averaging when bit depth conversion was requested — g3gg0 / bitbucket
  221. mlv_dump: update a comment after removing metadata mode — g3gg0 / bitbucket
  222. GDB scripts: some experimental 80D patches, to be fixed in the emulation — alex@thinkpad / bitbucket
  223. GDB scripts: log state object transitions
    (stubs for 550D and 80D) — alex@thinkpad / bitbucket
  224. GDB scripts: 80D logging hooks for semaphores and message queues
    (disabled by default; also updated assert_log for 1.0.2) — alex@thinkpad / bitbucket
  225. QEMU: RomRead DMA is actually XDMAC
    (up to 4 channels; 80D only uses 2) — alex@thinkpad / bitbucket
  226. Ghost image: fix crash (issues #2796, #2783) — alex@thinkpad / bitbucket
  227. gui-common: sync gui_uilock with crop_rec_4k — alex@thinkpad / bitbucket
  228. 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
  229. QEMU tests: do not start if compilation fails
    (small nitpick that could result in false test results) — alex@thinkpad / bitbucket
  230. QEMU: updated tests after b75e1342711a
    (context info is now correctly printed when returning from msg_queue_receive, take_semaphore etc) — alex@thinkpad / bitbucket
  231. QEMU: generic MPU spells compatible with most EOS models (experimental) — alex@thinkpad / bitbucket
  232. 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
  233. 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
  234. 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
  235. QEMU: refactored serial flash SIO handler with io_log — alex@thinkpad / bitbucket
  236. 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
  237. 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
  238. QEMU: RomRead DMA for DIGIC 6, used for initializing property blocks
    (very similar to regular DMA, slightly different register offsets) — alex@thinkpad / bitbucket
  239. 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
  240. 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
  241. 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
  242. Merged unified into 100D_merge_fw101 — alex@thinkpad / bitbucket
  243. Merged new-dryos-task-hooks into 100D_merge_fw101 — alex@thinkpad / bitbucket
  244. 100D: MPU stubs (for dm-spy-experiments) — alex@thinkpad / bitbucket
  245. MPU spells: some names could not be identified (fixed) — alex@thinkpad / bitbucket
  246. 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
  247. 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
  248. run_canon_fw.sh: print camera name in QEMU window title — alex@thinkpad / bitbucket
  249. 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
  250. QEMU logging: always log unmapped memory regions — alex@thinkpad / bitbucket
  251. GDB scripts: fix text alignment with "native" logging options (minor) — alex@thinkpad / bitbucket
  252. 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
  253. QEMU install: print fewer help details after installation; link to the online documentation — alex@thinkpad / bitbucket
  254. QEMU readme: formatting, typos — alex@thinkpad / bitbucket
  255. QEMU readme: more info regarding custom SD/CF images — alex@thinkpad / bitbucket
  256. QEMU readme: more ways to install ML to the virtual SD/CF images — alex@thinkpad / bitbucket
  257. QEMU readme: note about "make install_qemu" not available in all branches — alex@thinkpad / bitbucket
  258. QEMU readme: note about models using a serial flash — alex@thinkpad / bitbucket
  259. QEMU README: minor updates to 050a3cc — alex@thinkpad / bitbucket
  260. Merged unified into qemu — alex@thinkpad / bitbucket
  261. Merged makefile-updates into qemu — alex@thinkpad / bitbucket
  262. Makefile: backout 0b9b550
    ?= not needed when overriding from command-line, e.g. make CONFIG_QEMU=y — alex@thinkpad / bitbucket
  263. Merged makefile-updates into qemu — alex@thinkpad / bitbucket
  264. run_canon_fw.sh: Mac compatibility fixes — alex@thinkpad / bitbucket
  265. QEMU: 5D3 1.2.3 GUI works!
    fixme: not covered by tests — alex@thinkpad / bitbucket
  266. 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
  267. 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
  268. 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
  269. 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
  270. QEMU tests: reordered (important, breaks often and/or very fast == runs earlier) — alex@thinkpad / bitbucket
  271. 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
  272. 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
  273. 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
  274. 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
  275. 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
  276. QEMU tests/readme: recent netcat requires -N — alex@thinkpad / bitbucket
  277. QEMU tests: one more race condition fix — alex@thinkpad / bitbucket
  278. 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
  279. QEMU tests: more race condition fixes — alex@thinkpad / bitbucket
  280. QEMU tests: attempt to fix some race conditions — alex@thinkpad / bitbucket
  281. QEMU tests: minor fixes after refactoring — alex@thinkpad / bitbucket
  282. 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
  283. 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
  284. 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
  285. QEMU: make sure mtools prints uppercase filenames by default
    (our tests assume this behavior, but some systems have different defaults) — alex@thinkpad / bitbucket
  286. Merged makefile-updates into qemu — alex@thinkpad / bitbucket
  287. QEMU: fix arrow unpress handling on cameras without UDLR (tested on EOSM) — alex@thinkpad / bitbucket
  288. QEMU tests: replaced two slow grep commands with sed — alex@thinkpad / bitbucket
  289. 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
  290. QEMU tests: refactored matching heuristic for call/return trace on main firmware
    (rewritten in Python - much faster) — alex@thinkpad / bitbucket
  291. QEMU install: brew docutils needs additional setup; just use the one from pip — alex@thinkpad / bitbucket
  292. mtools_copy_ml.sh: removed dependency on realpath
    (not available on Mac) — alex@thinkpad / bitbucket
  293. Makefile: fix compiling tcc — alex@thinkpad / bitbucket
  294. QEMU install: Mac cleanups, to be tested
    (xcode-select auto-installed by brew, docutils available as package) — alex@thinkpad / bitbucket
  295. Makefile: moved toolchain setup to Makefile.setup
    (this allows toolchain to be overridden from Makefile.user) — alex@thinkpad / bitbucket
  296. 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
  297. QEMU install: refuse to overwrite an existing installation — alex@thinkpad / bitbucket
  298. 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
  299. QEMU install: we have gcc-arm-embedded:i386 on the PPA :) — alex@thinkpad / bitbucket
  300. Makefile: fixes to allow compiling ML with Linaro arm-eabi-gcc; updated toolchain recommendations — alex@thinkpad / bitbucket
  301. QEMU: patch for building with gcc 7.x — alex@thinkpad / bitbucket
  302. 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
  303. 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
  304. QEMU: typo when loading raw images for capture emulation — alex@thinkpad / bitbucket
  305. MPU spells: identified some lens properties (PROP_LENS and PROP_LENS_NAME) — alex@thinkpad / bitbucket
  306. MPU spells: identify property description for Complete WaitID messages — alex@thinkpad / bitbucket
  307. 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
  308. MPU spells: identified PROP_BATTERY_CHECK
    (verified before dialogs such as card format or firmware update) — alex@thinkpad / bitbucket
  309. 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
  310. 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
  311. QEMU: handle INFO unpress event (for 5D3) — alex@thinkpad / bitbucket
  312. QEMU: generate valid dark frames if a CR2 isn't available — alex@thinkpad / bitbucket
  313. QEMU: allow full-res 14-bit data from any format readable by dcraw
    (usually CR2 and DNG; example in README) — alex@thinkpad / bitbucket
  314. QEMU: use <%d> for EDMAC connections in debug messages
    (e.g. connection <5>, channel #16) — alex@thinkpad / bitbucket
  315. QEMU: moved image processing engine functions to separate file
    (EDMAC, PREPRO, JPCORE...) — alex@thinkpad / bitbucket
  316. make install_qemu: check whether sd.img or cf.img is mounted before copying files — alex@thinkpad / bitbucket
  317. 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
  318. QEMU: updated 600D test to include the info screen
    (had to enable it in Canon menu) — alex@thinkpad / bitbucket
  319. QEMU: disabled sensor cleaning animation on 5D2, 50D, 60D
    (interferes with ML menu; updated tests) — alex@thinkpad / bitbucket
  320. 70D: update dual iso adresses for 1.1.2 — nikfreak <mlnikfreak@gmail.com> / bitbucket
  321. Merged new-dryos-task-hooks into 70D_merge_fw112 — alex@thinkpad / bitbucket
  322. QEMU: warn user when shutdown is not clean — alex@thinkpad / bitbucket
  323. QEMU: updated 100D menu test to show all menus (including the FlexiZone AF setting) — alex@thinkpad / bitbucket
  324. 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
  325. 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
  326. 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
  327. QEMU install: updated regex for parsing GUI_CAMS from run_tests.sh
    (to allow multi-line declaration) — alex@thinkpad / bitbucket
  328. QEMU tests: 100D typo
    (old file) — alex@thinkpad / bitbucket
  329. 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
  330. QEMU: 5D2/50D RTC patch from g3gg0
    (date/time dialog is history!) — alex@thinkpad / bitbucket
  331. QEMU: updated README — alex@thinkpad / bitbucket
  332. QEMU: enabled PROP_MPU_GPS on all DIGIC 5 models — alex@thinkpad / bitbucket
  333. QEMU: EOS M boots the GUI!
    (it also needs the GPS patch - moved to GPS.h) — alex@thinkpad / bitbucket
  334. QEMU: updated tests
    (after RTC emulation, I2C and patches cleanup) — alex@thinkpad / bitbucket
  335. GDB scripts: date/time patches no longer needed! — alex@thinkpad / bitbucket
  336. QEMU: reworked I2C debug messages — alex@thinkpad / bitbucket
  337. QEMU: updated MMIO highlighting code
    (module name is now highlighted as well - easier to spot) — alex@thinkpad / bitbucket
  338. QEMU: moved RTC emulation to its own handler; reworked debug messages — alex@thinkpad / bitbucket
  339. QEMU: enabled RTC emulation for most models
    exceptions: 5D2 and 50D appear to use a different chip or method — alex@thinkpad / bitbucket
  340. QEMU: RTC patch from g3gg0
    5D3 and 60D no longer show the date/time screen! — alex@thinkpad / bitbucket
  341. QEMU: I2C patch from g3gg0 — alex@thinkpad / bitbucket
  342. 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
  343. QEMU install: don't install two toolchains if user selects 64-bit GDB — alex@thinkpad / bitbucket
  344. QEMU install: libnewlib-arm-none-eabi is architecture-independent — alex@thinkpad / bitbucket
  345. 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
  346. 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
  347. QEMU install: 32-bit Mac toolchain doesn't have gdb... — alex@thinkpad / bitbucket
  348. QEMU install: wrong quotes — alex@thinkpad / bitbucket
  349. QEMU install: fix some copy/paste errors — alex@thinkpad / bitbucket
  350. QEMU install: allow using the current 64-bit toolchain on Ubuntu; minor fixes — alex@thinkpad / bitbucket
  351. 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
  352. 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
  353. QEMU install: remove docutils install for macOS — Christophe Francey <kichetof@gmail.com> / bitbucket
  354. 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
  355. 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
  356. QEMU install: pip does not require sudo — alex@thinkpad / bitbucket
  357. QEMU install: fix for dpkg -l also returning non-installed packages
    https://wiki.debian.org/ListInstalledPackages — alex@thinkpad / bitbucket
  358. 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
  359. 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
  360. QEMU install: also set up the toolchain for compiling ML (Ubuntu) — alex@thinkpad / bitbucket
  361. QEMU install: typo — alex@thinkpad / bitbucket
  362. Makefile: updated toolchain recommendation; minor edits — alex@thinkpad / bitbucket
  363. 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
  364. 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
  365. QEMU install: gcc-arm-embedded try #5 — alex@thinkpad / bitbucket
  366. QEMU install: gcc-arm-embedded try #4 — alex@thinkpad / bitbucket
  367. QEMU install: gcc-arm-embedded try #3 — alex@thinkpad / bitbucket
  368. QEMU install: gcc-arm-embedded try #2 — alex@thinkpad / bitbucket
  369. QEMU install: let's try gcc-arm-embedded from PPA — alex@thinkpad / bitbucket
  370. 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
  371. QEMU: check if brew is installed on macOS — Christophe Francey <kichetof@gmail.com> / bitbucket
  372. Makefile: use gcc 5.4.1 by default (current version from https://launchpad.net/gcc-arm-embedded ) — alex@thinkpad / bitbucket
  373. QEMU install: more Mac patches (not tested)
    from http://www.magiclantern.fm/forum/index.php?topic=16012.msg190369#msg190369 — alex@thinkpad / bitbucket
  374. QEMU install: also install docutils and vncdotool — alex@thinkpad / bitbucket
  375. QEMU install: verbosity fine-tuning — alex@thinkpad / bitbucket
  376. QEMU: minor README updates — alex@thinkpad / bitbucket
  377. QEMU: README formatting — alex@thinkpad / bitbucket
  378. QEMU: README formatting — alex@thinkpad / bitbucket
  379. QEMU: updated install instructions in README — alex@thinkpad / bitbucket
  380. QEMU install: arm-none-eabi-gdb requires 32-bit libraries on Ubuntu — alex@thinkpad / bitbucket
  381. QEMU: set up arm-none-eabi-gdb from the install script — alex@thinkpad / bitbucket
  382. QEMU: auto-install dependencies if running on Ubuntu-based systems (to be tested) — alex@thinkpad / bitbucket
  383. QEMU: some Mac patches for install script (not tested)
    http://www.magiclantern.fm/forum/index.php?topic=16012.msg190369#msg190369 — alex@thinkpad / bitbucket
  384. QEMU: ggrep patch for Mac from kichetof
    http://www.magiclantern.fm/forum/index.php?topic=16012.msg190396#msg190396 — alex@thinkpad / bitbucket
  385. 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
  386. Merged unified into 70D_merge_fw112 — alex@thinkpad / bitbucket
  387. 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
  388. QEMU: EOS M3 display support from Ant123 (using a custom CHDK build) — alex@thinkpad / bitbucket
  389. QEMU README: Bitbucket doesn't resize the images... — alex@thinkpad / bitbucket
  390. QEMU README: let's try some screenshots — alex@thinkpad / bitbucket
  391. QEMU: more README updates
    - shutdown notes (system_powerdown vs quit)
    - rewritten QEMU monitor section
    - how to bypass the date/time dialog — alex@thinkpad / bitbucket
  392. QEMU: minor improvements to README — Chris Miller <chris.nz@gmail.com> / bitbucket
  393. QEMU: README updates
    - shutdown and reboot
    - running from physical card
    - menu navigation (keys)
    - misc notes, minor typos — alex@thinkpad / bitbucket
  394. QEMU: 1000D GUI works too
    (based on 450D) — alex@thinkpad / bitbucket
  395. QEMU: stretch display vertically on VxWorks models
    (double all lines to get correct aspect ratio) — alex@thinkpad / bitbucket
  396. QEMU: emulate JUMP and Direct Print buttons (for VxWorks models) — alex@thinkpad / bitbucket
  397. Backout 89254290c3f7
    (shutdown only works only when not activating Canon menu, with or without this patch) — alex@thinkpad / bitbucket
  398. 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
  399. QEMU: print whether available keys are press-only or they also send unpress events — alex@thinkpad / bitbucket
  400. QEMU: re-created 70D MPU spells; shutdown working — alex@thinkpad / bitbucket
  401. QEMU: shutdown working on most models able to start the GUI (all but 70D) — alex@thinkpad / bitbucket
  402. minimal targets: removed old references to qemu-util — alex@thinkpad / bitbucket
  403. QEMU tests: always stop GDB when QEMU quits — alex@thinkpad / bitbucket
  404. QEMU tests: updated to handle shutdown and reboot
    (shutdown test after menu navigation, reboot test when formatting card and restoring ML) — alex@thinkpad / bitbucket
  405. QEMU: handle PROP_ABORT (after opening battery door)
    fixme: it doesn't shutdown, figure out why — alex@thinkpad / bitbucket
  406. QEMU: handle the powerdown event
    (menu: Machine -> Power Down) — alex@thinkpad / bitbucket
  407. QEMU: experimental shutdown handling (card door and power switch) — alex@thinkpad / bitbucket
  408. reloc.c: cleaned up ifdef's — alex@thinkpad / bitbucket
  409. QEMU: minor README update
    (ML menu now working on all models able to boot the GUI) — alex@thinkpad / bitbucket
  410. 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
  411. QEMU: experimental Av button handling for Rebel cameras
    (fixme: has some side effects, such as changing the displayed shutter speed) — alex@thinkpad / bitbucket
  412. QEMU: don't auto-repeat keys, except for scrollwheels — alex@thinkpad / bitbucket
  413. QEMU: also allow right shift for half-shutter — alex@thinkpad / bitbucket
  414. QEMU: handle the FUNC button (for 50D menu navigation) — alex@thinkpad / bitbucket
  415. Merged unified into qemu — alex@thinkpad / bitbucket
  416. QEMU: updated 700D to 1.1.5 (GDB scripts and menu tests) — alex@thinkpad / bitbucket
  417. QEMU: README updates — alex@thinkpad / bitbucket
  418. QEMU: initial README draft — alex@thinkpad / bitbucket
  419. Makefile: "make install_qemu" for platform targets;
    updated run_ml_all_cams.sh to use it — alex@thinkpad / bitbucket
  420. qemu-util: qprintf requires stdarg.h (when not included from dryos.h) — alex@thinkpad / bitbucket
  421. Makefile: allow using CONFIG_QEMU for modules (qprintf and related functions) — alex@thinkpad / bitbucket
  422. Makefile: allow overriding CONFIG_* options on the command line
    e.g. make CONFIG_QEMU=y
    (suggestion from g3gg0) — alex@thinkpad / bitbucket
  423. qemu-util: make the QEMU debugging API header-only — alex@thinkpad / bitbucket
  424. console include qemu-util.h is no longer needed — alex@thinkpad / bitbucket
  425. menu: removed QEMU workaround (no longer needed - GUI mode switch works on most models) — alex@thinkpad / bitbucket
  426. 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
  427. Raw backend: some more debug messages
    (useful for qemu-frsp tests) — alex@thinkpad / bitbucket
  428. 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
  429. qemu-frsp: fix compilation — alex@thinkpad / bitbucket
  430. Merged unified into qemu — alex@thinkpad / bitbucket
  431. QEMU tests: FA_CaptureTestImage test also working on 50D, 500D, 550D and - without display - on 1100D — alex@thinkpad / bitbucket
  432. qemu-frsp: use CONFIG_QEMU to enable debug messages from raw.c — alex@thinkpad / bitbucket
  433. qemu-util: removed old experiments
    (kept the initial hello world for historical purposes) — alex@thinkpad / bitbucket
  434. Raw backend: print to QEMU console if compiled with CONFIG_QEMU=y
    (without enabling RAW_DEBUG) — alex@thinkpad / bitbucket
  435. qemu-frsp: fix compiling on 500D, 5D2 and 50D — alex@thinkpad / bitbucket
  436. memcheck: check malloc heap in the same way as AllocateMemory (500D only for now) — alex@thinkpad / bitbucket
  437. memcheck: option to identify uninitialized memory accesses in main firmware
    that could be exploited from bootloader — alex@thinkpad / bitbucket
  438. memcheck: fix operation on DIGIC 6 — alex@thinkpad / bitbucket
  439. memcheck: fix operation without ML memcpy — alex@thinkpad / bitbucket
  440. QEMU: tests for memchk, from minimal ML
    (not all of them are passing) — alex@thinkpad / bitbucket
  441. qemu-hptimer: CONFIG_INSTALLER no longer needed — alex@thinkpad / bitbucket
  442. 7D: fix minimal targets (no LEDON/LEDOFF on this model though) — alex@thinkpad / bitbucket
  443. GDB scripts: register_interrupt on all models (with test) — alex@thinkpad / bitbucket
  444. 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
  445. GDB scripts: disabled slow items by default
    (semaphores, message queues, MPU communication, ResLock, EDMAC) — alex@thinkpad / bitbucket
  446. GDB scripts: symbol-file commands to get debugging symbols from ML (commented out)
    todo: auto-enable when autoexec.bin is executed? — alex@thinkpad / bitbucket
  447. QEMU: always load camera-specific files from CAM/ or CAM/FW/ (refactored to avoid duplicate code) — alex@thinkpad / bitbucket
  448. QEMU tests: updated menu test for 70D 1.1.2 — alex@thinkpad / bitbucket
  449. QEMU tests: updated 70D needles (expected results) for 1.1.2 — alex@thinkpad / bitbucket
  450. QEMU tests: allow camera models as arguments — alex@thinkpad / bitbucket
  451. QEMU: with -d exec, make sure the instructions aren't printed twice — alex@thinkpad / bitbucket

#63 (Dec 19, 2017 8:28:22 PM)

  1. mlv_dump: remove metadata modes. they were not really useful and dont make too much sense. — g3gg0 / bitbucket
  2. chdk-dng: fix some found 64 bit issues — g3gg0 / bitbucket
  3. mlv_dump: print human readable serial numbers for both camera and lens — g3gg0 / bitbucket
  4. mlv_rec: properly fill lensSerial with a hex representation of the serial number in lens_info struct — g3gg0 / bitbucket
  5. Merged lua_fix into crop_rec_4k — alex@thinkpad / bitbucket
  6. Merged new-dryos-task-hooks into lua_fix — 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. lua_camera: minor help tweaks — alex@thinkpad / bitbucket
  12. lua_camera: getter for gui.mode (missed in 706b131) + API tests — alex@thinkpad / bitbucket
  13. gui-common: fix exit_(play|qr|menu)_mode on 60D (camera.gui tests from api_test.lua are working now) — alex@thinkpad / bitbucket
  14. gui-common: refactored exit_play_qr_mode/exit_menu_mode to avoid duplicate code
    added exit_play_qr_menu_mode (generic) — alex@thinkpad / bitbucket
  15. Backout bc10355 (undo screenshot palette fix, not portable, issue #2821) — alex@thinkpad / bitbucket
  16. 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
  17. Merged unified into lua_fix — alex@thinkpad / bitbucket
  18. Merged unified into crop_rec_4k — alex@thinkpad / bitbucket
  19. mlv_dump: fix 0.5 LSB roundoff error when averaging — alex@thinkpad / bitbucket
  20. Makefile: drop unused SUPPORTED_MODELS / SUPPORTED_UNIFIED_MODELS — alex@thinkpad / bitbucket
  21. Merged in makefile-updates (pull request #873)

    Makefile updates to use any valid ARM toolchain — alex@thinkpad / bitbucket
  22. Makefile: fix 7D build_fir — alex@thinkpad / bitbucket
  23. Makefile: fix building Lua with gcc 4.7.3 — alex@thinkpad / bitbucket
  24. 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
  25. Lua: fix menu.open missing from docs
    http://www.magiclantern.fm/forum/index.php?topic=21195 — alex@thinkpad / bitbucket
  26. Lua stdio: fix buffering issues
    (error messages written to stderr with fprintf, maybe others) — alex@thinkpad / bitbucket
  27. Lua: sort scripts by filename at startup
    http://www.magiclantern.fm/forum/index.php?topic=21155 — alex@thinkpad / bitbucket
  28. 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
  29. Merged makefile-updates into lua-fix — alex@thinkpad / bitbucket
  30. Card LED: always use CARD_LED_ADDRESS, LEDON and LEDOFF
    (backed out 5bfab05 to fix installer on 7D - 0x800c00 not mandatory?) — alex@thinkpad / bitbucket
  31. 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
  32. 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
  33. Makefile: fix building xor_chk from its own directory — alex@thinkpad / bitbucket
  34. Makefile: more .NOTPARALLEL fixes — alex@thinkpad / bitbucket
  35. Makefile: fix 7D FIR path
    (just for consistency) — alex@thinkpad / bitbucket
  36. 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
  37. 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
  38. 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
  39. Makefile: monitor wifi connection when using WIFI_SD=y
    (experimental, helps troubleshooting connectivity issues) — alex@thinkpad / bitbucket
  40. Makefile: minor refactors for WIFI_SD (coding style)
    also fixed a typo — alex@thinkpad / bitbucket
  41. Modules: better error handling for missing rst2html
    http://www.magiclantern.fm/forum/index.php?topic=17099 — alex@thinkpad / bitbucket
  42. 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
  43. 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
  44. Makefile: do not print toolchain info on recursive calls — alex@thinkpad / bitbucket
  45. 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
  46. 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
  47. Makefile: fix module_strings dependency rule
    (previously, there was an error with make -j) — alex@thinkpad / bitbucket
  48. 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
  49. 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
  50. Merged makefile-updates into lua_fix — alex@thinkpad / bitbucket
  51. Makefile: fix running from other directory
    e.g. from qemu: make -C ../magic-lantern/ 500D_install_qemu — alex@thinkpad / bitbucket
  52. Makefile: model-specific install targets for the root directory
    examples: make 500D_install; make 500D_install_qemu — alex@thinkpad / bitbucket
  53. 7D: fix compiling with FEATURE_VIDEO_HACKS — alex@thinkpad / bitbucket
  54. Makefile: fix building 7D_MASTER — alex@thinkpad / bitbucket
  55. Makefile: minor cleanups from 0b9b550 — alex@thinkpad / bitbucket
  56. Makefile: always define CONFIG_$(MODEL)_$(FW_VERSION)
    e.g. CONFIG_5D3_113, CONIFG_7D_203 and so on — alex@thinkpad / bitbucket
  57. Makefile: fix for GNU make 3.8.1
    (thanks g3gg0) — alex@thinkpad / bitbucket
  58. Makefile: fix newline issue with WIFI_SD=y — alex@thinkpad / bitbucket
  59. Makefile: fix Mac issue (undefine not supported)
    http://www.magiclantern.fm/forum/index.php?topic=2864.msg192847#msg192847 — alex@thinkpad / bitbucket
  60. fixed late evaluation issue in rule builder — g3gg0 / bitbucket
  61. Makefile.platform.map: fix indentation — alex@thinkpad / bitbucket
  62. fixed late evaluation issue in rule builder — g3gg0 / bitbucket
  63. Merged new-dryos-task-hooks into lua_fix — alex@thinkpad / bitbucket
  64. 550D, 600D: reserve 576K for ML
    (640 is a bit too much, 512 is too tight) — alex@thinkpad / bitbucket
  65. Merged makefile-updates into lua_fix — alex@thinkpad / bitbucket
  66. Makefile: rules for "make install_qemu"
    (to use them, qemu has to be installed first) — alex@thinkpad / bitbucket
  67. Lua: initial sketch for camera.gui (Canon GUI modes)
    Moved display.idle to camera.gui.idle; removed camera.state — alex@thinkpad / bitbucket
  68. gui-common: exit_menu_mode; minor fix in exit_play_qr_mode — alex@thinkpad / bitbucket
  69. gui-common: enter_menu_mode — alex@thinkpad / bitbucket
  70. Moved enter_play_mode, exit_play_qr_mode and PLAY/MENU status helpers to gui-common — alex@thinkpad / bitbucket
  71. Lua: lv.vidmode (current video mode, as string)
    API tests included — alex@thinkpad / bitbucket
  72. get_video_mode_name: handle paused LiveView mode (PAUSED-LV) and regular photo mode outside LiveView (PH-NOLV) — alex@thinkpad / bitbucket
  73. Lua: lv.overlays (status of Canon/ML overlays in LiveView)
    API test included — alex@thinkpad / bitbucket
  74. Lua: console.visible (status)
    API tests updated — alex@thinkpad / bitbucket
  75. Lua: lens.autofocusing (status)
    API test included (requires user to start autofocusing, as lens.autofocus() blocks until finished) — alex@thinkpad / bitbucket
  76. lua_key.c: fix warning — alex@thinkpad / bitbucket
  77. Lua: fix led_blink, issue #2808 — alex@thinkpad / bitbucket
  78. Merged unified into lua_fix — alex@thinkpad / bitbucket
  79. Makefile: with WIFI_SD=y, ping the card until it comes online (useful for router connections) — alex@thinkpad / bitbucket
  80. Makefile: portable way to get number of processors — alex@thinkpad / bitbucket
  81. further makefile cleanup, added make check to show which models were built and their memory usage — g3gg0 / bitbucket
  82. fix 'all' target for models — g3gg0 / bitbucket
  83. disable ASSERT for 7D_MASTER — g3gg0 / bitbucket
  84. removed explicit make executable definition. allows to run e.g. 'remake' to debug make rules — g3gg0 / bitbucket
  85. reworked model make rules to support different firmware versions for a model [to be thoroughly tested] — g3gg0 / bitbucket
  86. disable ASSERT for 7D_MASTER — g3gg0 / bitbucket
  87. Feature matrix: updated links — alex@thinkpad / bitbucket
  88. 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
  89. Added 6D.116 to sf_dump module. — Daniel Fort <dan@digiola.com> / bitbucket
  90. Merged in daniel_fort/magic-lantern/unified-600D-audio_meters_fix (pull request #877)

    600D audio meters fix — Alex <broscutamaker@gmail.com> / bitbucket
  91. 600D also needs Audio IC turned on at boot. — Daniel Fort <dan@digiola.com> / bitbucket
  92. Makefile: also print CONFIG overrides from command-line
    (alongside the ones from Makefile.user) — alex@thinkpad / bitbucket
  93. Makefile: print tips for using make -j
    (how to set it by default in Makefiles?) — alex@thinkpad / bitbucket
  94. Makefile: silence warning about CONFIG_SITE
    (some recent Linux distros use it) — alex@thinkpad / bitbucket
  95. Makefile: portable way to get libgcc.a's path — alex@thinkpad / bitbucket
  96. Makefile: removed old dropbox target — alex@thinkpad / bitbucket
  97. Makefile: print build info after "make zip"; skip EXIDX line — alex@thinkpad / bitbucket
  98. Makefile: fix CONFIG_CCACHE — alex@thinkpad / bitbucket
  99. 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
  100. Task hooks: fix task overriding on very old DryOS models
    (to be tested on all camera models) — alex@thinkpad / bitbucket
  101. Makefile: if no valid ARM GCC is found in PATH, try to find one in the home directory — alex@thinkpad / bitbucket
  102. 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
  103. Merged unified into new-dryos-task-hooks — alex@thinkpad / bitbucket
  104. Makefile: fix compiling tcc — alex@thinkpad / bitbucket
  105. Makefile: moved toolchain setup to Makefile.setup
    (this allows toolchain to be overridden from Makefile.user) — alex@thinkpad / bitbucket
  106. Makefile: fixes to allow compiling ML with Linaro arm-eabi-gcc; updated toolchain recommendations — alex@thinkpad / bitbucket
  107. Makefile: updated toolchain recommendation; minor edits — alex@thinkpad / bitbucket
  108. 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
  109. Makefile: use gcc 5.4.1 by default (current version from https://launchpad.net/gcc-arm-embedded ) — alex@thinkpad / bitbucket
  110. selftest: save the stub test log in ML/LOGS — alex@thinkpad / bitbucket
  111. selftest: include the stub test summary in the log file — alex@thinkpad / bitbucket
  112. sokoban.lua: save current level in the config file
    (simple script using the "config" library) — alex@thinkpad / bitbucket
  113. sokoban.lua: refactored the main loop; fixed missing "you win" message — alex@thinkpad / bitbucket
  114. 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
  115. Lua: minor error handling cleanup (simplified logic) — alex@thinkpad / bitbucket
  116. config.lua fixes — David Milligan <david.l.milligan@gmail.com> / bitbucket
  117. console: fix displayed size when console has many empty lines — alex@thinkpad / bitbucket
  118. Lua: clear console when starting a script from menu — alex@thinkpad / bitbucket
  119. Lua: refactored iterations through lua_script list
    (use a getter for lua_State -> lua_script mapping whenever possible) — alex@thinkpad / bitbucket
  120. Lua: use a message queue for key.wait()
    (fixes missed key presses caused by race conditios, including quick press/release) — alex@thinkpad / bitbucket
  121. Lua: moved script semaphores into struct lua_script (refactor) — alex@thinkpad / bitbucket
  122. 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
  123. Lua: disable powersave for simple scripts — alex@thinkpad / bitbucket

#59 (Oct 28, 2017 1:05:25 AM)

  1. mlv_lite: fix white level handling (underexposed playback for 8..12-bit lossless MLVs)
    http://www.magiclantern.fm/forum/index.php?topic=16040.msg191909#msg191909 — alex@thinkpad / bitbucket
  2. Ghost image: fix crash (issues #2796, #2783) — alex@thinkpad / bitbucket

#58 (Oct 16, 2017 10:22:33 PM)

  1. mlv_lite: fix 8..12-bit lossless in 720p on small cameras
    http://www.magiclantern.fm/forum/index.php?topic=7473.msg191665#msg191665 — alex@thinkpad / bitbucket
  2. mlv_lite: ignore compression errors during standby
    (fixes some spurious warnings with slower video modes) — alex@thinkpad / bitbucket
  3. crop_rec: fine-tuned status bar indicator
    (always show current pixel binning mode) — alex@thinkpad / bitbucket
  4. crop_rec: fix FPS in full-res LV when Canon menu is set to 720p (minor) — alex@thinkpad / bitbucket
  5. crop_rec: only override FPS timers if the old value is the expected one
    (fixes some black LiveView issues when switching video modes) — alex@thinkpad / bitbucket
  6. Merged in daniel_fort/magic-lantern/crop_rec_4k-raw.c_consolidation (pull request #874)

    Consolidated offsets for EOSM, 100D, 650D and 700D. — Alex <broscutamaker@gmail.com> / bitbucket
  7. Consolidated offsets for EOSM, 100D, 650D and 700D. — Daniel Fort <dan@digiola.com> / bitbucket
  8. Merged in daniel_fort/magic-lantern/crop_rec_4k_650D_experimental (pull request #872)

    crop_rec_4k for 650D.104

    Approved-by: Alex <broscutamaker@gmail.com> — Alex <broscutamaker@gmail.com> / bitbucket
  9. The cameras that only use the basic 3x3_1X option shouldn't use calc_skip_offsets/raw_set_geometry. Note that I tried "if (!is_basic)" but it didn't work for the EOSM. — Daniel Fort <dan@digiola.com> / bitbucket
  10. Consolidated cameras that only do 3x3_1X crop_rec into a "basic" group that shares much of the same code. — Daniel Fort <dan@digiola.com> / bitbucket
  11. Changes needed for 650D to work in the crop_rec_4k branch. — Daniel Fort <dan@digiola.com> / bitbucket
  12. 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

#56 (Oct 10, 2017 11:51:54 PM)

  1. mlv_lite: fix roundoff error when centering the recorded image in raw buffer's active area — alex@thinkpad.localdomain / bitbucket
  2. Merged in daniel_fort/magic-lantern/crop_rec_4k_mlv_snd_audio_issue (pull request #871)

    Fix for SoundDevShutDownIn and StopASIFDMAADC stubs

    Approved-by: Daniel Fort <dan@digiola.com>
    Approved-by: nikfreak <mlnikfreak@gmail.com> — Alex <broscutamaker@gmail.com> / bitbucket
  3. StopASIFDMAADC causes issues with mlv_snd module. On the 7D the audio meters don't function properly and on the 5D.123 it will crash the camera. — Daniel Fort <dan@digiola.com> / bitbucket
  4. No camera found that requires SoundDevShutDownIn to stop the audio. — Daniel Fort <dan@digiola.com> / bitbucket
  5. Merged unified to bring in the changes already done on the 650D and 700D. — Daniel Fort <dan@digiola.com> / bitbucket
  6. Merged in daniel_fort/magic-lantern/unified_650D_audio_meters_fix (pull request #870)

    650D audio meters fix — Alex <broscutamaker@gmail.com> / bitbucket
  7. 650D has the same audio meters issue as the 700D -- needs the same fix. — Daniel Fort <dan@digiola.com> / bitbucket
  8. 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
  9. Audio meters stop functioning after recording the first clip when using mlv_snd. Easy fix suggested by a1ex. — Daniel Fort <dan@digiola.com> / bitbucket

#55 (Oct 9, 2017 2:29:34 AM)

  1. 100D: white level needs to be a litle lower to avoid pink highlights — alex@thinkpad / bitbucket
  2. Raw backend: allow non-harsh clipping for white level
    (should fix clip warnings at long exposures with high ISOs, e.g. 30" ISO 6400) — alex@thinkpad / bitbucket

#54 (Oct 7, 2017 12:55:37 AM)

  1. mlv_lite: misc cleanups related to bit depth setup — alex@thinkpad / bitbucket
  2. mlv_lite: slow preview no longer needed with 8..12-bit lossless compression — alex@thinkpad / bitbucket
  3. Raw backend: fix LiveView darkening when using digital gain for lossless compression — alex@thinkpad / bitbucket
  4. Display gain in movie mode working on DIGIC 5! (tested on 5D3)
    Image fine-tuning -> ML Digital ISO now goes up to 7 stops :) — alex@thinkpad / bitbucket
  5. 100D: fix white level in 8..12-bit lossless modes — alex@thinkpad / bitbucket

#53 (Oct 2, 2017 3:23:08 PM)

  1. Merged 100D_merge_fw101 into crop_rec_4k — alex@thinkpad / bitbucket
  2. 100D: minor typo — alex@thinkpad / bitbucket
  3. Merged new-dryos-task-hooks into 100D_merge_fw101 — alex@thinkpad / bitbucket
  4. 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
  5. 100D: fix MAX_ISO_BV — nikfreak <mlnikfreak@gmail.com> / bitbucket
  6. Merged in daniel_fort/magic-lantern/crop_rec_4k_audio_meters_EOSM (pull request #868)

    EOSM audio meters fix

    Approved-by: Daniel Fort <dan@digiola.com> — Alex <broscutamaker@gmail.com> / bitbucket
  7. Issue similar to 700D but StopASIFDMAADC is still needed on the EOSM. — Daniel Fort <dan@digiola.com> / bitbucket
  8. Merged unified into 100D_merge_fw101 — alex@thinkpad / bitbucket
  9. Merged in nikfreak/magic-lantern/100D_merge_fw101 (pull request #867)

    100D merge fw101 update — Alex <broscutamaker@gmail.com> / bitbucket
  10. 100D: AbortEDmac stub — nikfreak <mlnikfreak@gmail.com> / bitbucket
  11. 100D: fix ADTG/CMOS_WRITE_FUNC — nikfreak <mlnikfreak@gmail.com> / bitbucket
  12. 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

#52 (Sep 28, 2017 8:49:17 PM)

  1. mlv_dump: handle MLVI writing only once — g3gg0 / bitbucket

#51 (Sep 28, 2017 8:38:15 PM)

  1. mlv_dump: allow x64 builds on WSL, fix module_strings.h dependency — g3gg0 / bitbucket
  2. mlv_dump: part 1 of a bigger rework. currently breaks metadata mode. reduces huge amounts of redundant code, improves maintainability — g3gg0 / bitbucket

#50 (Sep 27, 2017 11:46:15 PM)

  1. mlv_snd: experiment for 6D, EOSM, 100D, 70D - "will the real SoundDevShutDownIn please stand up?"
    http://www.magiclantern.fm/forum/index.php?topic=20597 — alex@thinkpad / bitbucket
  2. Added crop_rec 3x3 720p
    Thanks Nikfreak :) — dannephoto <dudek53@gmail.com> / bitbucket
  3. Merged in Dannephoto/magic-lantern/crop_rec_4k_EOS100D_lossless (pull request #864)

    Crop rec 4k EOS100D lossless

    * Lossless recording working for eos 100D. Tested. Also added latest audio fix stub from Nikfreak.
        Big thanks to dfort for disassembly files and pointers.

    * Consistency fix. — Alex <broscutamaker@gmail.com> / bitbucket
  4. Histogram: use only the last bin for clipping warnings - sorry CineStyle users :) — alex@thinkpad / bitbucket
  5. Raw backend: histogram-based white level detection (experimental) — alex@thinkpad / bitbucket

#49 (Sep 26, 2017 1:32:12 AM)

  1. Raw backend: start autodetecting white level from Canon's estimation, instead of our own initial guess
    - it appears to underestimate the true value consistently, by up to 0.38 EV - to be tested with raw_diag
    - also needs testing on models other than 5D3 (check the console after taking a CR2 picture with raw overlays, at different ISOs — alex@thinkpad / bitbucket
  2. Raw backend: attempt to fix false clip warnings with non-overexposed ETTR'd images
    experimental, might break with dual_iso or iso_regs (to be tested)
    http://www.magiclantern.fm/forum/index.php?topic=20579.msg190330#msg190330 — alex@thinkpad / bitbucket
  3. mlv_lite: reworded Rec trigger menu, hopefully in a less confusing way — alex@thinkpad / bitbucket

#48 (Sep 24, 2017 4:56:54 AM)

  1. mlv_dump: mask out uneven vertical resolutions — g3gg0 / bitbucket

#47 (Sep 14, 2017 8:57:44 PM)

  1. lossless: cleaned up EDMAC connections on 5D3
    (todo: find out why ResLock 0x30001 used to lock up the camera) — alex@thinkpad / bitbucket
  2. lossless: use EDMAC R/W channels from edmac-memcpy on all models
    (to be tested) — alex@thinkpad / bitbucket
  3. lossless compression working on 700D.115 — Daniel Fort <dan@digiola.com> / bitbucket
  4. crop_rec works on 700D.115 — Daniel Fort <dan@digiola.com> / bitbucket
  5. Merged unified into crop_rec_4k — alex@thinkpad / bitbucket
  6. Merged 70D_merge_112 into crop_rec_4k — alex@thinkpad / bitbucket
  7. installer: fix compilation — alex@thinkpad / bitbucket
  8. Merged in daniel_fort/magic-lantern/update-to-700D.115 (pull request #813)

    Update to 700D.115 — alex@thinkpad / bitbucket
  9. 700D: fix AbortEDmac — alex@thinkpad / bitbucket
  10. Dummy merge with dfort's unified — alex@thinkpad / bitbucket
  11. 700D, 6D, 7D: fix AbortEDmac — alex@thinkpad / bitbucket
  12. 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
  13. Update sf_dump module to 700D.115 — Daniel Fort <dan@digiola.com> / bitbucket
  14. Fixed is_taskid_valid stub. — Daniel Fort <dan@digiola.com> / bitbucket
  15. Merged unified into update-to-700D.115 — Daniel Fort <dan@digiola.com> / bitbucket
  16. Added minimal autoexec.bin for 700D — Daniel Fort <dan@digiola.com> / bitbucket
  17. Merged unified into update-to-700D.115 — Daniel Fort <dan@digiola.com> / bitbucket
  18. Merged unified into update-to-700D.115 — Daniel Fort <dan@digiola.com> / bitbucket
  19. Incorporated pull request #842 to fix Autoexposure module — Daniel Fort <dan@digiola.com> / bitbucket
  20. Merged hudson/unified into unified to prevent new remote heads. — Daniel Fort <dan@digiola.com> / bitbucket
  21. Update to latest exiftool — Daniel Fort <dan@digiola.com> / bitbucket
  22. Merged unified into update-to-700D.115 — Daniel Fort <dan@digiola.com> / bitbucket
  23. Resolve conflicts with changes to Task info in stubs.S — Daniel Fort <dan@digiola.com> / bitbucket
  24. Merged unified into update-to-700D.115 — Daniel Fort <dan@digiola.com> / bitbucket
  25. Added new ML-SETUP.FIR created by a1ex — Daniel Fort <dan@digiola.com> / bitbucket
  26. update to firmware revision 700D.115 — Daniel Fort <dan@digiola.com> / bitbucket
  27. hg rename 700D.114 700D.115 — Daniel Fort <dan@digiola.com> / bitbucket
  28. Merged in daniel_fort/magic-lantern/unified_silent_module_fix (pull request #854)

    modify silent.c to work with commit f404e5f — alex@thinkpad / bitbucket
  29. TCC Makefile: fix minor typo — alex@thinkpad / bitbucket
  30. silent.c: there are no info bars in paused LiveView mode — alex@thinkpad / bitbucket
  31. 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
  32. 70D: fix ARMLIB_OVERFLOWING_BUFFER
    (caught by bfa1b22) — alex@thinkpad / bitbucket
  33. 70D: fix task hooks
    (new-style DryOS must not have HIJACK_TASK_ADDR) — alex@thinkpad / bitbucket
  34. add 70D stubs for sf_dump module — nikfreak <mlnikfreak@gmail.com> / bitbucket
  35. 70D: enabled CONFIG_TSKMON — alex@thinkpad / bitbucket
  36. 70D: use the correct task_dispatch_hook — alex@thinkpad / bitbucket
  37. 70D: enabled CONFIG_ALLOCATE_MEMORY_POOL and classic boot process (similar to 6D, reserved 592K at the beginning of AllocateMemory pool) — alex@thinkpad / bitbucket
  38. Merged patchmgr into 70D_merge_fw112 — alex@thinkpad / bitbucket
  39. reloc: allow up to 16 fixups; fix stop condition — alex@thinkpad / bitbucket
  40. reloc: handle PC-relative add (ADR)
    (also updated sign handling in LDR, for consistency) — alex@thinkpad / bitbucket
  41. patchmgr: fix bad merge in reloc.c (52b733594b2e) — alex@thinkpad / bitbucket
  42. Merged new-dryos-task-hooks into 70D_merge_112 — alex@thinkpad / bitbucket
  43. mlv_dump: play safe after freeing buffers - set variables NULL and soothe static analyzers — g3gg0 / bitbucket
  44. mlv_dump: fix crash situation when averaging as active in dng output mode — g3gg0 / bitbucket
  45. Merged 100D_merge_101 into crop_rec_4k
    (used DEFAULT_RAW_BUFFER_SIZE and SRM_BUFFER_SIZE from 700D; not sure if correct) — alex@thinkpad / bitbucket
  46. Merged qemu into crop_rec_4k — alex@thinkpad / bitbucket
  47. Merged unified into 100D_merge_fw101 — alex@thinkpad / bitbucket
  48. mlv_lite: fix typo (70D) — alex@thinkpad / bitbucket
  49. edmac-memcpy: fix compilation
    (does the 70D really need EDMAC write channel 1?) — alex@thinkpad / bitbucket
  50. 70D: enabled CONFIG_EDMAC_RAW_SLURP — alex@thinkpad / bitbucket
  51. adtg_gui.mo: fix 100D (tested, confirmed working) — nikfreak <mlnikfreak@gmail.com> / bitbucket
  52. fix wrong stub (thx @dfort for the note) — nikfreak <mlnikfreak@gmail.com> / bitbucket
  53. manual focus: allow moving focus box — nikfreak <mlnikfreak@gmail.com> / bitbucket
  54. QEMU tests: very basic Dry-shell test — alex@thinkpad / bitbucket
  55. QEMU: experimental UART support in main firmware
    (Dry-shell working on all DIGIC 4 and 5 models) — alex@thinkpad / bitbucket
  56. QEMU: option to highlight certain MMIO registers
    (requires editing the source code) — alex@thinkpad / bitbucket
  57. 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
  58. QEMU: require verbose (e.g. -d io,int,verbose) to show DryOS timer interrupts and DIGIC timer — alex@thinkpad / bitbucket
  59. QEMU: incomplete 5D3 1.2.3 GUI (boots with black screen, no menus) — alex@thinkpad / bitbucket
  60. QEMU logging: option to identify tail function calls (heuristic) — alex@thinkpad / bitbucket
  61. QEMU tests: trimming should work now — alex@thinkpad / bitbucket
  62. 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
  63. QEMU tests: call/return trace tests first
    (they are more likely to fail or require frequent updates) — alex@thinkpad / bitbucket
  64. QEMU tests: include interrupts in main firmware call/return test
    (this allows counting related stats from the filtered log - smaller) — alex@thinkpad / bitbucket
  65. QEMU tests: use ansi2txt only once in the main firmware call/return test (speed optimization) — alex@thinkpad / bitbucket
  66. QEMU tests: IDC needs trimming as well in order to get deterministic results — alex@thinkpad / bitbucket
  67. 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
  68. QEMU tests: 5D2 IDC test not deterministic (functions are the same, but comments are not) — alex@thinkpad / bitbucket
  69. QEMU: do not use non-printable task names
    (VxWorks: current_task is set before it has a valid name) — alex@thinkpad / bitbucket
  70. 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
  71. QEMU tests: let's try a larger timeout; minor fine-tunings — alex@thinkpad / bitbucket
  72. 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
  73. 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
  74. remove_end_loop.py: minor fixes — alex@thinkpad / bitbucket
  75. Moved my_fprintf to fio-ml.c (fixes compilation of minimal/qemu-frsp) — alex@thinkpad / bitbucket
  76. QEMU logging: always name DebugMsg, even if no symbols are loaded — alex@thinkpad / bitbucket
  77. QEMU logging: fix loading symbol names on Thumb code — alex@thinkpad / bitbucket
  78. QEMU: fix off by one error when loading ML stub names — alex@thinkpad / bitbucket
  79. boot-hack: check whether we can reach anything in the ROM with relative jumps — alex@thinkpad / bitbucket
  80. boot-hack: self-check for ARMLIB_OVERFLOWING_BUFFER — alex@thinkpad / bitbucket
  81. 100D: enabled CONFIG_TSKMON — alex@thinkpad / bitbucket
  82. 100D: fix task_dispatch_hook — alex@thinkpad / bitbucket
  83. 100D: enabled CONFIG_ALLOCATE_MEMORY_POOL and classic boot process
    (similar to 6D, reserved 592K at the beginning of AllocateMemory pool) — alex@thinkpad / bitbucket
  84. Merged new-dryos-task-hooks into 100D_merge_fw101
    (note: 100D will not boot until fixing memory allocation) — alex@thinkpad / bitbucket
  85. 6D: 592K reserved at the beginning of AllocateMemory (simpler code) — alex@thinkpad / bitbucket
  86. 100D: enabled CONFIG_EDMAC_RAW_SLURP — alex@thinkpad / bitbucket
  87. Merged qemu into new-dryos-task-hooks — alex@thinkpad / bitbucket
  88. Merged unified into new-dryos-task-hooks — alex@thinkpad / bitbucket
  89. boot-hack: fix wrong comments (AllocateMemory != system memory) — alex@thinkpad / bitbucket
  90. sync FIO stub changes introduced in unified — nikfreak <mlnikfreak@gmail.com> / bitbucket
  91. Merged hudson/magic-lantern/unified into 100D_merge_fw101 — nikfreak <mlnikfreak@gmail.com> / bitbucket
  92. fix suggested by a1ex for http://www.magiclantern.fm/forum/index.php?topic=16040.msg187050#msg187050 — nikfreak <mlnikfreak@gmail.com> / bitbucket
  93. 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
  94. 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
  95. adjust movie related consts — nikfreak <mlnikfreak@gmail.com> / bitbucket
  96. Merged hudson/magic-lantern/unified into 100D_merge_fw101 — nikfreak <mlnikfreak@gmail.com> / bitbucket
  97. remove custom symbol file handling
    (leftover from fw revisioning 100D_100A/100B) — nikfreak <mlnikfreak@gmail.com> / bitbucket
  98. fix curent_interrupt stub (thx @a1ex) — nikfreak <mlnikfreak@gmail.com> / bitbucket
  99. add missing task related stubs — nikfreak <mlnikfreak@gmail.com> / bitbucket
  100. Backout changeset 1914eafc755cad2f2ebb17a4bde35949deb5eacf — nikfreak <mlnikfreak@gmail.com> / bitbucket
  101. fix wrong stub, as suggested
    http://www.magiclantern.fm/forum/index.php?topic=16040.msg179165#msg179165 — nikfreak <mlnikfreak@gmail.com> / bitbucket
  102. flexinfo refinement (switch back to COLOR_FG_NONLV) — nikfreak <mlnikfreak@gmail.com> / bitbucket
  103. adopt celsius display and apply color related adjustments — nikfreak <mlnikfreak@gmail.com> / bitbucket
  104. use INFO button to disable ML during boot — nikfreak <mlnikfreak@gmail.com> / bitbucket
  105. fix indentation — nikfreak <mlnikfreak@gmail.com> / bitbucket
  106. Merge unified — nikfreak <mlnikfreak@gmail.com> / bitbucket
  107. prepare for edmac_raw_slurp — mlnikfreak@gmail.com <mlnikreak@gmail.com> / bitbucket
  108. Merge unified — mlnikfreak@gmail.com <mlnikreak@gmail.com> / bitbucket
  109. Merged unified into 100D_merge_fw101 — nikfreak <mlnikfreak@gmail.com> / bitbucket
  110. trying to fix the version numbering for the last time ;D
    must have been sleeping — mlnikfreak@gmail.com <mlnikreak@gmail.com> / bitbucket
  111. fix faulty version numberings — mlnikfreak@gmail.com <mlnikreak@gmail.com> / bitbucket
  112. cleanup part2 — mlnikfreak@gmail.com <mlnikreak@gmail.com> / bitbucket
  113. cleanup part1 — mlnikfreak@gmail.com <mlnikreak@gmail.com> / bitbucket
  114. initial ML port for FW1.0.1 -> getting rid of revision handling — nikfreak <mlnikreak@gmail.com> / bitbucket
  115. Created new branch 100D_merge_fw101 — nikfreak <mlnikfreak@gmail.com> / bitbucket
  116. Merged backtrace into qemu — alex@thinkpad / bitbucket
  117. GDB scripts: comment out DebugMsg (prefer -d debugmsg instead) — alex@thinkpad / bitbucket
  118. run_canon_fw.sh: identify DebugMsg from GDB script if not set
    (moved from run_tests.sh)
    also print command-line after clearing the screen — alex@thinkpad / bitbucket
  119. QEMU: GDB scripts for 50D and 6D — alex@thinkpad / bitbucket
  120. backtrace: moved sources to src/ to avoid symlinking (cross-platform issues)
    and let the install script figure it out — alex@thinkpad / bitbucket
  121. Merged backtrace into qemu — alex@thinkpad / bitbucket
  122. Merged unified into qemu — alex@thinkpad / bitbucket
  123. backtrace: brute force stack scanning as backup strategy (idea from g3gg0: gdb.c, gdb_get_callstack) — alex@thinkpad / bitbucket
  124. backtrace: fix BKT_RANDOM_BRANCHES experiment — alex@thinkpad / bitbucket
  125. backtrace: BX LR is never encountered during tests — alex@thinkpad / bitbucket
  126. backtrace: fix stack overflow — alex@thinkpad / bitbucket
  127. run_ml_all_cams: fix missing quote — alex@thinkpad / bitbucket
  128. QEMU logging: backtrace test script — alex@thinkpad / bitbucket
  129. run_ml_all_cams: prefer single quotes instead of \$ for options — alex@thinkpad / bitbucket
  130. run_ml_all_cams: allow full customization of log file name — alex@thinkpad / bitbucket
  131. Stack traces for crash and assert logs, using the backtrace backend — alex@thinkpad / bitbucket
  132. Updated backtrace.c to work on the camera as well
    (same source file for both QEMU and ML) — alex@thinkpad / bitbucket
  133. arm-mcr.h: fixed read_lr (not sure what the problem was) and added read_sp — Alex / bitbucket
  134. QEMU logging: experimental stack trace routine (backtrace) that does not require prior instrumentation
    it attempts to walk the stack, emulating instructions that change LR, SP, function returns and tail calls
    some more experiments and self-tests are available as compile-time options
    this method can be adapted to run on the camera as well — alex@thinkpad / bitbucket
  135. run_ml_all_cams: fix copying zip to SD/CF image — alex@thinkpad / bitbucket
  136. QEMU logging: fix assertion when printing callstack from interrupts on Thumb code — alex@thinkpad / bitbucket
  137. QEMU logging: save/restore callstack exec state for each DryOS task when handling interrupts
    This fixes calls/returns that were missed if an interrupt happened exactly before the jump
    (non-deterministic issue; was fairly rare and not obvious) — alex@thinkpad / bitbucket
  138. QEMU logging: indent now public (eos_indent); larger buffer — alex@thinkpad / bitbucket
  139. QEMU logging: CALL_LOCATION for eos_callstack_get_caller_param; fix CALL_DEPTH — alex@thinkpad / bitbucket
  140. QEMU logging: overriding LR no longer needed in call_stack_push — alex@thinkpad / bitbucket
  141. run_ml_all_cams: fix copying zip to SD/CF image — alex@thinkpad / bitbucket
  142. QEMU logging: do not report jumps from tight loops
    otherwise, some loops would print a huge amount of jumps (unnecessary)
    these would slow down certain tests a lot, e.g. 5D3 callstack on fromutility — alex@thinkpad / bitbucket
  143. QEMU logging: record direct jumps to function calls (many such calls in DIGIC 6) — alex@thinkpad / bitbucket
  144. QEMU logging: log task switches before other items
    otherwise, consistency errors may appear - see test_callstack.py
    minor differences in VxWorks tests — alex@thinkpad / bitbucket
  145. QEMU: ignore CBZ (on Thumb-2 code) — alex@thinkpad / bitbucket
  146. run_ml_all_cams: use multi-line QEMU_SCRIPT's (nicer formatting) — alex@thinkpad / bitbucket
  147. run_ml_all_cams: fix BOOT=0 — alex@thinkpad / bitbucket
  148. run_ml_all_cams: fix ML_PLATFORMS when not specified — alex@thinkpad / bitbucket
  149. QEMU: 650D GUI — alex@thinkpad / bitbucket
  150. QEMU: 650D GUI (including tests) — alex@thinkpad / bitbucket
  151. QEMU: 1300D updates
    - SD interrupts (DCIM test passed)
    - HDMI status (minor)
    - GDB script updated for latest firmware
    - patch JPCORE (fixes assert) — alex@thinkpad / bitbucket
  152. QEMU tests: removed MENU_CAMS (all GUI_CAMS are now able to browse Canon menu) — alex@thinkpad / bitbucket
  153. QEMU: 70D menu tests (format test not working) — alex@thinkpad / bitbucket
  154. QEMU tests: only print ROMCPY messages before the first interrupt — alex@thinkpad / bitbucket
  155. QEMU: options for run_ml_all_cams.sh to compile and run a given set of ML platforms, from any HG changeset — alex@thinkpad / bitbucket
  156. QEMU: updated splitgdb.sh as discussed on EOS M2 thread
    http://www.magiclantern.fm/forum/index.php?topic=15895.msg186245#msg186245 — alex@thinkpad / bitbucket
  157. QEMU: flush after qprintn, so the output will appear right away — alex@thinkpad / bitbucket
  158. QEMU logging: handle %c with -debugmsg — alex@thinkpad / bitbucket
  159. QEMU logging: minor fixes for -d autoexec — alex@thinkpad / bitbucket
  160. QEMU: updated 5D4 GDB script and tests for 1.0.4 — alex@thinkpad / bitbucket
  161. QEMU logging: workaround to handle some missing return from interrupts
    (updated 600D and 1100D unique function tests - they differ by one function) — alex@thinkpad / bitbucket
  162. QEMU: EOS M2 tests + patches.gdb — alex@thinkpad / bitbucket
  163. QEMU: OOB fix from https://lists.gnu.org/archive/html/qemu-devel/2017-07/msg03239.html — alex@thinkpad / bitbucket
  164. Merged in daniel_fort/magic-lantern/qemu-EOSM2-wip_1 (pull request #835)

    QEMU EOSM2 preliminary setup. — Alex <broscutamaker@gmail.com> / bitbucket
  165. Updates to debugmsg.gdb — Daniel Fort <dan@digiola.com> / bitbucket
  166. Found correct values by checking against 1.0.2 firmware. — Daniel Fort <dan@digiola.com> / bitbucket
  167. I’m pretty sure “set *(int*)0xFF356DE8 = 0xe12fff1e” is wrong but everything else should be good. — Daniel Fort <dan@digiola.com> / bitbucket
  168. Added EOSM2 to mph.c — Daniel Fort <dan@digiola.com> / bitbucket
  169. Updated EOSM2 debugmsg.gdb file. — Daniel Fort <dan@digiola.com> / bitbucket
  170. Added EOSM2.h file, copied from 100D. — Daniel Fort <dan@digiola.com> / bitbucket
  171. Copied button codes from 100D to EOSM2. — Daniel Fort <dan@digiola.com> / bitbucket
  172. Added EOSM2 in supported cameras list. — Daniel Fort <dan@digiola.com> / bitbucket
  173. Added mpu registers to EOSM2 in model_list.c — Daniel Fort <dan@digiola.com> / bitbucket
  174. Merged qemu into qemu-EOSM2-wip-1 — Daniel Fort <dan@digiola.com> / bitbucket
  175. Merged latest qemu commits — Daniel Fort <dan@digiola.com> / bitbucket
  176. Merged in qemu commits — Daniel Fort <dan@digiola.com> / bitbucket
  177. Added items from ML on EOS-M2 forum post: http://www.magiclantern.fm/forum/index.php?topic=15895.msg185228#msg185228 — Daniel Fort <dan@digiola.com> / bitbucket
  178. EOSM2 preliminary setup. — Daniel Fort <dan@digiola.com> / bitbucket
  179. Merged in daniel_fort/magic-lantern/qemu-build-tweaks-2 (pull request #836)

    Qemu build tweaks 2

    Approved-by: Daniel Fort <dan@digiola.com> — Alex <broscutamaker@gmail.com> / bitbucket
  180. -s option not needed with uname. — Daniel Fort <dan@digiola.com> / bitbucket
  181. Check for mounted EOS_DIGITAL disk image handled differently on OS X. — Daniel Fort <dan@digiola.com> / bitbucket
  182. Merged qemu into qemu-build-tweaks-2 — Daniel Fort <dan@digiola.com> / bitbucket
  183. Merged qemu into qemu to prevent multiple heads. — Daniel Fort <dan@digiola.com> / bitbucket
  184. Changed shebang for portability. Missed these two scripts in my last pull request. — Daniel Fort <dan@digiola.com> / bitbucket
  185. OS X doesn’t require root permissions to mount disk image. — Daniel Fort <dan@digiola.com> / bitbucket
  186. Use hdiutil on OS X systems. — Daniel Fort <dan@digiola.com> / bitbucket
  187. Merged in daniel_fort/magic-lantern/qemu-build-tweaks-1 (pull request #834) — Daniel Fort <dan@digiola.com> / bitbucket
  188. 70D: current_task and current_interrupt stubs — alex@thinkpad / bitbucket
  189. Merged unified into 70D_merge_fw112 — alex@thinkpad / bitbucket
  190. Merged unified into 70D_merge_fw112 — nikfreak <mlnikfreak@gmail.com> / bitbucket
  191. allow compiling ettr module
    when FEATURE_RAW_ZEBRAS is undefined — nikfreak <mlnikfreak@gmail.com> / bitbucket
  192. cleanup part1 — mlnikfreak@gmail.com <mlnikreak@gmail.com> / bitbucket
  193. initial ML support for 70D - FW 1.1.2 — mlnikfreak@gmail.com <mlnikreak@gmail.com> / bitbucket
  194. Created new branch 70D_merge_fw112 — nikfreak <mlnikfreak@gmail.com> / bitbucket
  195. QEMU: updated reference data for sorted IDC tests on some models
    (100D, 700D, EOSM, 5D) — alex@thinkpad / bitbucket
  196. QEMU: 80D patches.gdb
    (required to run the stack trace check on a DIGIC 6 model with DryOS task switches) — alex@thinkpad / bitbucket
  197. QEMU logging: fix some rarely missed jumps
    (usually in return from interrupt) — alex@thinkpad / bitbucket
  198. QEMU logging: fix Thumb PC in call stack traces (for DIGIC 6) — alex@thinkpad / bitbucket
  199. QEMU test suite: check callstack consistency
    (whether verbose stack trace matches the call/return trace)
    (also checks context info, such as current task or interrupt) — alex@thinkpad / bitbucket
  200. QEMU: do not log UART messages when it's redirected to a file
    (-serial file:out.log) — alex@thinkpad / bitbucket
  201. QEMU: with -d calls, always align location information
    (insert a newline on very long lines)
    (updated tests) — alex@thinkpad / bitbucket
  202. QEMU: also log interrupt ID when using -d calls — alex@thinkpad / bitbucket
  203. QEMU: use verbose stack trace for DebugMsg and GDB scripts
    (each call on its own line - much more readable)
    to get callstack for every single DebugMsg, use "-d debugmsg,callstack,v"
    or, for GDB scripts: "-d callstack -s -S" for QEMU, "macro define PRINT_CALLSTACK 1" in the GDB script, without quotes) — alex@thinkpad / bitbucket
  204. QEMU: option to log DebugMsg calls natively, without GDB scripts
    (much faster; very similar to nkls' initial implementation) — alex@thinkpad / bitbucket
  205. QEMU: redirect the monitor console to qemu.monitor unix socket
    (to restore the old behavior, run with -monitor vc) — alex@thinkpad / bitbucket
  206. Merged in daniel_fort/magic-lantern/qemu-build-tweaks-1 (pull request #834)
    (fixes for building QEMU on Mac)

    QEMU build tweaks 1

    Approved-by: Daniel Fort <dan@digiola.com> — Alex <broscutamaker@gmail.com> / bitbucket
  207. Merged in latest qemu commits — Daniel Fort <dan@digiola.com> / bitbucket
  208. QEMU: parameterized MPU spells for PROP_CARDn_STATUS;
    updated WriteProtect handling on most DIGIC 4/5 models
    (otherwise, these GUIs would show the card write-protected dialog) — alex@thinkpad / bitbucket
  209. QEMU: use timestamps to decide the relationship between MPU spells
    (only messages received shortly after a mpu_send call should be considered replies) — alex@thinkpad / bitbucket
  210. QEMU: warning about duplicate MPU spells
    (they will show where the communication may depend on state) — alex@thinkpad / bitbucket
  211. QEMU: include a description for each input MPU spell
    (updated extract_init_spells.py with definitions for some known spells) — alex@thinkpad / bitbucket
  212. Suppress printing an error message if the command isn’t found. — Daniel Fort <dan@digiola.com> / bitbucket
  213. Changed shebang in bash scripts. This should make them more portable. An issue came up because the Macintosh uses an older version of bash in /bin/bash and we want to use a newer Homebrew installed version in /user/local/bin/bash without breaking other setups. — Daniel Fort <dan@digiola.com> / bitbucket
  214. QEMU: parameterized MPU spells for UILock and NotifyGUIEVent — alex@thinkpad / bitbucket
  215. QEMU: parameterized MPU spells (experimental) — alex@thinkpad / bitbucket
  216. QEMU: incomplete half-shutter emulation
    (fixme: it should  show the metering indicator or close menus/dialogs) — alex@thinkpad / bitbucket
  217. QEMU: menu navigation works on 5D3 1.1.3 — alex@thinkpad / bitbucket
  218. QEMU logging: minor cleanups — alex@thinkpad / bitbucket
  219. QEMU logging: moved ABI checking in its own routine (minor refactor) — alex@thinkpad / bitbucket
  220. QEMU logging: moved -tasks in its own routine (much faster)
    note: task switching locations differ on VxWorks models after this change
    (they are approximate anyway) — alex@thinkpad / bitbucket
  221. QEMU logging: option to enable verbosity only when autoexec.bin is loaded
    (useful for new ports; bootloader can be very verbose with certain logging settings) — alex@thinkpad / bitbucket
  222. QEMU: exposed callstack to GDB and ML guest code
    based on nkls' first implementation of DebugMsg helper
    assert in gdb scripts now always prints the call stack — alex@thinkpad / bitbucket
  223. GDB scrips: task switch logging helper (pure GDB) — alex@thinkpad / bitbucket
  224. QEMU logging: stronger test for ML stubs
    (fixes some non-function symbols that appear when compiling ML with -ggdb) — alex@thinkpad / bitbucket
  225. Experimental debug info in magiclantern elf file
    it allows mapping from code address to source line
    (example: eu-addr2line -s -S -e magiclantern 0x50d60)
    it should not end up in autoexec.bin or affect it in any way — alex@thinkpad / bitbucket
  226. QEMU logging: attempt to guess strings and named functions in call/return trace
    (adapted from dm-spy-experiments)
    (self-test results updated) — alex@thinkpad / bitbucket
  227. qemu-util now always available (in dryos.h)
    (these functions are only compiled with CONFIG_QEMU=y; otherwise they are just type-checked and optimized out) — alex@thinkpad / bitbucket
  228. boot-hack: fix boot with CONFIG_QEMU on some models
    (qprintf/vsnprintf reboots the camera because it's not yet initialized)
    also added a safeguard to prevent such mistakes — alex@thinkpad / bitbucket
  229. QEMU test suite: fix PowerShot tests using wrong debugmsg.gdb — alex@thinkpad / bitbucket
  230. QEMU logging: fix copy/paste error in ROM block autodetection — alex@thinkpad / bitbucket
  231. QEMU logging: explicit option to show task switches
    (rather than hijacking callstack) — alex@thinkpad / bitbucket
  232. QEMU test suite: list memory blocks copied from ROM during bootloader tests
    (both EOS and PowerShot firmwares) — alex@thinkpad / bitbucket
  233. QEMU logging: allow ROM block copying in arbitrary increments, up to 128-bit
    mixing memory access sizes is allowed too
    the block must be copied sequentially, from left to right or from right to left or mixed, with no gaps at any moment during the copy operation
    copying e.g. 16 bytes from/to offset 0, 16 bytes f/t 0x10, 4 bytes f/t 0x20 and 1 byte f/t 0x24 will be considered a 0x25-byte block
    but copying 16 bytes f/t offset 0, 4 bytes f/t 0x14 and then 4 bytes f/t 0x10 will be treated as 2 adjacent blocks (16 bytes and 8 bytes); that's because of the gap during the copy operation
    only blocks larger than 0x40 bytes are printed — alex@thinkpad / bitbucket
  234. QEMU logging: experimental option for finding memory blocks copied from ROM to RAM
    (only 32-bit sequential copies for now) — alex@thinkpad / bitbucket
  235. QEMU logging: fix memory logging selection in complex cases
    e.g. romr,ramw should only log ROM reads and RAM writes
    in simple cases (such as just romr or just ramw), hooks are installed only for the selected operation (read or write)
    in these cases, additional checks will be redundant
    however, with complex cases such as romr,ramw, hooks are installed for all reads and and all writes
    so we can no longer rely on the hooks (being installed or not) for filtering the results — alex@thinkpad / bitbucket
  236. QEMU logging: fix task info on Eeko — alex@thinkpad / bitbucket
  237. QEMU logging: quiet some jumps that are not function calls (frequently used on Thumb-2) — alex@thinkpad / bitbucket
  238. QEMU: fix CSS in HTML logs from subdirectories — alex@thinkpad / bitbucket
  239. QEMU scripts: allow loading symbols from any ML target (e.g. minimal, installer) — alex@thinkpad / bitbucket
  240. QEMU: .current_task_addr for most models
    (where it was already known - copied from ML stubs or from debugmsg.gdb) — alex@thinkpad / bitbucket
  241. QEMU logging: experimental task switch detection (DIGIC 2-6) — alex@thinkpad / bitbucket
  242. QEMU logging: attempt to fix a rare crash when returning from interrupt — alex@thinkpad / bitbucket
  243. QEMU logging: fix VxWorks return from interrupt; refactored interrupt detection on DIGIC 6 — alex@thinkpad / bitbucket
  244. QEMU test suite: fix call/return trace logs being trimmed way before the first interrupt
    (the deterministic part is usually much larger than previously covered) — alex@thinkpad / bitbucket
  245. QEMU test suite: also report nested interrupts — alex@thinkpad / bitbucket
  246. QEMU: fix minor regression in DIGIC 6 bootloader
    (introduced in 7f1ba92; some tests changed) — alex@thinkpad / bitbucket
  247. QEMU logging: minor rename — alex@thinkpad / bitbucket
  248. QEMU test suite: workaround for the non-determinism in the sorted IDC test
    (retry up to 5 times until it succeeds) — alex@thinkpad / bitbucket
  249. QEMU test suite: more tests for call/return trace and IDC scripts (including Thumb, interrupts, secondary cores)
    Not all models are passing. — alex@thinkpad / bitbucket
  250. QEMU: fix cache lockdown printf's (they should go to stderr) — alex@thinkpad / bitbucket
  251. QEMU: fix handling UART interrupts with serial redirected — alex@thinkpad / bitbucket
  252. QEMU: fine-tuned verbsity of various components
    (interrupts, digic timer, DMA, serial flash, CFATA) — alex@thinkpad / bitbucket
  253. QEMU logging: fix call identification on Thumb (eeko) — alex@thinkpad / bitbucket
  254. QEMU logging: fix crash on 5D3 eeko — alex@thinkpad / bitbucket
  255. QEMU: changed REG_PRINT_NUM so it no longer includes a newline; updated boot-hack and fixed regression in boot-check logs — alex@thinkpad / bitbucket
  256. QEMU: warn on ROM size mismatch — alex@thinkpad / bitbucket
  257. QEMU run_canon_fw.sh: clear screen on each run — alex@thinkpad / bitbucket
  258. QEMU logging: experimental symbol name loading from ML object files
    example (bash): . ./export_ml_syms.sh 500D.111; ./run_canon_fw.sh 500D,firmware="boot=1" ...
    fixme: QEMU elf loader patched in a not very clean way — alex@thinkpad / bitbucket
  259. QEMU logging: simplified function call detection a bit more
    (results should be unchanged) — alex@thinkpad / bitbucket
  260. QEMU logging: always guess function arguments located on the stack
    (-d calls now implies -d ramr) — alex@thinkpad / bitbucket
  261. QEMU logging: explicit option to export to IDC
    (-d idc) — alex@thinkpad / bitbucket
  262. QEMU logging: check R4-R11 and SP when returning from function calls
    (all registers now stored on the call stack) — alex@thinkpad / bitbucket
  263. QEMU logging: in IDC comments, record task name when available and drop prev_sp — alex@thinkpad / bitbucket
  264. QEMU logging: basic test for IDC (function list only)
    (useful when formatting changes) — alex@thinkpad / bitbucket
  265. QEMU test suite: nicer way to interrupt our background QEMU process — alex@thinkpad / bitbucket
  266. QEMU logging: simplified function call detection
    (results should be unchanged) — alex@thinkpad / bitbucket
  267. QEMU logging: indent callstack locations at 80 chars
    indent amount configurable at compile time
    tests updated — alex@thinkpad / bitbucket
  268. QEMU: 1300D current_task_addr — alex@thinkpad / bitbucket
  269. QEMU: initial GDB script for 1300D; display test — alex@thinkpad / bitbucket
  270. QEMU: initial support for Mac and clang in install scripts (to be tested) — alex@thinkpad / bitbucket
  271. QEMU: fix compiling with clang — alex@thinkpad / bitbucket
  272. QEMU test suite: removed basic GUI test (redundant) — alex@thinkpad / bitbucket
  273. QEMU test suite: tests for callstack and call/return trace — alex@thinkpad / bitbucket
  274. QEMU: disable gray noise that appeared until GUI initialization (faster) — alex@thinkpad / bitbucket
  275. QEMU logging: minor callstack speed optimization — alex@thinkpad / bitbucket
  276. QEMU logging: in call/return trace, print caller (from call stack) instead of raw LR — alex@thinkpad / bitbucket
  277. QEMU logging: callstack speed optimization — alex@thinkpad / bitbucket
  278. QEMU logging: fix handling nested interrupts in callstack — alex@thinkpad / bitbucket
  279. QEMU logging: initial call stack support for Thumb-2 (DIGIC 6) — alex@thinkpad / bitbucket
  280. QEMU logging: attempt to guess additional function arguments from RAM tracing
    (use -d calls,ram to enable this) — alex@thinkpad / bitbucket
  281. QEMU logging: print first 4 arguments and return value for all function calls
    (with -d calls) — alex@thinkpad / bitbucket
  282. QEMU: get stack limits of current DryOS task and print them on the call stack
    new API: eos_get_current_task_stack — alex@thinkpad / bitbucket
  283. QEMU logging: API for retrieving various parameters from the call stack
    (SP, stack frame size, call depth, function arguments)
    note: R0-R3 stored on the call stack
    API name: eos_callstack_get_caller_param — alex@thinkpad / bitbucket
  284. QEMU logging: fine-tune options; auto-enable dependencies — alex@thinkpad / bitbucket
  285. QEMU: indent memcheck and io_log messages according to call depth
    new API: eos_callstack_get_indent — alex@thinkpad / bitbucket
  286. QEMU memcheck: fix line wrapping in verbose messages about multitasked free calls
    (minor; visible with -d memchk,v) — alex@thinkpad / bitbucket
  287. QEMU logging: generic print_location; refactored memcheck to use it
    (eos_print_location) — alex@thinkpad / bitbucket
  288. QEMU logging: simple call stack printing API, used in memcheck when reporting errors
    (eos_callstack_print) — alex@thinkpad / bitbucket
  289. QEMU logging: experimental call stack reconstruction
    ideas from https://github.com/panda-re/panda/blob/master/panda/plugins/callstack_instr/USAGE.md
    fixme: requires -d calls,nochain -singlestep
    new APIs: eos_get_current_task_id, eos_callstack_indent — alex@thinkpad / bitbucket
  290. QEMU logging: refactored to split IDC and call logic — alex@thinkpad / bitbucket
  291. QEMU memcheck: split exec hook into components
    (malloc and memcpy for now; non-functional change) — alex@thinkpad / bitbucket
  292. QEMU memcheck: refactored with CPU env (easier to get register values; non-functional) — alex@thinkpad / bitbucket
  293. QEMU memcheck: refactored malloc list with a data structure (non-functional) — alex@thinkpad / bitbucket
  294. QEMU memcheck: identify blocks affected by heap errors (messages similar to valgrind) — alex@thinkpad / bitbucket
  295. QEMU memcheck: fix memcpy handling
    (do not copy allocation flags, only initialization; fix copying from ROM) — alex@thinkpad / bitbucket
  296. QEMU: AbortEDmac emulation — alex@thinkpad / bitbucket
  297. QEMU: basic model of EDMAC transfer delay — alex@thinkpad / bitbucket
  298. QEMU: gui/menu tests for 5D2 and 50D — alex@thinkpad / bitbucket
  299. QEMU: force line-buffered output for our messages — alex@thinkpad / bitbucket
  300. QEMU: a few more assertions for memcheck — alex@thinkpad / bitbucket
  301. QEMU: fix card formatting on 50D and 5D2; menu tests for 5D2 — alex@thinkpad / bitbucket
  302. QEMU: fix CURRENT_CPU outside MMIO handlers
    (defaults to cpu0; fixes CF routines crashing when used with -d memchk)
    (may need to be changed for EOS M5, when its time comes) — alex@thinkpad / bitbucket
  303. QEMU: updated 5D2 MPU spells, thanks Ilia. Menu works!
    http://www.magiclantern.fm/forum/index.php?topic=9852.msg184191#msg184191 — alex@thinkpad / bitbucket
  304. QEMU: GDB script for 5D2 — alex@thinkpad / bitbucket
  305. QEMU: 50D menu navigation tests — alex@thinkpad / bitbucket
  306. QEMU: 50D menu navigation works! — alex@thinkpad / bitbucket
  307. QEMU: 50D button codes — alex@thinkpad / bitbucket
  308. QEMU: fix 50D CFATA and HDMI; GUI boots! — alex@thinkpad / bitbucket
  309. QEMU: 50D MPU spells, thanks jrm21
    http://www.magiclantern.fm/forum/index.php?topic=9852.msg184191#msg184191 — alex@thinkpad / bitbucket
  310. QEMU: minor speed optimization in serial_flash — alex@thinkpad / bitbucket
  311. QEMU: speed up test suite
    (large delays no longer needed) — alex@thinkpad / bitbucket
  312. QEMU: CFDMA write works on 5D2 (DCIM test passed!) — alex@thinkpad / bitbucket
  313. QEMU: fix CFDMA on 5D2 (only read works) — alex@thinkpad / bitbucket
  314. QEMU: made MPU/SF/SD/CF logging macros generic (in eos.h)
    -d sdcf for logging SD/CF messages — alex@thinkpad / bitbucket
  315. QEMU: configurable resolution for digic timer — alex@thinkpad / bitbucket
  316. QEMU: updated tests for faster card formatting
    (BUSY dialog no longer caught) — alex@thinkpad / bitbucket
  317. QEMU: trigger SDIO interrupt on errors as well
    (fixes semaphore timeout after CMD1; to be tested for side effects) — alex@thinkpad / bitbucket
  318. mpu: refactored verbosity; most messages now hidden by default
    (-d mpu or -d mpu,verbose or -d io,mpu etc to show them) — alex@thinkpad / bitbucket
  319. serial_flash: refactored verbosity; most messages now hidden by default (-d sflash shows them) — alex@thinkpad / bitbucket
  320. QEMU: fix memory logging on models with serial flash — alex@thinkpad / bitbucket
  321. QEMU: minor fixes in scripts — alex@thinkpad / bitbucket
  322. QEMU memcheck: fix printf's
    (should go to stderr) — alex@thinkpad / bitbucket
  323. QEMU memcheck: get ML stubs from environment variables — alex@thinkpad / bitbucket
  324. QEMU memchk: experimental TCM checking
    (catches even more null pointer bugs) — alex@thinkpad / bitbucket
  325. QEMU memchk: moved stubs in a data structure, for easier porting — alex@thinkpad / bitbucket
  326. QEMU: highly experimental memory checking tool (-d memchk)
    (stubs hardcoded for 500D) — alex@thinkpad / bitbucket
  327. Memory logging: fine-tuned messages — alex@thinkpad / bitbucket
  328. QEMU: moved our memory logging routines to logging.c — alex@thinkpad / bitbucket
  329. QEMU: moved our calls logging hook to separate file; preparing to add more tools — alex@thinkpad / bitbucket
  330. QEMU: hook called when execution a TranslationBlock
    (todo: move the hardcoded analysis tools from cpu-exec) — alex@thinkpad / bitbucket
  331. QEMU: use 64 bits for qemu_loglevel; renumbered and defined some more options for future use — alex@thinkpad / bitbucket
  332. QEMU: output all our messages to stderr
    (should fix colors getting mixed up) — alex@thinkpad / bitbucket
  333. QEMU: use macros for ANSI colors — alex@thinkpad / bitbucket
  334. QEMU: minor fix in UILock.h
    (todo: parameterized MPU messages) — alex@thinkpad / bitbucket
  335. QEMU: compile with code coverage (gcov); helper script for lcov — alex@thinkpad / bitbucket
  336. QEMU test suite: updated portable ROM dumper link; added 1300D — alex@thinkpad / bitbucket
  337. QEMU: log DMA memory accesses as well; self-test to make sure all writes are logged
    (the test works by rebuilding a second copy of the RAM from the write trace, and comparing with QEMU's copy) — alex@thinkpad / bitbucket
  338. QEMU: experimental logging of guest memory accesses (LDR/STR, RAM or ROM)
    didn't call it "memory tracing" as it doesn't use QEMU tracing API
    removed old TRACE_MEM code — alex@thinkpad / bitbucket
  339. QEMU: fix apparently random lock-up (interrupts no longer triggering, for no apparent reason)
    (bug introduced in 24909946bb90) — alex@thinkpad / bitbucket
  340. QEMU: fix io_log crash on get_current_task_name
    (to reproduce: 450D with -d io) — alex@thinkpad / bitbucket
  341. QEMU: experimental MPU support for 1300D
    (it seems to work, to some extent, but we need a startup log from a real camera to get further) — alex@thinkpad / bitbucket
  342. QEMU: flash model ID for 1300D (fixes startup assertion) — alex@thinkpad / bitbucket
  343. QEMU: initial support for 1300D, thanks adamnock — alex@thinkpad / bitbucket
  344. QEMU: model ROM as ROM device, rather than RAM
    (writes are allowed and logged) — alex@thinkpad / bitbucket
  345. QEMU: support for multiple firmware versions (e.g. 5D3 1.1.3 and 1.2.3)
    example: ./run_canon_fw.sh 5D3,firmware="113;boot=0" — alex@thinkpad / bitbucket
  346. QEMU: minor fixes for helper scripts — alex@thinkpad / bitbucket
  347. QEMU: allow arbitrary targets in run_ml_all_cams.sh (e.g. minimal); small fixes — alex@thinkpad / bitbucket
  348. QEMU: minor fixes for helper scripts — alex@thinkpad / bitbucket
  349. QEMU: save HTML logs to subdirectory — alex@thinkpad / bitbucket
  350. QEMU: helper scripts for automated tests on all ML cameras — alex@thinkpad / bitbucket
  351. QEMU: fix compiling HPTimer test (requires CONFIG_QEMU) — alex@thinkpad / bitbucket
  352. QEMU: script to clean up redundant ANSI escape sequences from logs — alex@thinkpad / bitbucket
  353. boot-hack: more debug messages with CONFIG_QEMU — alex@thinkpad / bitbucket
  354. QEMU: guest API for disassembling code at any address — alex@thinkpad / bitbucket
  355. boot-hack: debug messages when compiling with CONFIG_QEMU
    (useful for new ports or for troubleshooting non-booting situations) — alex@thinkpad / bitbucket
  356. qemu-util: helper to print numbers to QEMU console very early in the boot process — alex@thinkpad / bitbucket
  357. qemu-util: allow using qprintf without guarding every call by CONFIG_QEMU
    (dummy inline functions on regular builds; simplified console.c) — alex@thinkpad / bitbucket
  358. QEMU: fix signed EDMAC off2 on DIGIC 4 — alex@thinkpad / bitbucket
  359. QEMU: disabled battery cover emulation on 60D and 100D
    (interferes with some GUI tests) — alex@thinkpad / bitbucket
  360. QEMU: non-deterministic lock-ups solved, thanks nkls!
    (retries no longer needed in the test suite) — alex@thinkpad / bitbucket
  361. QEMU: mutexes no longer needed after refactoring — alex@thinkpad / bitbucket
  362. QEMU: refactored interrupt thread using QEMUTimer
    (credits: nkls, https://bitbucket.org/niklastisk/qemu/commits/224f59e ) — alex@thinkpad / bitbucket
  363. GDB scripts: helper to log the return value of any function — alex@thinkpad / bitbucket
  364. QEMU: GDB scripts and task address for 100D — alex@thinkpad / bitbucket
  365. QEMU: battery cover emulation
    (with various degrees of success) — alex@thinkpad / bitbucket
  366. QEMU: another fix for gcc 4.x/6.x
    (amend commit 242d6f1) — alex@thinkpad / bitbucket
  367. QEMU: updated instructions regarding CONFIG_QEMU (it's no longer required) — alex@thinkpad / bitbucket
  368. QEMU: updated configure script to fix compilation with gcc 4.x and 6.x — alex@thinkpad / bitbucket
  369. QEMU test suite: always wait after terminating qemu-system-arm
    (might fix some intermittent VNC issues) — alex@thinkpad / bitbucket
  370. QEMU: skip a few tests on 1100D and 1200D, that are very sensitive to timing (processing speed) — alex@thinkpad / bitbucket
  371. QEMU: updated help in install script — alex@thinkpad / bitbucket
  372. QEMU: updated 60D tests — alex@thinkpad / bitbucket
  373. GDB scripts: 700D patches (required for GUI emulation) — alex@thinkpad / bitbucket
  374. QEMU: fix commit b36254 (missing files) — alex@thinkpad / bitbucket
  375. QEMU: menu navigation and card format tests for 60D, 550D, 600D, 700D, 100D, 1100D, 1200D — alex@thinkpad / bitbucket
  376. QEMU: updated GUI test result for 60D, 100D, 1100D, 1200D
    (after GUI emulation, they boot to date/time menu rather than info screen, but you may now click OK to bypass it) — alex@thinkpad / bitbucket
  377. QEMU: ported 500D GUIMode/UILock/format spells on 550D, 60D/1200D/1100D, 600D, 700D, 100D.
    Canon menu navigation and card formatting works on all these models! — alex@thinkpad / bitbucket
  378. MPU spells: comment out button events — alex@thinkpad / bitbucket
  379. QEMU: updated formatting of MPU spells to make them self-contained
    (easier to copy/paste around) — alex@thinkpad / bitbucket
  380. QEMU: fix 100D lockup — alex@thinkpad / bitbucket
  381. QEMU: fix display waiting routine (EnableBitmapVBufferForPlayBackAndWait)
    This unlocks menu navigation on many models! — alex@thinkpad / bitbucket
  382. QEMU: initial support for 7D (slave core only, IPC disabled) — alex@thinkpad / bitbucket
  383. QEMU test suite: minor speed-up when waiting for specific text in the log file — alex@thinkpad / bitbucket
  384. QEMU: moved HPTimer test from qemu-util to a minimal test binary;
    added a test for current task name and current interrupt ID;
    should work on all models that can load autoexec.bin and start a few tasks (no need for GUI) — alex@thinkpad / bitbucket
  385. QEMU: aggressive LED redraw — alex@thinkpad / bitbucket
  386. QEMU: better handle double-buffered displays (minor) — alex@thinkpad / bitbucket
  387. 7D: fix minimal target
    (also removed some custom installer settings) — alex@thinkpad / bitbucket
  388. 6D: fix minimal target — alex@thinkpad / bitbucket
  389. Merged task_name into qemu — alex@thinkpad / bitbucket
  390. qemu-util: moved register definitions to header — alex@thinkpad / bitbucket
  391. QEMU: restoring ML after format works too (500D)
    This test requires patched vncdotool (patch included). — alex@thinkpad / bitbucket
  392. QEMU: formatting the virtual card works! (500D) — alex@thinkpad / bitbucket
  393. QEMU: run all tests with custom card images
    (fixes false error on 500D menu test - free space reported in menu should not depend on user card contents) — alex@thinkpad / bitbucket
  394. QEMU: fix ML helper MMIO (regression from M5, 7534423f) — alex@thinkpad / bitbucket
  395. QEMU: fix USB connect on DIGIC 4 models — alex@thinkpad / bitbucket
  396. QEMU: more dialogs working on 500D! — alex@thinkpad / bitbucket
  397. QEMU: fix handling INFO and PLAY (typo) — alex@thinkpad / bitbucket
  398. QEMU: fix IDC output for large runs — alex@thinkpad / bitbucket
  399. QEMU: fix typo in extract_init_spells — alex@thinkpad / bitbucket
  400. QEMU: use unix sockets for menu test — alex@thinkpad / bitbucket
  401. QEMU: menu navigation test
    (500D for now) — alex@thinkpad / bitbucket
  402. QEMU: fix race condition in key handling
    (very fast clicks are OK now) — alex@thinkpad / bitbucket
  403. GDB scripts: initial 1100D support (DebugMsg, task_create, SetEDmac) — alex@thinkpad / bitbucket
  404. GDB scripts: date/time patches for 500D, 550D, 600D, 60D, 70D — alex@thinkpad / bitbucket
  405. qemu-frsp: fix compilation for 5D3 (use 1.1.3) — alex@thinkpad / bitbucket
  406. Merged unified into qemu — alex@thinkpad / bitbucket
  407. QEMU: 500D MPU spells (menu navigation works, thanks Greg) — alex@thinkpad / bitbucket
  408. QEMU: current_task_addr for 500D, 550D and 600D — alex@thinkpad / bitbucket
  409. QEMU: fix LED not redrawing properly — alex@thinkpad / bitbucket
  410. QEMU, extract_init_spells.py: annotate some more properties; fix minor quirks (comments only) — alex@thinkpad / bitbucket
  411. QEMU: experimental multi-core emulation for M5 — alex@thinkpad / bitbucket
  412. QEMU: initial support for EOS M5 (first core only; starts a few tasks) — alex@thinkpad / bitbucket
  413. QEMU: initial support for EOS M10 (starts a few tasks and mounts the SD card) — alex@thinkpad / bitbucket
  414. QEMU: option to log function calls and export them to IDA (-d calls -singlestep) — alex@thinkpad / bitbucket
  415. QEMU: 500D GUI test — alex@thinkpad / bitbucket
  416. QEMU: refactored 8-bit palette handling
    (removed duplicate code) — alex@thinkpad / bitbucket
  417. QEMU: handle 8-bit BMP palette menu mode — Greg <cdev@gmx.com> / bitbucket
  418. QEMU: GDB scripts 500D — Greg / bitbucket
  419. QEMU: GDB scripts 500D — Greg / bitbucket
  420. QEMU: disable JPCORE (fixes DCIM test regression on EOSM) — alex@thinkpad / bitbucket
  421. QEMU: 100D boots Canon GUI, 70D shows date/time screen! — alex@thinkpad / bitbucket
  422. QEMU: fix hotplug events on EOS M — alex@thinkpad / bitbucket
  423. QEMU: first steps for JPCORE emulation — alex@thinkpad / bitbucket
  424. QEMU: attempt to follow the MPU spell sequence even if some messages are repeated — alex@thinkpad / bitbucket
  425. QEMU: use larger delays before tail in run_test.sh — alex@thinkpad / bitbucket
  426. QEMU: allow retries in some tests, until successful
    (there are some nondeterministic bugs in the emulation) — alex@thinkpad / bitbucket
  427. QEMU: workaround for MPU communication sometimes getting out of sync — alex@thinkpad / bitbucket
  428. QEMU: updated 700D and EOSM display test checksums to match dumps from dfort — alex@thinkpad / bitbucket
  429. QEMU: fix eeko path — alex@thinkpad / bitbucket
  430. QEMU: allow arbitrary working directory via $QEMU_EOS_WORKDIR — alex@thinkpad / bitbucket
  431. QEMU: EOSM passes the DCIM directory test — alex@thinkpad / bitbucket
  432. GDB scripts: EOSM patches (startup sequence works) — alex@thinkpad / bitbucket
  433. QEMU: some definitions for 700D and EOSM — alex@thinkpad / bitbucket
  434. QEMU: current_task_addr for 1100D — alex@thinkpad / bitbucket
  435. QEMU: first steps for handling 5D3 eeko communication with main CPU — alex@thinkpad / bitbucket
  436. QEMU: minor update to 5D3 eeko memory map — alex@thinkpad / bitbucket
  437. GDB scripts: 5D3 eeko interrupts — alex@thinkpad / bitbucket
  438. QEMU: handle EDMAC offset 0x40 — alex@thinkpad / bitbucket
  439. GDB scripts: initial support for EOS M; minor fix for 700D — alex@thinkpad / bitbucket
  440. QEMU: MPU spells for 700D and EOSM (logs from dfort) — alex@thinkpad / bitbucket
  441. QEMU: updated 1000D support for 1.0.7
    (GDB script, display test checksum, fix current task address) — alex@thinkpad / bitbucket
  442. QEMU: Eeko DryOS timer (not sure it actually works) — alex@thinkpad / bitbucket
  443. QEMU: run Eeko from RAM dumps; minor updates — alex@thinkpad / bitbucket
  444. QEMU: quiet cache maintenance registers — alex@thinkpad / bitbucket
  445. QEMU: print description of some MPU registers as they are set (reveals memory map) — alex@thinkpad / bitbucket
  446. QEMU: option to enable UART debug logging (-d uart); mark "-d io" option as EOS-specific — alex@thinkpad / bitbucket
  447. QEMU: Eeko UART emulation (can navigate the debug menu) — alex@thinkpad / bitbucket
  448. QEMU: Eeko interrupt registers — alex@thinkpad / bitbucket
  449. QEMU: initial support for 5D3 Eeko (a small DryOS core running Thumb-2 code)
    credits: g3gg0 for identifying it — alex@thinkpad / bitbucket
  450. QEMU: fix SDIO regression on M3 — alex@thinkpad / bitbucket
  451. QEMU: include LR in MMIO logs — alex@thinkpad / bitbucket
  452. QEMU: fix CHSW assert on M3 — alex@thinkpad / bitbucket
  453. QEMU: emulate photo capture process on 5D3
    - more DMA channels (EekoBltDmac = DMA5)
    - Eeko WakeUp
    - MMIO size 0x20000000
    - image data on connection 35
    - the test requires some patching, because 5D3 does not initialize the YUV buffer at startup — alex@thinkpad / bitbucket
  454. QEMU: DCIM test appears to work on 450D as well
    ... given enough retries :) — alex@thinkpad / bitbucket
  455. QEMU: code for listing EDMAC interrupt names (for dm-spy-experiments) — alex@thinkpad / bitbucket
  456. QEMU: emulate all EDMAC size configurations!
    (xn,yn,xa,ya,xb,yb,off1a,off1b,off2a,off2b,off3 for both read and write transfers)
    Also included a function to pretty-print an EDMAC configuration.
    Test code and details will follow. — alex@thinkpad / bitbucket
  457. QEMU: 450D MPU spells and button codes — alex@thinkpad / bitbucket
  458. QEMU: fix 5D4 ram_manufacturer_id; updated display test result for latest ROM — alex@thinkpad / bitbucket
  459. QEMU: fix EDMAC off1 for DIGIC 3 — alex@thinkpad / bitbucket
  460. QEMU: handle EDMAC "pop" operation — alex@thinkpad / bitbucket
  461. QEMU: refactored MMIO registers with macros for direct mapping to variables (less verbose) — alex@thinkpad / bitbucket
  462. QEMU: dummy Furikake emulation for 60D (just copy the data from input to output) — alex@thinkpad / bitbucket
  463. QEMU: partial EDMAC transfers (incomplete) — alex@thinkpad / bitbucket
  464. QEMU: fix EDMAC connection count; asserts — alex@thinkpad / bitbucket
  465. QEMU: full-res silent picture test (working on 60D and 1200D) — alex@thinkpad / bitbucket
  466. 550D: fix compiling minimal target — alex@thinkpad / bitbucket
  467. Minimal test binary for taking and previewing a full-res silent picture, for QEMU test suite — alex@thinkpad / bitbucket
  468. Merged cleanup into qemu — alex@thinkpad / bitbucket
  469. Merged unified into qemu — alex@thinkpad / bitbucket
  470. QEMU: reordered tests — alex@thinkpad / bitbucket
  471. QEMU: file I/O test from main firmware (creating DCIM directory if missing); only works on a few models for now — alex@thinkpad / bitbucket
  472. QEMU: portable ROM dumper test (works on most SD models) — alex@thinkpad / bitbucket
  473. QEMU: PIO SD transfers (450D mounts the SD image) — alex@thinkpad / bitbucket
  474. QEMU: always print SDIO errors — alex@thinkpad / bitbucket
  475. QEMU: fix SD interrupts on 450D (attempts to mount the card, but fails at sdPIOReadBlk) — alex@thinkpad / bitbucket
  476. QEMU: current_task_addr for some VxWorks models (for MMIO registers) — alex@thinkpad / bitbucket
  477. GDB scripts: ignore %R in DebugMsg (40D: "%RegisterCBRSetupRequest") — alex@thinkpad / bitbucket
  478. QEMU: initial MPU support for 450D, with 60D spells — alex@thinkpad / bitbucket
  479. QEMU: fix VxWorks heartbeat (including HPTimer workaround) — alex@thinkpad / bitbucket
  480. QEMU: handle extended HPTimers (VxWorks heartbeat seems to work) — alex@thinkpad / bitbucket
  481. QEMU: EDMAC interrupts for DIGIC 5 — alex@thinkpad / bitbucket
  482. QEMU: 550D shows date/time screen (EDMAC fix) — alex@thinkpad / bitbucket
  483. QEMU: emulate the picture taking process (can take a full-res silent picture on 60D and save it as DNG)
    - EDMAC transfers: handle xa, ya, xb, yb, xn, off1a, off1b
    - dummy head timer emulation (just triggering an interrupt)
    - dummy emulation of the HIV image processing module ("consuming" row/column correction data)
    - note: the code from silent.c and raw.c must be patched to avoid GUI mode changes (patch not included) — alex@thinkpad / bitbucket
  484. QEMU: dummy emulation of image preprocessing modules (ADKIZ also triggers interrupt on 60D => evfInit succeeds) — alex@thinkpad / bitbucket
  485. QEMU: partial EDMAC transfer emulation — alex@thinkpad / bitbucket
  486. GDB scripts: log some EDMAC calls (60D stubs) — alex@thinkpad / bitbucket
  487. QEMU: updated 40D and 100D display tests for latest firmware versions — alex@thinkpad / bitbucket
  488. install.sh: also copy test scripts — alex@thinkpad / bitbucket
  489. QEMU: UART support borrowed from hw/arm/digic.c (cc frantony)
    To use it: "View -> Serial0" or "-serial stdio" or "-nographic"
    Also updated test script. — alex@thinkpad / bitbucket
  490. QEMU: initial support for 5D4 AE processor (K349AE) — alex@thinkpad / bitbucket
  491. QEMU: test for GDB scripts (not all models working; fixed 7D2 and M3) — alex@thinkpad / bitbucket
  492. QEMU: run_tests.sh refactor to avoid duplicate camera lists — alex@thinkpad / bitbucket
  493. QEMU: fix 400D startup messages — alex@thinkpad / bitbucket
  494. QEMU: quiet 60D hotplug activity — alex@thinkpad / bitbucket
  495. QEMU: refuse to run if any of the card images is mounted — alex@thinkpad / bitbucket
  496. QEMU: fix 5D4 display emulation; updated SD image with new display test — alex@thinkpad / bitbucket
  497. QEMU: initial support for 5D4 (SD image updated too with latest display test) — alex@thinkpad / bitbucket
  498. QEMU: initial support for 40D, 400D and 450D (display test working) — alex@thinkpad / bitbucket
  499. QEMU: 5D runs the display test — alex@thinkpad / bitbucket
  500. QEMU: experimental CFDMA support (5D loads autoexec) — alex@thinkpad / bitbucket
  501. QEMU: fix 50D (display test works) — alex@thinkpad / bitbucket
  502. GDB scripts: increase tcp connect timeout — alex@thinkpad / bitbucket
  503. QEMU: initial support for 5D (no autoexec yet) — alex@thinkpad / bitbucket
  504. QEMU: initial support for A1100 (proof of concept, CC frantony) — alex@thinkpad / bitbucket
  505. GDB scripts: 1000D task info — alex@thinkpad / bitbucket
  506. GDB scripts: check CURRENT_TASK before dereferencing (to avoid nonprintable output when invalid) — alex@thinkpad / bitbucket
  507. Updated SD image with display test updated for VxWorks
    Also updated screenshots' MD5 (the new test prints an extra line) — alex@thinkpad / bitbucket
  508. QEMU: 1000D display from bootloader — alex@thinkpad / bitbucket
  509. QEMU: initial support for 1000D (DIGIC 3) — alex@thinkpad / bitbucket
  510. QEMU: moved RAM and TCM parameters to model_list.c; fixed TCM size on DIGIC 6 — alex@thinkpad / bitbucket
  511. QEMU: assume 80D bootloader on 7D2 for now — alex@thinkpad / bitbucket
  512. QEMU test suite: also prepare a temporary CF card image — alex@thinkpad / bitbucket
  513. QEMU test suite: more robust handling of temporary SD card image
    (previous image is restored even if you press CTRL-C while preparing the new one) — alex@thinkpad / bitbucket
  514. QEMU test suite: custom test for EOS M3 — alex@thinkpad / bitbucket
  515. QEMU: testing scripts (first attempt to write a test suite), covering:
    - bootloader jumping to main firmware: works on most models, except 7D (50D not tested)
    - portable display test from bootloader: works on most models, except 7D (50D not tested)
    - Canon GUI test (screenshot): works on 60D, 5D3, 1200D, 1100D, and - to some extent - 600D

    TODO:
    - SD/CF read/write tests (bootloader ROM dumpers, startup on formatted card, minimal file I/O from ML)
    - tests for gdb scripts (e.g. does it display task_create calls? does the GUI boot under the debugger?)
    - various device tests (timers, EDMAC, LED blinking, serial console...)
    - tests for Magic Lantern binaries, to be run on the nightly build server — alex@thinkpad / bitbucket
  516. QEMU: fix LED emulation on most models — alex@thinkpad / bitbucket
  517. QEMU: fix LED emulation on 5D3 — alex@thinkpad / bitbucket
  518. QEMU: fix SDDMA handling on DIGIC 6 (EOS M3 now loads DISKBOOT.BIN from the card) — alex@thinkpad / bitbucket
  519. GDB scripts: log more register_interrupt calls on EOS M3 — alex@thinkpad / bitbucket
  520. GDB scripts: log more DebugMsg calls on EOS M3 — alex@thinkpad / bitbucket
  521. GDB scripts: refactored DebugMsg to allow code reuse — alex@thinkpad / bitbucket
  522. QEMU: revised sound patch EOS M3 (was patching a generic semaphore routine; fixes SD init) — alex@thinkpad / bitbucket
  523. QEMU: card LED emulation (not all models tested) — alex@thinkpad / bitbucket
  524. QEMU: battery patch no longer needed on EOS M3 (Ant123) — alex@thinkpad / bitbucket
  525. QEMU: load ROM0 (aka SECONDARY16.BIN) on EOS M3 — alex@thinkpad / bitbucket
  526. QEMU: moved rom[01]_addr to model_list.c; fix ROM1 address for D6 — alex@thinkpad / bitbucket
  527. QEMU: initial support for 750D and 760D — alex@thinkpad / bitbucket
  528. QEMU: moved RAM manufacturer ID to model_list.c (80D) — alex@thinkpad / bitbucket
  529. QEMU: experimental cache hack emulation (very incomplete; 60D dm-spy works!) — alex@thinkpad / bitbucket
  530. QEMU: updated Makefile options and comments — alex@thinkpad / bitbucket
  531. QEMU: 700D serial flash + GDB scripts — alex@thinkpad / bitbucket
  532. 100D: fix divide-by-zero caused by Set_AVS. — Niklas Fejes <niklas.fejes@colorado.edu> / bitbucket
  533. QEMU: Fix serial flash, add 100D spells. — Niklas Fejes <niklas.fejes@colorado.edu> / bitbucket
  534. QEMU: 5D3 1.1.3 boots Canon GUI! — alex@thinkpad / bitbucket
  535. QEMU: fix a display init lockup on 5D3. Canon GUI runs on 1.1.3! — alex@thinkpad / bitbucket
  536. QEMU: hotplug registers for 5D3 — alex@thinkpad / bitbucket
  537. QEMU: fix SDIO response bytes order (fixes SD identification; now works on DIGIC 5 too) — alex@thinkpad / bitbucket
  538. QEMU: minor display fix — alex@thinkpad / bitbucket
  539. QEMU: dummy EDMAC emulation (experiment) — alex@thinkpad / bitbucket
  540. QEMU: moved ROM files under camera subdirectory; you no longer need to concatenate them; they can be made optional (for cameras with only one ROM) — alex@thinkpad / bitbucket
  541. QEMU: better CPU model for DIGIC 6; removed Thumb interrupts hack — alex@thinkpad / bitbucket
  542. GDB scripts: minor speed optimization for DebugMsg — alex@thinkpad / bitbucket
  543. QEMU: disabling signature check at startup no longer needed — alex@thinkpad / bitbucket
  544. QEMU: P15 patch no longer needed on M3 — alex@thinkpad / bitbucket
  545. QEMU: SD write protect (boot) switch for M3 — alex@thinkpad / bitbucket
  546. QEMU: SD1stInit appears to work on EOS M3 — alex@thinkpad / bitbucket
  547. GDB scripts: print SD1stInit messages — alex@thinkpad / bitbucket
  548. QEMU: battery level for EOS M3, from Ant123 — alex@thinkpad / bitbucket
  549. QEMU: PhySw values for EOS M3, from Ant123 — alex@thinkpad / bitbucket
  550. QEMU: ADC values for EOS M3, from Ant123 — alex@thinkpad / bitbucket
  551. QEMU: also log CP registers ignored during emulation (ARM_CP_NOP, LOG_ALL_CP_READS/WRITES) — alex@thinkpad / bitbucket
  552. QEMU: fix use after free when using LOG_ALL_CP_READS — alex@thinkpad / bitbucket
  553. GDB scripts: 80D patch (tasks starting now) — alex@thinkpad / bitbucket
  554. QEMU: log all CP register reads — alex@thinkpad / bitbucket
  555. GDB scripts: list 80D memory regions — alex@thinkpad / bitbucket
  556. QEMU: updated usage examples in install.sh — alex@thinkpad / bitbucket
  557. QEMU: hijack machine option "firmware" to pass machine-specific parameters via command line
    for example, to enable the boot flag: ./run_canon_fw 60D,firmware="boot=1" — alex@thinkpad / bitbucket
  558. QEMU: moved HPTimer interrupt to model_list — alex@thinkpad / bitbucket
  559. QEMU: moved bootflags address to model_list — alex@thinkpad / bitbucket
  560. QEMU: bootloader display working on 80D! — alex@thinkpad / bitbucket
  561. QEMU: clock enable register on DIGIC 6 — alex@thinkpad / bitbucket
  562. GDB scripts: 80D DebugMsg, tasks, interrupts — alex@thinkpad / bitbucket
  563. QEMU: fix crash when bootloader display buffer is not set — alex@thinkpad / bitbucket
  564. QEMU: 6D patches no longer needed — alex@thinkpad / bitbucket
  565. QEMU: fix some button codes — alex@thinkpad / bitbucket
  566. QEMU: most patches no longer needed for 7D2 either (it runs with 80D bootloader) — alex@thinkpad / bitbucket
  567. QEMU: CP15 patches no longer needed for EOS M3 — alex@thinkpad / bitbucket
  568. QEMU 80D: initial support for SDIO/SDDMA; loading autoexec.bin works! — alex@thinkpad / bitbucket
  569. QEMU 80D: bootloader emulation works! — alex@thinkpad / bitbucket
  570. QEMU: initial support for 80D — alex@thinkpad / bitbucket
  571. QEMU: removed old key handling code and other hacks that are no longer needed (at least on those models that can boot the GUI) — alex@thinkpad / bitbucket
  572. QEMU: fix install — alex@thinkpad / bitbucket
  573. QEMU: fix 100D scrollwheel codes — alex@thinkpad / bitbucket
  574. QEMU: cleaned up some button code names — alex@thinkpad / bitbucket
  575. QEMU: make MPU init spells static — alex@thinkpad / bitbucket
  576. QEMU: a few more button codes — alex@thinkpad / bitbucket
  577. QEMU: refactored MPU key handling to remove duplicate button codes — alex@thinkpad / bitbucket
  578. QEMU: print help regarding available keys — alex@thinkpad / bitbucket
  579. QEMU: script to extract MPU button codes from ROMs
    (it emulates bindReceiveSwitch using unicorn) — alex@thinkpad / bitbucket
  580. QEMU: proof of concept: key handling via MPU spells.
    Can adjust date/time on 600D, can navigate ML menu without CONFIG_QEMU on 1200D with scrollwheels (PgUp,PgDn,[,]) and SET (spacebar) — alex@thinkpad / bitbucket
  581. QEMU: refactored MPU code to allow sending arbitrary messages — alex@thinkpad / bitbucket
  582. QEMU, MPU spells: recognize button codes from gui.h (comments only) — alex@thinkpad / bitbucket
  583. QEMU, MPU spells: mark bindReceiveSwitch messages (comment only) — alex@thinkpad / bitbucket
  584. QEMU, MPU spells: mark NotifyGUIEvent messages (comment only) — alex@thinkpad / bitbucket
  585. QEMU: script to manage MPU spells (autogenerated version + patches with manual modifications) — alex@thinkpad / bitbucket
  586. QEMU: updated 5D2 MPU spells — alex@thinkpad / bitbucket
  587. QEMU: moved MPU spells to separate files, one for each camera — alex@thinkpad / bitbucket
  588. QEMU, extract_init_spells.py: get camera model name from log file name — alex@thinkpad / bitbucket
  589. QEMU: use "-d int" for showing interrupt messages — alex@thinkpad / bitbucket
  590. QEMU: use "-d io" for showing MMIO activity — alex@thinkpad / bitbucket
  591. GDB scripts: log semaphores, message queues and interrupts for EOS M3 — alex@thinkpad / bitbucket
  592. QEMU: better patch for battery checks on EOS M3 — alex@thinkpad / bitbucket
  593. QEMU: handle ADC on EOS M3 (print channel ID only) — alex@thinkpad / bitbucket
  594. GDB scripts: comments update — alex@thinkpad / bitbucket
  595. GDB scripts: increase timeout for connection to qemu — alex@thinkpad / bitbucket
  596. GDB scripts: patch RTC init function for 550D and 600D — alex@thinkpad / bitbucket
  597. GDB scripts: only output should be hex by default, not input — alex@thinkpad / bitbucket
  598. GDB scripts: log message queues (600D stubs) — alex@thinkpad / bitbucket
  599. GDB scripts: 600D DebugMsg, tasks, MPU messages — alex@thinkpad / bitbucket
  600. QEMU: MPU spells for 600D — alex@thinkpad / bitbucket
  601. GDB scripts: log resource locks (stubs for 550D) — alex@thinkpad / bitbucket
  602. GDB scripts: log eventprocs (stubs for 550D and 5D3) — alex@thinkpad / bitbucket
  603. GDB scripts: 550D DebugMsg, tasks, semaphores, MPU — alex@thinkpad / bitbucket
  604. QEMU: merged eos_handle_serial_flash.[ch] into serial_flash.[ch] — alex@thinkpad / bitbucket
  605. QEMU: removed debug_message_helper (now implemented with pure GDB scripts) — alex@thinkpad / bitbucket
  606. QEMU: check access type for EDMAC CHSW registers (only writes implemented) — alex@thinkpad / bitbucket
  607. QEMU: emulate power control registers (dummy) — alex@thinkpad / bitbucket
  608. QEMU: 550D MPU spells (not yet working) — alex@thinkpad / bitbucket
  609. GDB scripts: track semaphores (create, delete, take, give) — alex@thinkpad / bitbucket
  610. QEMU: 1100D boots Canon GUI with 60D MPU spells as well :) — alex@thinkpad / bitbucket
  611. QEMU: all DIGIC 4 cameras appear to use the same MPU request register — alex@thinkpad / bitbucket
  612. QEMU: fix typo — alex@thinkpad / bitbucket
  613. QEMU: 1200D boots Canon GUI with... 60D MPU spells!!! — alex@thinkpad / bitbucket
  614. QEMU: model HPCopy DMA transfer delays (fixes assert in 1200D) — alex@thinkpad / bitbucket
  615. GDB scripts: 1200D experiments — alex@thinkpad / bitbucket
  616. QEMU: current_task_addr and mpu_request_register for 1200D — alex@thinkpad / bitbucket
  617. Merge qemu-nkls into qemu — alex@thinkpad / bitbucket
  618. QEMU: autodetect MPU spell set from camera model — alex@thinkpad / bitbucket
  619. QEMU: include a small SD/CF card image during installation — alex@thinkpad / bitbucket
  620. QEMU: fix serial flash transfers via DMA, thanks nkls — alex@thinkpad / bitbucket
  621. QEMU: moved firmware_start = 0xFF010000 to digic 4 defaults in model_list.c — alex@thinkpad / bitbucket
  622. QEMU: fix SDIO interrupt for DIGIC 5 cameras — alex@thinkpad / bitbucket
  623. QEMU: moved I/O memory size to model_list — alex@thinkpad / bitbucket
  624. QEMU: moved DryOS timer interrupt and ID to model_list — alex@thinkpad / bitbucket
  625. QEMU: removed unused Q_HELPER_ADDR — alex@thinkpad / bitbucket
  626. QEMU: moved ROM[01]_SIZE to model_list (note: digic 6 dumps must be 64MB now) — alex@thinkpad / bitbucket
  627. QEMU: generic parameters in model_list, for all cameras with the same digic version — alex@thinkpad / bitbucket
  628. QEMU: renamed rom_start to firmware_start — alex@thinkpad / bitbucket
  629. QEMU: moved serial flash size into model_list (refactor) — alex@thinkpad / bitbucket
  630. QEMU: moved MPU request register into model_list (refactor) — alex@thinkpad / bitbucket
  631. QEMU: moved current_task_addr into model_list (refactor) — alex@thinkpad / bitbucket
  632. QEMU: link struct eos_model_desc into EOSState, rather than copying individual fields (refactor) — alex@thinkpad / bitbucket
  633. QEMU: reformatted model_list for easier expansion — alex@thinkpad / bitbucket
  634. QEMU: 5D3 MPU spells — alex@thinkpad / bitbucket
  635. QEMU: WFI emulation via CP15 (5D3, maybe others) — alex@thinkpad / bitbucket
  636. GDB scripts: log DebugMsg and task_create on 5D3 — alex@thinkpad / bitbucket
  637. QEMU: patch battery init on EOS M3 — alex@thinkpad / bitbucket
  638. QEMU: TIO fix for EOS M3 — alex@thinkpad / bitbucket
  639. QEMU: print task name for I/O register accesses (experimental) — alex@thinkpad / bitbucket
  640. GDB scripts: misc stubs for 70D — alex@thinkpad / bitbucket
  641. GDB scripts: log timer routines (70D stubs) — alex@thinkpad / bitbucket
  642. QEMU: don't format strings containing " (gdb fails at eval printf) — alex@thinkpad / bitbucket
  643. GDB scripts: log try_post_event calls (70D) — alex@thinkpad / bitbucket
  644. GDB scripts: nicer way to log return value for take_semaphore — alex@thinkpad / bitbucket
  645. QEMU: MPU init spell workaround for 70D — alex@thinkpad / bitbucket
  646. QEMU: don't delete unmatched mpu_send lines — alex@thinkpad / bitbucket
  647. QEMU: link mpu_send lines with "Complete WaitID" lines (updated 60D and 70D, comments only) — alex@thinkpad / bitbucket
  648. QEMU: fix serial flash transfers via DMA — alex@thinkpad / bitbucket
  649. QEMU: moved eos_handle_sio3/mreq to mpu.c/h — alex@thinkpad / bitbucket
  650. QEMU: fix last two chars from last MPU spell — alex@thinkpad / bitbucket
  651. QEMU: fix warnings about SD/CF card images — alex@thinkpad / bitbucket
  652. QEMU: fix very short HPTimer delays (timer overrun) — alex@thinkpad / bitbucket
  653. GDB scripts: log assert and register_interrupt on 70D — alex@thinkpad / bitbucket
  654. GDB scripts: print interrupt ID when not running a regular task (print_current_location) — alex@thinkpad / bitbucket
  655. QEMU: output all characters via TIO — alex@thinkpad / bitbucket
  656. QEMU: make sure all interrupt requests are valid — alex@thinkpad / bitbucket
  657. QEMU: stop emulator when GDB quits; also reset colors — alex@thinkpad / bitbucket
  658. GDB scripts: log mpu_send/mpu_recv calls — alex@thinkpad / bitbucket
  659. QEMU: 70D card write protect register — alex@thinkpad / bitbucket
  660. QEMU: log all coprocessor register writes — alex@thinkpad / bitbucket
  661. QEMU: fix HPTimers on 7D2 — alex@thinkpad / bitbucket
  662. GDB scripts: register_interrupt log — alex@thinkpad / bitbucket
  663. QEMU: DebugMsg logs implemented as pure gdb scripts! — alex@thinkpad / bitbucket
  664. QEMU: patched some more functions on EOSM3 — alex@thinkpad / bitbucket
  665. QEMU:  interrupts on EOS M3 require Thumb mode (maybe on 7D2 as well, to be tested) — alex@thinkpad / bitbucket
  666. QEMU:  DryOS task scheduling appears to work on EOSM3 (experimental) — alex@thinkpad / bitbucket
  667. QEMU: gdb script for EOSM3 — alex@thinkpad / bitbucket
  668. QEMU: patch two init functions on EOSM3 — alex@thinkpad / bitbucket
  669. QEMU: patch usleep on EOSM3 (workaround) — alex@thinkpad / bitbucket
  670. QEMU: fix disassembly when patching 7D2/EOSM3 (broken by qemu upgrade) — alex@thinkpad / bitbucket
  671. QEMU: initial support for EOS M3 — alex@thinkpad / bitbucket
  672. QEMU: 7D2 autoexec experiment — alex@thinkpad / bitbucket
  673. QEMU: some gdb scripts (60D, 70D, 7D2) — alex@thinkpad / bitbucket
  674. QEMU: patch two functions in 7D2 master (emulation goes much further now) — alex@thinkpad / bitbucket
  675. QEMU: cleanup model detection for serial flash — alex@thinkpad / bitbucket
  676. QEMU: enabled 7D2 patches by default (autodetected from model name) — alex@thinkpad / bitbucket
  677. QEMU: give higher priority to interrupts with higher ID (SIO3/MREQ should have higher priority than DryOS timer) — alex@thinkpad / bitbucket
  678. QEMU: fix MPU request/status register on different cameras (60D, 5D2, 100D and 70D for now) — alex@thinkpad / bitbucket
  679. QEMU: refactored eos_init_common/eos_common_init into a single function — alex@thinkpad / bitbucket
  680. QEMU: store camera model and digic version in EOSState — alex@thinkpad / bitbucket
  681. QEMU: fine-tuned debug messages in eos_load_image — alex@thinkpad / bitbucket
  682. QEMU: 70D init spells, not yet working — alex@thinkpad / bitbucket
  683. QEMU: enabled serial flash for 70D, to be tested — alex@thinkpad / bitbucket
  684. QEMU: save SIO mode for serial flash (minor) — alex@thinkpad / bitbucket
  685. QEMU: fix indentation in eos_handle_sio_serialflash.c — alex@thinkpad / bitbucket
  686. QEMU: serial flash image is now mandatory for models that use one at startup — alex@thinkpad / bitbucket
  687. QEMU: fix indentation in serial_flash.c — alex@thinkpad / bitbucket
  688. QEMU: fix SIO messages — alex@thinkpad / bitbucket
  689. QEMU: ignore %S format for DebugMsg
    (used incorrectly in Canon code, e.g. %SetUSBLowPowerModeHook - causes segfault) — alex@thinkpad / bitbucket
  690. QEMU: DebugMsg color macros a little more generic — alex@thinkpad / bitbucket
  691. QEMU: align DebugMsg messages with io_log ones and print call location — alex@thinkpad / bitbucket
  692. QEMU: fix segfault with uninitialized bmp_vram — alex@thinkpad / bitbucket
  693. QEMU: fix compilation — alex@thinkpad / bitbucket
  694. QEMU: merged 1de3d07 — alex@thinkpad / bitbucket
  695. QEMU: fix false MPU receive request (e.g. in 5D2 bootloader) — alex@thinkpad / bitbucket
  696. QEMU: fix false positive when interpreting MPU messages — alex@thinkpad / bitbucket
  697. QEMU: merged ee5defb — alex@thinkpad / bitbucket
  698. QEMU: adapted ee5defb
    QEMU: 5D2 MPU spells, not tested (not there yet) — alex@thinkpad / bitbucket
  699. QEMU: re-enabled 7D2 experiments (to be tested) — alex@thinkpad / bitbucket
  700. QEMU: merged 63e7324 (hopefully) — alex@thinkpad / bitbucket
  701. QEMU: adapted 63e7324
    Removed old hacks (including run_ml.sh) from emulator — alex@thinkpad / bitbucket
  702. Init testing branch (serial flash). — Niklas Fejes <niklas.fejes@colorado.edu> / bitbucket
  703. Fixes for 100D. — Niklas Fejes <niklas.fejes@colorado.edu> / bitbucket
  704. QEMU: fix installation — alex@thinkpad / bitbucket
  705. Add workspace scripts. — Niklas Fejes <niklas.fejes@colorado.edu> / bitbucket
  706. Updates to semaphore tracker. — Niklas Fejes <niklas.fejes@colorado.edu> / bitbucket
  707. Add bufcon GPIO names. — Niklas Fejes <niklas.fejes@colorado.edu> / bitbucket
  708. Add serial flash code. — Niklas Fejes <niklas.fejes@colorado.edu> / bitbucket
  709. Separate mpu and eos_ml helpers from main eos.c file. — Niklas Fejes <niklas.fejes@colorado.edu> / bitbucket
  710. Add debug message helper. — Niklas Fejes <niklas.fejes@colorado.edu> / bitbucket
  711. Dynamic initialization of camera models. — Niklas Fejes <niklas.fejes@colorado.edu> / bitbucket
  712. QEMU install.sh: exit on errors — alex@thinkpad / bitbucket
  713. QEMU install.sh: only init git repo if not already there — alex@thinkpad / bitbucket
  714. Fixed a segmentation fault, it's now running! — Niklas Fejes <niklas.fejes@colorado.edu> / bitbucket
  715. Hacked to compile. — Niklas Fejes <niklas.fejes@colorado.edu> / bitbucket
  716. QEMU: upgraded to 2.5.0 — alex@thinkpad / bitbucket
  717. QEMU: adapted "Restructure of EOS code." from https://bitbucket.org/niklastisk/qemu/commits/765580a — alex@thinkpad / bitbucket
  718. QEMU: EDMAC registers (print only) — alex@thinkpad / bitbucket
  719. QEMU: fix false MPU receive request (e.g. in 5D2 bootloader) — alex@thinkpad / bitbucket
  720. QEMU: fix false positive when interpreting MPU messages — alex@thinkpad / bitbucket
  721. QEMU: experimental CF card emulation (5D2 loads autoexec.bin from CF image!) — alex@thinkpad / bitbucket
  722. QEMU: a few more CF registers — alex@thinkpad / bitbucket
  723. QEMU: script to parse MPU log files and extract the "init spells" — alex@thinkpad / bitbucket
  724. QEMU: 5D2 MPU spells, not tested (not there yet) — alex@thinkpad / bitbucket
  725. QEMU: handle more CFDMA address ranges, including 5D2 — alex@thinkpad / bitbucket
  726. QEMU: handle 5D2 VSW_STATUS (thanks ROS) — alex@thinkpad / bitbucket
  727. Merged unified into qemu — alex@thinkpad / bitbucket
  728. qemu-util: fix warnings — alex@thinkpad / bitbucket
  729. qemu-util: fix HPTimer warnings — alex@thinkpad / bitbucket
  730. qemu-util: added qprint — alex@thinkpad / bitbucket
  731. qemu: hide help after user opens ML menu — alex@thinkpad / bitbucket
  732. QEMU: refactored SIO messages with io_log — Alex / bitbucket
  733. QEMU: remove SD emulation messages — Alex / bitbucket
  734. QEMU: updated scripts to run ML from a sdcard image — Alex / bitbucket
  735. QEMU: minor fix (reported by nikfreak) — Alex / bitbucket
  736. Removed old hacks (including run_ml.sh) from emulator — Alex / bitbucket
  737. Removed qemu-helper from ML source — Alex / bitbucket
  738. Removed most QEMU hacks from ML source, so ML is now able to boot from autoexec.bin via bootloader (at least on 60D). Lua working as well! — Alex / bitbucket
  739. AllocMem patch: sync caches before executing the patched code — Alex / bitbucket
  740. 6D AllocMem patch: do not change the start address, to prevent shifting address of certain constants (e.g. dual iso) — Alex / bitbucket
  741. assert handler: print program counter in crash logs — Alex / bitbucket
  742. boot-hack: some self-checks for AllocateMemory patching — Alex / bitbucket
  743. new task hooks: updated comments, debug info, code formatting — Alex / bitbucket
  744. boot-hack: better comments for 6D AllocMem — Alex / bitbucket
  745. Found the new task_dispatch_hook (for 6D, will also work on newer cameras). Does it work?
    - refactored my_task_dispatch_hook to work on both old and new DryOS (tested in QEMU)
    - 6D: switched to classic boot process (limited testing in QEMU)
    - tskmon: small refactoring, hopefully works on new DryOS too (not tested) — Alex / bitbucket
  746. boot-hack: minor cleanups — Alex / bitbucket
  747. QEMU: use SD card emulation from hw/sd/sd.c. Working not only in bootloader, but in main firmware as well! — Alex / bitbucket
  748. QEMU: only allow 32-bit access to MMIO registers (simpler code) — Alex / bitbucket
  749. QEMU: removed old screenshot code — Alex / bitbucket
  750. QEMU: grouped keyboard state variables into a structure — Alex / bitbucket
  751. QEMU: grouped display state variables into a structure — Alex / bitbucket
  752. QEMU: handle 8-bit BMP palette — Alex / bitbucket
  753. QEMU: some more GPIO registers for 60D. Canon GUI runs! — Alex / bitbucket
  754. QEMU: experimental MPU emulation (60D) — Alex / bitbucket
  755. QEMU: ignore SCTLR bit 30 (hack; see 8ab96de) — Alex / bitbucket
  756. QEMU: renamed EOSState *ws to EOSState *s — Alex / bitbucket
  757. QEMU: trace target ASM code during execution (-d exec -singlestep) — Alex / bitbucket
  758. QEMU: emulate cache lockdown for DIGIC 4/5 (NOP) — Alex / bitbucket
  759. QEMU: use built-in disassembler for patching messages — Alex / bitbucket
  760. QEMU: emulate both master and slave from 7D2 (not both at the same time though) — Alex / bitbucket
  761. QEMU: better DIGIC 6 emulation. TODO: find out how to enable interrupts — Alex / bitbucket
  762. QEMU: log ASM code (-d in_asm) without additional lines — Alex / bitbucket
  763. QEMU: upgraded to version 2.3.0 — Alex / bitbucket
  764. QEMU: first steps towards DIGIC 6 / 7D2 emulation — Alex / bitbucket
  765. QEMU: fix error handling when SD image is not present — Alex / bitbucket
  766. QEMU: HPTimer emulation (man, that was hard...) — Alex / bitbucket
  767. QEMU: don't reset irq_id when writing to 0xC0201010 — Alex / bitbucket
  768. QEMU: also reset interrupt request flag when reading 0xC0201004 — Alex / bitbucket
  769. QEMU: disable interrupt when triggered (so an interrupt can't be interrupted by the same interrupt) — Alex / bitbucket
  770. QEMU: minor cleanup — Alex / bitbucket
  771. QEMU: register 0xC0201004 resets on read (interrupt engine) — Alex / bitbucket
  772. QEMU: fix DMA copying — Alex / bitbucket
  773. QEMU: use a mutex for interrupt variables — Alex / bitbucket
  774. QEMU: don't switch to Thumb mode on exceptions on arm946eos, even if SCTLR bit 30 is enabled
    http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0290g/Babebdcb.html
    TODO: discuss with QEMU devs (comments suggest it might be a bug in QEMU, not sure) — Alex / bitbucket
  775. QEMU: log ARM coprocessor register writes — Alex / bitbucket
  776. QEMU: modified install script to create a git repo, for tracking changes to QEMU source — Alex / bitbucket
  777. QEMU: fix valgrind warnings — Alex / bitbucket
  778. QEMU: recognize ATA registers (5D3) — Alex / bitbucket
  779. QEMU: SD emulation working on 5D3 — Alex / bitbucket
  780. QEMU: dropped run_ml_*.sh (maintenance burden; just use run_ml.sh instead) — Alex / bitbucket
  781. QEMU: handle SD emulation on 70D — Alex / bitbucket
  782. QEMU: force bootflag enabled (for new ports) — Alex / bitbucket
  783. QEMU: definitions for 70D, 700D, 1100D, 1200D and EOS M — Alex / bitbucket
  784. QEMU: move Basic2 registers to GPIO (and fix them, since Basic2 was not called) — Alex / bitbucket
  785. QEMU: handle SD emulation on 6D — Alex / bitbucket
  786. QEMU: handle 4-bit palette registers (for bootloader) — Alex / bitbucket
  787. QEMU: check for card access past the end of the card — Alex / bitbucket
  788. QEMU: small fixes — Alex / bitbucket
  789. QEMU: make bootloader configuration default — Alex / bitbucket
  790. QEMU: SDIO emulation working in bootloader! (tested on 60D ROM, loads the "recovery" autoexec.bin and dumps the ROM to SD card image) — Alex / bitbucket
  791. QEMU: print SDIO register names, from http://magiclantern.wikia.com/wiki/Register_Map#SDCON — Alex / bitbucket
  792. QEMU: print REG_PRINT_CHAR (including DebugMsg's) in blue and REG_PRINT_NUM in green — Alex / bitbucket
  793. QEMU: wrap timers around when reaching reload value — Alex / bitbucket
  794. QEMU: fix bootloader palette (black and white colors) and disable YUV handling — Alex / bitbucket
  795. QEMU: patch 6D bootloader so it thinks it can load autoexec.bin (disabled by default; bootloader display test works!) — Alex / bitbucket
  796. QEMU: patch some MCR instructions that can't be emulated (6D/5D3) — Alex / bitbucket
  797. QEMU: fix some 6D bootloader GPIOs; verbose messages for other boot GPIOs — Alex / bitbucket
  798. QEMU: handle 6D SDIO — Alex / bitbucket
  799. Autoexec is executed from 0x800000, not 0x40800000 (updated both Makefile and QEMU) — Alex / bitbucket
  800. QEMU: lower stack pointer before loading autoexec — Alex / bitbucket
  801. QEMU: trace RAM reads + writes in a given range (define TRACE_MEM_START in eos.h to enable it) — Alex / bitbucket
  802. QEMU: handle bootloader display (can't recognize it yet, need to edit source to enable it) — Alex / bitbucket
  803. QEMU: handle all 3 timers, not just timer #2 (incomplete) — Alex / bitbucket
  804. QEMU: fix TIO text color — Alex / bitbucket
  805. QEMU: handle CLOCK_ENABLE register (incomplete) — Alex / bitbucket
  806. QEMU: load autoexec at 0x40800000 (fixes debug symbols in reboot.c) — Alex / bitbucket
  807. QEMU: fix interrupts triggered while another interrupt is running — Alex / bitbucket
  808. QEMU: more accurate timer handling (tested with msleep + get_ms_clock_value + PC clock) — Alex / bitbucket
  809. QEMU: highlight TIO messages in red; quiet 0xC0800008 — Alex / bitbucket
  810. QEMU: handle 5D2 CF LED — Alex / bitbucket
  811. QEMU: more verbose DMA messages — Alex / bitbucket
  812. QEMU: fix tabs — Alex / bitbucket
  813. QEMU: fix warning — Alex / bitbucket
  814. QEMU: refactored register-related messages to be a little more consistent and reduce duplicate code (io_log) — Alex / bitbucket
  815. QEMU scripts: minor cleanups — Alex / bitbucket

#46 (Sep 6, 2017 1:17:28 AM)

  1. mlv_dump: backout 9ce0339
    http://www.magiclantern.fm/forum/index.php?topic=19300.msg189600#msg189600 — alex@thinkpad / bitbucket
  2. mlv_lite: fix - some frames were written twice when recording was about to stop
    (bug introduced with variable frame size support) — alex@thinkpad / bitbucket
  3. mlv_play: experimental check for duplicate frames
    (warnings printed to console; false positives on overexposed footage) — alex@thinkpad / bitbucket
  4. 550D: SRM_BUFFER_SIZE (tecgen) — alex@thinkpad / bitbucket
  5. mlv_lite: reallocate memory on video mode change — alex@thinkpad / bitbucket
  6. mlv_lite: fix memory configuration not updating when changing pre-recording settings — alex@thinkpad / bitbucket
  7. Memory backend: allow smaller buffers from SRM (experimental) — alex@thinkpad / bitbucket
  8. exmem: fix srm_malloc — alex@thinkpad / bitbucket
  9. Merged lua_fix into crop_rec_4k — alex@thinkpad / bitbucket
  10. Merged in daniel_fort/magic-lantern/crop_rec_4k_EOSM_700D_SRM_BUFFER_SIZE (pull request #852)

    SRM_BUFFER_SIZE for EOSM and 700D — Alex <broscutamaker@gmail.com> / bitbucket
  11. Found SRM_BUFFER_SIZE for EOSM and 700D — Daniel Fort <dan@digiola.com> / bitbucket
  12. menu: fix null pointer issue in dynamic menus — alex@thinkpad / bitbucket
  13. menu: fix regression in Modified menu (with API tests) — alex@thinkpad / bitbucket

#45 (Sep 3, 2017 3:38:39 PM)

  1. Merged in Licaon_Kter/magic-lantern-1/Licaon_Kter/mlv_recc-raw_force_aspect_ratio_1to1-ra-1503794292880 (pull request #851)

    mlv_rec.c: raw_force_aspect_ratio_1to1(); -> raw_force_aspect_ratio(1,1);

    Approved-by: Daniel Fort <dan@digiola.com>
    Approved-by: Lars Steenhoff <larssteenhoff@gmail.com> — Alex <broscutamaker@gmail.com> / bitbucket
  2. mlv_rec.c: raw_force_aspect_ratio_1to1(); -> raw_force_aspect_ratio(1,1); — Licaon Kter <licaon.kter@protonmail.com> / bitbucket
  3. Removed use-after-free hacks from raw backend, mlv_lite and silent modules — alex@thinkpad / bitbucket
  4. exmem: test to make sure the SRM use-after-free method is safe for raw recording
    (requires compiling with CONFIG_RSCMGR_UNUSED_SPACE_TEST, which will increase the startup time) — alex@thinkpad / bitbucket
  5. exmem: free one SRM buffer (use-after-free) to avoid the BUSY screen
    with Shoot memory also allocated, Canon firmware does not appear to change the memory layout
    or allocate memory from this pool - it won't record H.264, won't take pictures, won't enter/exit LiveView
    therefore, this kind of usage hopefully carries a very low risk of overwriting or being overwritten
    (still hackish) — alex@thinkpad / bitbucket
  6. mlv_lite: only report compression errors while recording — alex@thinkpad / bitbucket
  7. Merged thread-safety into crop_rec_4k — alex@thinkpad / bitbucket
  8. Merged lua_fix into crop_rec_4k — alex@thinkpad / bitbucket
  9. 5D3: Preferred Card disabled by default
    (no longer needed with H.264 proxy - RAW now goes to CF by default anyway) — alex@thinkpad / bitbucket
  10. exmem: hardcoded SRM buffer size in consts.h for speed (5D3; to be ported to other models)
    note: the SRM allocator is very slow, so autodetection may not be the best way — alex@thinkpad / bitbucket
  11. exmem: reworked SRM routines to allow multiple calls in any order, either as memory suites or plain buffers
    (todo: add tests) — alex@thinkpad / bitbucket
  12. Raw backend: make sure raw_info.buffer is always cacheable — alex@thinkpad / bitbucket
  13. uilock: fix going from some locked state to a different locked state — alex@thinkpad / bitbucket
  14. mlv_dump: minor whitespace fixes — alex@thinkpad / bitbucket
  15. menu: removed obsolete menu screenshots — alex@thinkpad / bitbucket
  16. menu: workaround for file_man
    (fixme: still relying on name lookup to find submenus) — alex@thinkpad / bitbucket
  17. menu: store submenu parent in the menu structure; more submenu fixes — alex@thinkpad / bitbucket
  18. Makefile: with WIFI_SD=y, ping the card until it comes online (useful for router connections) — alex@thinkpad / bitbucket
  19. Merged lua_fix into thread-safety — alex@thinkpad / bitbucket
  20. raw.c: thread safety annotations — alex@thinkpad / bitbucket
  21. ml-cbr: thread safety annotations; minor refactor — alex@thinkpad / bitbucket
  22. menu: allow is_menu_entry_selected to operate on submenus
    (for Lua menu.select; updated api_test.lua) — alex@thinkpad / bitbucket
  23. menu: refactored submenu selection to avoid duplicate code; minor rename — alex@thinkpad / bitbucket
  24. menu: removed side effects from get_current_submenu — alex@thinkpad / bitbucket
  25. menu: allow submenu selection by name
    (updated api_test.lua) — alex@thinkpad / bitbucket
  26. menu: fix parent menu issues in composite submenus — alex@thinkpad / bitbucket
  27. menu: refactored to fix thread safety in menu_add — alex@thinkpad / bitbucket
  28. menu: fix parent menu issues in most menus (todo: composite submenus) — alex@thinkpad / bitbucket
  29. menu: check whether each submenu entry actually has a parent
    (fixme: most don't) — alex@thinkpad / bitbucket
  30. 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
  31. Modules: moved Show console to top level — alex@thinkpad / bitbucket
  32. Memory backend: when checking available memory, allocate both Shoot ans SRM at the same time
    (they may overlap) — alex@thinkpad / bitbucket
  33. debug: reworked "Show GUI Events" to use the console — alex@thinkpad / bitbucket
  34. gui_common: removed unused ui_lock (everything calls gui_uilock instead) — alex@thinkpad / bitbucket
  35. console: enable in LiveView alongside with ML overlays (experimental) — alex@thinkpad / bitbucket
  36. Memory backend: fix initialization — alex@thinkpad / bitbucket
  37. Menu: use submenu_height for scrolling — alex@thinkpad / bitbucket
  38. ettr: fix debug code — alex@thinkpad / bitbucket
  39. Makefile: option for strict thread safety checking
    example: make mlv_lite.t STRICT=y — alex@thinkpad / bitbucket
  40. mlv_dump: remove 32 bit mode enforcement for mlv_dump binary — g3gg0 / bitbucket
  41. raw.h/mlv_rec: use new type raw_info_t for host programs to decouple file format and native camera structures — g3gg0 / bitbucket

#42 (Aug 26, 2017 11:25:58 PM)

  1. crop_rec: 1040p48 appears to work after latest changes
    (1060p48 also works with some tweaking) — alex@thinkpad / bitbucket
  2. Raw backend: attempt to handle raw_lv_request called outside LiveView (race condition?) — alex@thinkpad / bitbucket
  3. mlv_lite: blacken H.264 frames not covered by RAW recording
    (poor man's sync between RAW and H.264 proxy - just trim the black frames from H.264) — alex@thinkpad / bitbucket
  4. fps-engio: experimental support for bias frames (with zero exposure time) — alex@thinkpad / bitbucket
  5. mlv_lite: H.264 proxy works again — alex@thinkpad / bitbucket
  6. console: enable in LiveView alongside with ML overlays (experimental) — alex@thinkpad / bitbucket
  7. exmem, gui-common: simplified UILock handling; debug info — alex@thinkpad / bitbucket
  8. mlv_lite: keep memory allocated during standby (experiment)
    advantages:
    - recording starts right away, with minimal delay
      (allocating the entire RAM is slow - 1 or 2 seconds - now it's done in advance)
    - we always have temporary RAM for estimating compression ratio
      (estimating compression ratio in dummy mode - without actual output - was unreliable, giving corrupted frames)
    - possible to implement full-time pre-recording, without pressing REC twice (todo)
    problems:
    - possible thread safety issues (to be tested)
    - SRM use after free is disabled, needs more work
    - H.264 proxy also needs more work — alex@thinkpad / bitbucket
  9. mlv_lite: renamed raw_preview_lock to settings_sem; more thread safety annotations — alex@thinkpad / bitbucket
  10. lossless: backout d50e3ab (disable dummy operation - unreliable) — alex@thinkpad / bitbucket
  11. cropmarks: minor boundary fix — alex@thinkpad / bitbucket
  12. mlv_lite: fix audio meters with H.264 proxy
    (change required after 0475c45) — alex@thinkpad / bitbucket
  13. mlv_lite: report all compression errors — alex@thinkpad / bitbucket
  14. mlv_lite: silence thread safety warnings in measure_compression_ratio — alex@thinkpad / bitbucket
  15. mlv_lite: cleaned up some raw_rec_task variables — alex@thinkpad / bitbucket
  16. mlv_lite: ignore thread safety warnings for buffer_full
    (0 when recording starts; set to 1 from either LiveViewTask or compress_task; read from many places ) — alex@thinkpad / bitbucket
  17. mlv_lite: fix possible race condition
    (identified by thread safety analysis) — alex@thinkpad / bitbucket
  18. mlv_lite: fix possible lockup
    (identified by thread safety analysis) — alex@thinkpad / bitbucket
  19. mlv_lite: updated some thread safety annotations — alex@thinkpad / bitbucket
  20. Merged thread-safety into crop_rec_4k — alex@thinkpad / bitbucket
  21. Makefile: workaround for compiling backtrace.t
    (fixme: what's going on?) — alex@thinkpad / bitbucket
  22. Makefile: fix dependency rules (regression)
    note: -Wp,-MP conflicts with backtrace rules from Makefile.src — alex@thinkpad / bitbucket
  23. mlv_lite: forgot to call init_vsync_vars; ignore thread safety warning for this call — alex@thinkpad / bitbucket
  24. mutex.h: macro to skip thread safety analysis on some particular function call — alex@thinkpad / bitbucket
  25. mlv_lite: more thread safety annotations — alex@thinkpad / bitbucket
  26. property.h: annotated PROP_HANDLER with thread role — alex@thinkpad / bitbucket
  27. Merged lua_fix into thread-safety — alex@thinkpad / bitbucket
  28. Merged lua_fix into crop_rec_4k — alex@thinkpad / bitbucket
  29. Merged unified into lua_fix — alex@thinkpad / bitbucket
  30. 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
  31. menu: do not overwrite existing customization data when reloading
    (only reload data for newly added menu entries) — alex@thinkpad / bitbucket
  32. menu: fix usage counters for menu items with placeholders — alex@thinkpad / bitbucket
  33. menu: allow simple submenus in Recent menu — alex@thinkpad / bitbucket
  34. menu: allow Debug entries in Junkie mode — alex@thinkpad / bitbucket
  35. Modules: make sure we can really use up to 64 of them (fix commit 8ad0912) — alex@thinkpad / bitbucket
  36. file_man: show status in main menu, if busy — alex@thinkpad / bitbucket
  37. file_man: disable powersaving during long copy/move operations — alex@thinkpad / bitbucket
  38. 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
  39. file_man: show timestamp for each file; align date/time column — alex@thinkpad / bitbucket
  40. menu: fix Junkie short text overflowing in some cases — alex@thinkpad / bitbucket
  41. 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
  42. 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
  43. menu: better duplicate menu warning; minor rename — alex@thinkpad / bitbucket
  44. mlv_lite: pause LiveView while flushing the buffers at the end of recording; simple progress indicator
    http://www.magiclantern.fm/forum/index.php?topic=19300.msg185905#msg185905
    note: undoing the Frozen LV hack is no longer needed, as pausing/resuming LiveView takes care of that — alex@thinkpad / bitbucket
  45. crop_rec: reduced resolution from 1080p48 to 1020 to avoid corrupted frames
    (to get the old configuration, set Target YRES to 1080 and Delta HEAD3 to -20 in the crop_rec submenu) — alex@thinkpad / bitbucket
  46. mlv_lite: annotate new functions, fix thread safety warnings — alex@thinkpad / bitbucket
  47. lvinfo.c: updated with EXCLUDES(lvinfo_sem)
    (just for consistency) — alex@thinkpad / bitbucket
  48. menu.c: updated to prevent taking menu_sem twice — alex@thinkpad / bitbucket
  49. mutex-test: updated to prevent taking a semaphore twice — alex@thinkpad / bitbucket
  50. menu.c: fix orphaned give_semaphore call — alex@thinkpad / bitbucket
  51. Merged lua_fix into thread-safety — alex@thinkpad / bitbucket
  52. Merged lua_fix into thread-safety — alex@thinkpad / bitbucket
  53. selftest: compile-time option to test the behavior of DryOS tasks with identical priorities — alex@thinkpad / bitbucket
  54. selftest: experimental thread safety tests (WIP) — alex@thinkpad / bitbucket
  55. Merged task_name into thread-safety — alex@thinkpad / bitbucket
  56. ml-cbr: fix warning — alex@thinkpad / bitbucket
  57. lvinfo: annotated for thread safety analysis
    (all OK, just a false warning) — alex@thinkpad / bitbucket
  58. Thread safety analysis: ignore read warnings for now — alex@thinkpad / bitbucket
  59. mlv_lite: annotated some variables for thread safety analysis (experiment) — alex@thinkpad / bitbucket
  60. mutex.h: some common thread roles — alex@thinkpad / bitbucket
  61. Merged unified into thread-safety — alex@thinkpad / bitbucket
  62. arm-mcr.h: annotated cli/sei for clang thread safety analysis — alex@thinkpad / bitbucket
  63. Experiment: clang thread safety warnings during compilation
    Had to use gcc preprocessor (conflicts with clang includes?)
    make PREPRO=1 — alex@thinkpad / bitbucket
  64. Internal vsync functions are now private (not exposed to modules) — alex@thinkpad / bitbucket
  65. dryos.h: annotated semaphores for clang thread safety analysis — alex@thinkpad / bitbucket
  66. Makefile: always allow .i rules
    (they no longer conflict with .c dependency rules) — alex@thinkpad / bitbucket
  67. lens.h: fix compiling with clang — alex@thinkpad / bitbucket
  68. Minimal example of clang's thread safety analysis — alex@thinkpad / bitbucket
  69. check-tasks.py: do not tag PROP_INTs — alex@thinkpad / bitbucket
  70. check-tasks.py: show function name when it's not obvious from the context — alex@thinkpad / bitbucket
  71. Removed some pycparser workarounds — alex@thinkpad / bitbucket
  72. Integrated task annotations script in the build process, as suggested by g3gg0 — alex@thinkpad / bitbucket
  73. Makefile: experiment - save preprocessed C files during compilation (*.c -> *.i -> *.o)
    To enable, run "make PREPRO=y" or set PREPRO=y in Makefile.user — alex@thinkpad / bitbucket
  74. Makefile: remove *.i and *.s on make clean — alex@thinkpad / bitbucket
  75. Makefile: cleaned up file rules a bit — alex@thinkpad / bitbucket
  76. Merged dynamic-my-menu into thread-safety — alex@thinkpad / bitbucket
  77. Experiment: tag each ML function with the task(s) where it's called from
    (static analysis with pycparser) — alex@thinkpad / bitbucket
  78. Some patches to allow parsing ML code with pycparser — alex@thinkpad / bitbucket
  79. Updated some macros to allow pycparser compatibility — alex@thinkpad / bitbucket

#41 (Aug 22, 2017 6:33:44 PM)

  1. mlv.c: fix buffer overflow in mlv_build_vers — alex@thinkpad / bitbucket
  2. lossless: fix operation in dummy mode — alex@thinkpad / bitbucket
  3. lossless: quick check whether the operation was successful
    (a few frames did not start with a valid JPEG marker; figure out why) — alex@thinkpad / bitbucket
  4. Patch manager: typo (fix 56f1d7c) — alex@thinkpad / bitbucket
  5. silent pictures: basic DNG metadata
    (aperture not exact, figure out why) — alex@thinkpad / bitbucket
  6. fps-engio: use latest timer values when computing shutter speed
    (the difference is visible only right after changing a video mode)
    (compile-time warning for models that still use old methods) — alex@thinkpad / bitbucket
  7. fps-engio: get_frame_aperture — alex@thinkpad / bitbucket
  8. silent: handle image review time from Canon menu (incomplete) — alex@thinkpad / bitbucket
  9. mlv_lite: fine-tuned pre-recording time indicator — alex@thinkpad / bitbucket
  10. mlv_lite: fix time indicator when pre-recording is used — alex@thinkpad / bitbucket
  11. Patch manager: disabled name lookup to avoid duplicate menu errors — alex@thinkpad / bitbucket
  12. menu: better duplicate menu warning; minor rename — alex@thinkpad / bitbucket

#39 (Aug 20, 2017 9:33:58 PM)

  1. silent: make sure Fullres LV captures a full-res image, even when triggered from x5/x10 zoom — alex@thinkpad / bitbucket
  2. Null pointer check is only needed for 5D3
    (other models are extremely unlikely to be affected) — alex@thinkpad / bitbucket
  3. raw.c: fix memory management without CONFIG_ALLOCATE_RAW_LV_BUFFER — alex@thinkpad / bitbucket
  4. mlv_play: fix compilation — alex@thinkpad / bitbucket
  5. lossless.c: minor cleanups — alex@thinkpad / bitbucket
  6. raw.c: removed unused/incorrect RAW_LV_BUFFER_ALLOC_SIZE on 700D/EOSM
    (they are only required for full-res LiveView, and their value will be the max raw buffer size in this mode) — alex@thinkpad / bitbucket
  7. Lossless compression working on EOSM. mlv_play doesn't build. — Daniel Fort <dan@digiola.com> / bitbucket
  8. Merged ErwinH's 700D changes
    (without null pointer workarounds) — alex@thinkpad / bitbucket
  9. Playback of compressed raw footage.
    Fix of malloc error. — Erwin Houtsma <erwin@houtsmabedrijfsadvies.nl> / bitbucket
  10. * Changes for running crop_rec_4k on 700d including lossless DNG.
    * Different resources for different camera's didn't work (for now) so only usable for 700D.
    * Resources for 5D3 and 700D by calling CreateResLockEntry inside if-statement. — Erwin Houtsma <erwin@houtsmabedrijfsadvies.nl> / bitbucket
  11. pic_view: lossless DNG support (experimental) — alex@thinkpad / bitbucket
  12. exmem: fix typo (very large malloc works again) — alex@thinkpad / bitbucket
  13. silent: experimental full-res LV automation, via crop_rec
    load silent.mo and crop_rec.mo, leave Crop Mode OFF, set Silent Mode to Full-Res LV and press shutter halfway
    advantage: preview
    disadvantage: shutter lag (while switching LiveView modes) — alex@thinkpad / bitbucket
  14. Merged patchmgr into crop_rec_4k — alex@thinkpad / bitbucket
  15. Patch manager: ensure valid menu name for all entries — alex@thinkpad / bitbucket
  16. Merged lua_fix into crop_rec_4k — alex@thinkpad / bitbucket
  17. ResumeLiveView: return as soon as we have a valid frame and display is back on — alex@thinkpad / bitbucket
  18. silent: always show preview (and pause LiveView) — alex@thinkpad / bitbucket
  19. silent: do not compress DNGs in place
    (fixes various issues, but memory management is more difficult) — alex@thinkpad / bitbucket
  20. 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
  21. Merged unified into crop_rec_4k — alex@thinkpad / bitbucket
  22. Merged unified into crop_rec_4k — alex@thinkpad / bitbucket
  23. Merged in raw_fixes (pull request #828)

    Raw fixes part 5 — Alex <broscutamaker@gmail.com> / bitbucket
  24. fio-ml: added get_dcim_dir_suffix(); moved get_dcim_dir() from dryos.h — alex@thinkpad / bitbucket
  25. mlv_rec/mlv_lite: moved write_mlv_vers_blocks to mlv.c/h
    (avoids duplicate code) — alex@thinkpad / bitbucket
  26. mlv_play: fix a fio_malloc issue (not tested, might fix issue #2766) — alex@thinkpad / bitbucket
  27. Merged in raw_capture_info (pull request #827) — alex@thinkpad / bitbucket
  28. patch.c: fix warning — alex@thinkpad / bitbucket
  29. Merged unified into patchmgr — alex@thinkpad / bitbucket
  30. lua.c: fix warning — alex@thinkpad / bitbucket
  31. 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
  32. Lua: block keys on key.wait()
    hello.lua updated to wait only for SET (and block only this key) — alex@thinkpad / bitbucket
  33. Merged unified into lua_fix — Alex <broscutamaker@gmail.com> / bitbucket
  34. 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
  35. selftest: fix bad merge — alex@thinkpad / bitbucket
  36. Merged cache-fixes into lua_fix — alex@thinkpad / bitbucket
  37. Merged unified into lua_fix — alex@thinkpad / bitbucket
  38. menu: attempt to fix file_man crash (a little hackish...) — alex@thinkpad / bitbucket
  39. file_man: disable name lookup on its submenu
    (should fix speed regression in directories with many files - to be tested) — alex@thinkpad / bitbucket
  40. api_test.lua: tests for image_prefix and for bracketed images — alex@thinkpad / bitbucket
  41. Lua: camera.wait()
    (waits until the image was fully saved; required for testing dryos.image_prefix) — alex@thinkpad / bitbucket
  42. 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
  43. menu: fix buffer overflow (off by one) when hiding many menu items — alex@thinkpad / bitbucket
  44. menu: disable name look-up in Modules and Help — alex@thinkpad / bitbucket
  45. 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
  46. menu: removed some redundant null pointer checks
    (no longer needed after enforcing valid names) — alex@thinkpad / bitbucket
  47. 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
  48. menu.h: comments for struct menu_entry and struct menu — alex@thinkpad / bitbucket
  49. menu: make sure internal fields are not set before menu_add — alex@thinkpad / bitbucket
  50. menu: require valid name for all menus (easier than fixing null pointer errors) — alex@thinkpad / bitbucket
  51. config.c: fix read from null pointer — alex@thinkpad / bitbucket
  52. Undo e64c9a5 (shutdown lock-up) — alex@thinkpad / bitbucket
  53. 5D3 1.2.3: fix CARD_A_MAKER (off by one) — alex@thinkpad / bitbucket
  54. Merged memcheck-fixes into lua_fix — alex@thinkpad / bitbucket
  55. 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
  56. 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
  57. menu.c: fix incomplete initialization when creating menus
    (this time the memory warning was correct) — alex@thinkpad / bitbucket
  58. menu.h: disabled bit fields in struct menu
    (they caused false warnings in the memory checking tool) — alex@thinkpad / bitbucket
  59. Merged memcheck-fixes into lua_fix — alex@thinkpad / bitbucket
  60. 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
  61. 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
  62. Raw backend: exact height autodetection for 5D3
    (lossless 8-12 bit compression works!) — alex@thinkpad / bitbucket
  63. 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
  64. mlv_lite: slow down color preview to let lower-priority tasks run (such as histogram) — alex@thinkpad / bitbucket
  65. 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
  66. 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
  67. FPS override: also display rolling shutter as percentage of frame duration — alex@thinkpad / bitbucket
  68. 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
  69. Include strstr in ML core — alex@thinkpad / bitbucket
  70. mlv_lite: fix squeeze info in menu for 50/60p modes — alex@thinkpad / bitbucket
  71. mlv_lite: display actual aspect ratio in menu, if different from selection — alex@thinkpad / bitbucket
  72. raw_rec: fix some resolution inconsistencies — alex@thinkpad / bitbucket
  73. mlv_lite: fine-tuned menu for Frozen LV mode
    (previously known as Hacked Preview) — alex@thinkpad / bitbucket
  74. 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
  75. 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
  76. lens.h: fix APEX for Auto ISO (return 0) — alex@thinkpad / bitbucket
  77. Patch manager: with CONFIG_QEMU, simply patch as if writing to RAM (and ignore cache issues) — alex@thinkpad / bitbucket
  78. Patch manager: use const char * for patch_hook_function's description — alex@thinkpad / bitbucket
  79. Merged unified into patchmgr — alex@thinkpad / bitbucket
  80. Merged unified into patchmgr — alex@thinkpad / bitbucket
  81. Merged unified into lua_fix — alex@thinkpad / bitbucket
  82. lens.h: fix bad merge — alex@thinkpad / bitbucket
  83. Lua: fix error checking in menu.get (also API test) — alex@thinkpad / bitbucket
  84. Lua: unify menu.get and menu.gets (using an optional argument for menu.get) — alex@thinkpad / bitbucket
  85. Merged unified into lua_fix — alex@thinkpad / bitbucket
  86. Lua: menu.gets (to get menu value as string)
    api_test.lua updated as well — alex@thinkpad / bitbucket
  87. menu: fix thread safety for menu_get_str_value_from_script — alex@thinkpad / bitbucket
  88. api_test.lua: test for menu automation API (selecting existing ML menus, changing values) — alex@thinkpad / bitbucket
  89. menu: misc fixes on select_menu_by_name
    (thread safety; fix conflict with initial menu selection; refuse to operate on submenus) — alex@thinkpad / bitbucket
  90. Lua: split menu open/select functionality — alex@thinkpad / bitbucket
  91. 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
  92. Menu: range checking for menu_set_value_from_script (Lua menu.set with integer value argument) — alex@thinkpad / bitbucket
  93. Menu: fix duplicate warning on 50D — alex@thinkpad / bitbucket
  94. 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
  95. Lua: fix typo that prevented lens.focus_pos from appearing in the documentation — alex@thinkpad / bitbucket
  96. Lua: minor doc updates — alex@thinkpad / bitbucket
  97. Lua: tag all backend messages with [SCRIPT.LUA] where possible — alex@thinkpad / bitbucket
  98. recdelay.lua: misc fixes — alex@thinkpad / bitbucket
  99. Lua: disable auto-autorun (any script that should autorun must be configured manually by user) — alex@thinkpad / bitbucket
  100. Lua: test script for unloading behavior (unload.lua) — alex@thinkpad / bitbucket
  101. Lua: tag all backend messages with [Lua]; minor fine-tunings — alex@thinkpad / bitbucket
  102. 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
  103. Fix compiling on cameras without Q button
    (broken in 459da11) — alex@thinkpad / bitbucket
  104. selftest: fix false warning in half-shutter test — alex@thinkpad / bitbucket
  105. 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
  106. Modules: yet another attempt at fixing fast scrollwheel events
    (previous: b0891f9, 2cc2768) — alex@thinkpad / bitbucket
  107. Undo 2cc2768 (fast scrollwheel events no longer working) — alex@thinkpad / bitbucket
  108. api_test.lua: stronger half-shutter test; fine-tuned delays — alex@thinkpad / bitbucket
  109. api_test.lua: fix movie test on manual lenses — alex@thinkpad / bitbucket
  110. api_test.lua: fix bulb test on slow SD cameras — alex@thinkpad / bitbucket
  111. api_test.lua: fix AF test on manual lenses — alex@thinkpad / bitbucket
  112. lua_key: re-enabled yielding during key.wait()
    using the same workaround as task.yield() — alex@thinkpad / bitbucket
  113. Merged dynamic-my-menu into lua_fix (solves some menu issues) — alex@thinkpad / bitbucket
  114. Lua lens.autofocus(): fix for 100D (to be tested)
    Updated selftest module as well. — alex@thinkpad / bitbucket
  115. lua_key: disabled yielding during key.wait()
    (until a proper fix is implemented, better avoid multitasking) — alex@thinkpad / bitbucket
  116. lua_task: workaround to prevent troublesome task.yield() calls
    (appears to work, but cannot guarantee it's actually thread-safe) — alex@thinkpad / bitbucket
  117. 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
  118. Merged focus into lua_fix (pull request #748)
    Focus backend updates and lens.focus_pos fine position counter — alex@thinkpad / bitbucket
  119. 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
  120. 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
  121. Menu: fix duplicate warning in the Help tab on some models — alex@thinkpad / bitbucket
  122. Menu: updated navigation help — alex@thinkpad / bitbucket
  123. file_man: refactored action types with enum and case switch
    (compiler now checks whether all action types are covered) — alex@thinkpad / bitbucket
  124. file_man: use unnamed menu entries for speed
    (named entries are now checked for duplicates => slow in folders with many files) — alex@thinkpad / bitbucket
  125. Menu: some extra sanity checks during customization — alex@thinkpad / bitbucket
  126. Menu: removed duplicate definitions of menu_open_submenu — alex@thinkpad / bitbucket
  127. Modules: fix duplicate menu warning — alex@thinkpad / bitbucket
  128. Menu: check for duplicate entries
    (the check is repeated after each menu_add call) — alex@thinkpad / bitbucket
  129. Menu: refactored most menu iterations with for loops — alex@thinkpad / bitbucket
  130. 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
  131. Menu: skip placeholders in entry_find_by_name; related cleanups — alex@thinkpad / bitbucket
  132. Menu: link each submenu entry with its parent entry
    (rather than using name lookup) — alex@thinkpad / bitbucket
  133. Merged lua_fix into dynamic-my-menu
    (other menu fixes + module API version) — alex@thinkpad / bitbucket
  134. Menu: fix selection in Modified menu (broken in 0b6fcbc) — alex@thinkpad / bitbucket
  135. lua_lens: minor doc update (return value for lens_focus) — alex@thinkpad / bitbucket
  136. Menu: minor display fixes in Junkie mode — alex@thinkpad / bitbucket
  137. Menu: fix some interferences between menu customization and dynamic menus — alex@thinkpad / bitbucket
  138. Menu: experiment - dynamic Junkie menu
    FIXME: manual Junkie customizations are overriden, unless at least one item is starred. Important? — alex@thinkpad / bitbucket
  139. force_liveview: fix operation after taking a picture — alex@thinkpad / bitbucket
  140. Menu: fix last entry not disappearing from Modified menu — alex@thinkpad / bitbucket
  141. Menu: fix initial selection when it is a dynamic menu
    http://www.magiclantern.fm/forum/index.php?topic=17811.0 — alex@thinkpad / bitbucket
  142. 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
  143. Menu: minor refactor (checking dynamic menus) — alex@thinkpad / bitbucket
  144. Menu: usage counters (for displaying a menu with recently used entries)
    Warning: existing menu customizations will be lost. — alex@thinkpad / bitbucket
  145. lua_movie: some more preconditions + API tests — alex@thinkpad / bitbucket
  146. api_test.lua: simple multitasking test (crashes, do not run on expensive cameras!) — alex@thinkpad / bitbucket
  147. Lua task.create: throw error on failure — alex@thinkpad / bitbucket
  148. Lua lens.focus: throw an error if preconditions (LiveView and autofocus) are not met — alex@thinkpad / bitbucket
  149. lens_focus: allow running right after taking a picture (experiment) — alex@thinkpad / bitbucket
  150. Lua lens.focus: updated default wait and docs — alex@thinkpad / bitbucket
  151. enter_play_mode: increase delay (fixes some redraw issues, e.g. in benchmarks) — alex@thinkpad / bitbucket
  152. Lua: nicer behavior in Junkie menu (still not perfect) — alex@thinkpad / bitbucket
  153. Modules: increase max count to 64 — alex@thinkpad / bitbucket
  154. selftest.mo: fine-tuned AF test — alex@thinkpad / bitbucket
  155. Fix Q button handling on cameras with this button (bad includes) — alex@thinkpad / bitbucket
  156. Fix button handling outside menu (typo) — alex@thinkpad / bitbucket
  157. 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
  158. 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
  159. Lua: fix incomplete commit 8191fd4 — alex@thinkpad / bitbucket
  160. lua_lv: lvinfo items default to any info bar — alex@thinkpad / bitbucket
  161. lua_menu: reorder functions so the most basic ones appear first in doc — alex@thinkpad / bitbucket
  162. lua_menu: drop menu customization attributes
    (overriding them doesn't work well anyway) — alex@thinkpad / bitbucket
  163. Lua: more doc updates (WIP) — alex@thinkpad / bitbucket
  164. lens.c: some debug info for focus commands (to be removed before merging) — alex@thinkpad / bitbucket
  165. lens.h: declared lens_info.focus_pos on remaining cameras
    (tested on 5D3 123; to be tested on EOS M, 6D...) — alex@thinkpad / bitbucket
  166. Merged lua_fix into focus — alex@thinkpad / bitbucket
  167. Lua: misc doc updates (WIP) — alex@thinkpad / bitbucket
  168. lua_constants: reordered to get the simpler ones first in the doc — alex@thinkpad / bitbucket
  169. Lua: remove pre_shoot/post_shoot from docs (not yet implemented) — alex@thinkpad / bitbucket
  170. menu.c, select_menu_by_name: allow optional entry_name parameter; keep the current selection on error — alex@thinkpad / bitbucket
  171. 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
  172. Lua: always open script submenu on SET; show menus created by script under the script menu — alex@thinkpad / bitbucket
  173. menu.c: fix null pointer in mod_menu_rebuild — alex@thinkpad / bitbucket
  174. menu.c, entry_find_by_name: do not return duplicate entries and entries from dynamic menus (to be tested) — alex@thinkpad / bitbucket
  175. selftest.mo: test for autofocus routines — alex@thinkpad / bitbucket
  176. Lua: camera.shoot() no longer autofocuses by default — alex@thinkpad / bitbucket
  177. Lua: removed global shoot(); use camera.shoot() instead — alex@thinkpad / bitbucket
  178. api_test.lua: minor typo — alex@thinkpad / bitbucket
  179. lens_take_picture: wait for file number to change before returning; minor cleanups — alex@thinkpad / bitbucket
  180. Lua lens.focus: delay default to 10ms when wait=false; doc updates — alex@thinkpad / bitbucket
  181. force_liveview: make sure LV is fully started before returning — alex@thinkpad / bitbucket
  182. Lua: experimental lens.autofocus() — alex@thinkpad / bitbucket
  183. Lua: fine-tuned startup messages — alex@thinkpad / bitbucket
  184. Merged unified into lua_fix — alex@thinkpad / bitbucket
  185. Modules: allow including module.h in multiple source files
    (fixes compilation of edmac.mo) — alex@thinkpad / bitbucket
  186. Modules: removed some unused definitions — alex@thinkpad / bitbucket
  187. api_test.lua: fix typo in lens.focus call, thanks garry23 — alex@thinkpad / bitbucket
  188. Lua: menu.open() can optionally select a given menu or submenu — alex@thinkpad / bitbucket
  189. rbf_font: very rough support for tab characters — alex@thinkpad / bitbucket
  190. editor.lua: exit file dialog if menu is no longer active — alex@thinkpad / bitbucket
  191. Lua: allow editing any script from context menu using editor.lua (Q -> Edit Script) — alex@thinkpad / bitbucket
  192. Lua: basic support for script arguments (arg, ...)
    http://www.lua.org/manual/5.1/manual.html#6 — alex@thinkpad / bitbucket
  193. Lua: always use first line as script name in menu (use ... if too long) — alex@thinkpad / bitbucket
  194. Lua: display script file name on the right if the script is not running — alex@thinkpad / bitbucket
  195. Lua: fine-tuned user feedback when loading/running scripts — alex@thinkpad / bitbucket
  196. Lua: check string length in pixels when choosing between script name (first line) or script filename for menu display — alex@thinkpad / bitbucket
  197. Merged unified into lua_fix — alex@thinkpad / bitbucket
  198. menu: fix regression about font bg color — alex@thinkpad / bitbucket
  199. bfnt_draw_char: option for not erasing the background (old behavior, to fix existing code) — alex@thinkpad / bitbucket
  200. bmp_printf: erase background when using FONT_CANON (to be tested) — alex@thinkpad / bitbucket
  201. bmp_printf: allow transparent text on transparent background
    (note: this breaks binary compatibility with modules) — alex@thinkpad / bitbucket
  202. Focus backend: fix lens getting stuck at one end (reset retry count after reporting error) — alex@thinkpad / bitbucket
  203. api_test.lua: minor fix for focus distance — alex@thinkpad / bitbucket
  204. Focus backend: only report focus error when the lens gets stuck (doesn't move at all after 2 retries) — alex@thinkpad / bitbucket
  205. Lua: exposed lens_info.focus_pos as lens.focus_pos and added an API test — alex@thinkpad / bitbucket
  206. Merged lua_fix into focus — alex@thinkpad / bitbucket
  207. lens.c: record relative focus motor position in lens_info.focus_pos, http://www.magiclantern.fm/forum/index.php?topic=4997 — alex@thinkpad / bitbucket
  208. lens.c: removed EOSM-specific code that appears superfluous; are focus ring triggers still working? — alex@thinkpad / bitbucket
  209. fio-ml: fix Lua const char warnings in FIO_Rename/Copy/MoveFile — alex@thinkpad / bitbucket
  210. api_test.lua: minor cleanups — alex@thinkpad / bitbucket
  211. Lua: dryos.rename (including API tests) — alex@thinkpad / bitbucket
  212. Lua: ignore unknown button codes — alex@thinkpad / bitbucket
  213. api_test.lua: relax half-shutter check a bit (the event is not sent right away) — alex@thinkpad / bitbucket
  214. Lua: reserve 256K for umm_malloc instead of 512K (since we no longer load all scripts at once) — alex@thinkpad / bitbucket
  215. Merged in lua_umm_malloc (pull request #724)

    Use umm_malloc for Lua to reduce memory fragmentation — a1ex <broscutamaker@gmail.com> / bitbucket
  216. Close branch lua_umm_malloc — a1ex <broscutamaker@gmail.com> / bitbucket
  217. Lua: removed run_in_separate_task — alex@thinkpad / bitbucket
  218. Lua: menu item to show/hide the console — alex@thinkpad / bitbucket
  219. Lua: show last script error in menu (to be tested) — alex@thinkpad / bitbucket
  220. Lua: fix memory/semaphore leak when running the same script many times — alex@thinkpad / bitbucket
  221. Lua: hide "Run script" for complex scripts, since they can't be started twice — alex@thinkpad / bitbucket
  222. Lua: show errors in menu for complex scripts as well — alex@thinkpad / bitbucket
  223. Lua: refactored error handling in add_script — alex@thinkpad / bitbucket
  224. Lua: fix script loading loop (forgot FIO_FindClose) — alex@thinkpad / bitbucket
  225. scrnshot.lua: place menu item in its own script submenu — alex@thinkpad / bitbucket
  226. Lua: extract script name and description from comments (experiment) — alex@thinkpad / bitbucket
  227. Lua: allow any script to autorun; use a submenu for each script — alex@thinkpad / bitbucket
  228. Lua: show scripts right away after loading the autorun ones (no more delay) — alex@thinkpad / bitbucket
  229. Lua: cleanup passing script to lua_user_load_task — alex@thinkpad / bitbucket
  230. api_test.lua: converted to simple script, so it runs right away — alex@thinkpad / bitbucket
  231. pong.lua: fix undeclared counter — alex@thinkpad / bitbucket
  232. Lua: fix strict.lua after script unloading changes — alex@thinkpad / bitbucket
  233. Lua: fix some scripts randomly showing "error" state (refactored malloc/memset with calloc in lua.c) — alex@thinkpad / bitbucket
  234. mem.h: declared calloc — alex@thinkpad / bitbucket
  235. posix.c: fix calloc (error checking) — alex@thinkpad / bitbucket
  236. Lua: moved the "extra" scripts back (since the scripts are no longer loaded by default) — alex@thinkpad / bitbucket
  237. Modules: workaround for issue #2551 (UNPRESS_UDLR conflicting with UNPRESS_DP on 5D3) — alex@thinkpad / bitbucket
  238. lua scripting: update docs — David Milligan <david.l.milligan@gmail.com> / bitbucket
  239. lua scripting: some cleanups to the script menu display and help — David Milligan <david.l.milligan@gmail.com> / bitbucket
  240. 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
  241. lua scripting: fix interval.running return type (should be boolean) — David Milligan <david.l.milligan@gmail.com> / bitbucket
  242. Lua: make sure umm_malloc is never used for fio calls — alex@thinkpad / bitbucket
  243. Lua: fix format_memory_size in ml-lua-shim.c — alex@thinkpad / bitbucket
  244. Lua: also print the amount of memory reallocated with core routines — alex@thinkpad / bitbucket
  245. Lua: use umm_malloc, with a 512KB heap preallocated — alex@thinkpad / bitbucket
  246. Imported umm_malloc 8b9586c from https://github.com/rhempel/umm_malloc — alex@thinkpad / bitbucket
  247. api_test.lua: tests for half-shutter events — alex@thinkpad / bitbucket
  248. module_send_keypress: special handling for shutter button events
    (should fix key.press(KEY.HALFSHUTTER) and similar calls in Lua) — alex@thinkpad / bitbucket
  249. SW1/SW2: wait for confirmation from Canon code (to be tested) — alex@thinkpad / bitbucket
  250. api_test.lua: tests for camera.shoot, burst and bulb — alex@thinkpad / bitbucket
  251. Lua: fix camera.bulb(seconds) — alex@thinkpad / bitbucket
  252. Lua: added camera.burst(num_pictures) — alex@thinkpad / bitbucket
  253. Lua: camera.shoot() now calls take_a_pic (warning: syntax changed) — alex@thinkpad / bitbucket
  254. shoot.h: exposed take_a_pic and take_fast_pictures — alex@thinkpad / bitbucket
  255. memory backend: reduce memcheck area (should reduce overhead a bit) — alex@thinkpad / bitbucket
  256. memory backend: ignore null pointers passed to free (Lua does that) — alex@thinkpad / bitbucket
  257. realloc: check for null pointers — alex@thinkpad / bitbucket
  258. pong.lua: fix menu not always erased (race condition) — alex@thinkpad / bitbucket
  259. exmem: when autodetecting available memory, print all srm/shoot memory blocks to console — alex@thinkpad / bitbucket

#37 (Aug 18, 2017 7:18:41 AM)

  1. Merged crop_rec into crop_rec_4k (700D, not tested) — alex@thinkpad / bitbucket
  2. Merged in daniel_fort/magic-lantern/crop_rec-700D (pull request #824)

    crop_rec for 700D — Alex <broscutamaker@gmail.com> / bitbucket
  3. a1ex - "Actually it's binning horizontally (only lines are skipped)." — Daniel Fort <dan@digiola.com> / bitbucket
  4. crop_rec for 700D — Daniel Fort <dan@digiola.com> / bitbucket
  5. Merged raw_capture_info into crop_rec_4k — alex@thinkpad / bitbucket
  6. lossless: decompression support for 5D3 1.2.3 — alex@thinkpad / bitbucket
  7. mlv_play: moved decompression routines to lossless.c — alex@thinkpad / bitbucket
  8. mlv_play: fix memory allocation for some FIO_ReadFile calls (fio_malloc) — alex@thinkpad / bitbucket
  9. Merged unified into crop_rec_4k — alex@thinkpad / bitbucket
  10. mlv_lite: always show the Preview option; proper warning if global draw is off — alex@thinkpad / bitbucket
  11. edmac-memcpy: experiment - use connection 7, since 6 appears to be used — alex@thinkpad / bitbucket
  12. null pointer check: ignore some false warnings — alex@thinkpad / bitbucket
  13. mlv_dump: fix compilation after rawc header update — alex@thinkpad / bitbucket
  14. get_current_dialog_handler: fix return value when no dialogs are present — alex@thinkpad / bitbucket
  15. fix rules to allow "make -j" — g3gg0 / bitbucket
  16. Merged in edmac (pull request #811)

    EDMAC module + fixes — Alex <broscutamaker@gmail.com> / bitbucket
  17. edmac-memcpy: fix compilation — alex@thinkpad / bitbucket
  18. Merged unified into edmac — alex@thinkpad / bitbucket
  19. Merged in backtrace (pull request #849)

    Stack trace (aka backtrace) in crash logs — Alex <broscutamaker@gmail.com> / bitbucket
  20. Close branch backtrace — Alex <broscutamaker@gmail.com> / bitbucket
  21. selftest: fix incorrect strings (AllocateMemory != system memory) — alex@thinkpad / bitbucket
  22. Makefile: minor fine-tuning; updated comments — alex@thinkpad / bitbucket
  23. Makefile: fix compiling backtrace on fresh clone — alex@thinkpad / bitbucket
  24. selftest: fine-tuned comments and strings — alex@thinkpad / bitbucket
  25. selftest: re-enabled fault emulations
    (some of them are useful for testing the stack trace, as they will trigger ERR70) — alex@thinkpad / bitbucket
  26. backtrace: sync with qemu (e4376a1) — alex@thinkpad / bitbucket
  27. Makefile: workaround to unbreak the builds
    (how to fix it properly?) — alex@thinkpad / bitbucket
  28. Makefile: mark $(QEMU_INSTALLED_DBI_DIR)/backtrace.% as optional dependency
    todo: any way to do the same without .SECONDEXPANSION ? — alex@thinkpad / bitbucket
  29. Makefile: moved backtrace.o at the top to fix first-time compilation
    this makes sure backtrace.h is created before any other files that may use it (currently boot-hack.c)
    also remove the symlinks on "make clean" — alex@thinkpad / bitbucket
  30. backtrace: sync with qemu (3db5423, fbb532b, ab6d33c, 115fe25) — alex@thinkpad / bitbucket
  31. Stack traces for crash and assert logs, using the backtrace backend — alex@thinkpad / bitbucket
  32. Updated backtrace.c to work on the camera as well
    (same source file for both QEMU and ML) — alex@thinkpad / bitbucket
  33. arm-mcr.h: fixed read_lr (not sure what the problem was) and added read_sp — Alex / bitbucket
  34. Imported backtrace code from 29f6edc — alex@thinkpad / bitbucket
  35. Ghost image: fixed issue #2749 — alex@thinkpad / bitbucket
  36. Merged in daniel_fort/magic-lantern/find_fnt.py-update (pull request #844)

    find_fnt.py update — Alex <broscutamaker@gmail.com> / bitbucket
  37. Added suggestion by @a1ex to guess the ROM[0,1] load address. — Daniel Fort <dan@digiola.com> / bitbucket
  38. Changed "base" to the address used when dumping the ROM — Daniel Fort <dan@digiola.com> / bitbucket
  39. Merged in daniel_fort/magic-lantern/unified-multiple-FW_VERSION-minimal-ML (pull request #846)

    Multiple firmware versions for minimal ML — Alex <broscutamaker@gmail.com> / bitbucket
  40. Makefile.platform.base error trap for multiple firmware versions — Daniel Fort <dan@digiola.com> / bitbucket
  41. Backed out changeset: 1cc2f99d6ddc — g3gg0 / bitbucket
  42. mlv_dump: fix using realloc instead of malloc (thanks bouncyball) — g3gg0 / bitbucket
  43. mlv_dump: apply changes to LZMA code also (which is going to be removed in future) — g3gg0 / bitbucket
  44. mlv_dump: remove unnecessary realloc — g3gg0 / bitbucket
  45. mlv_dump: ensure allocated memory is zeroed — g3gg0 / bitbucket
  46. mlv_rec/mlv_lite: moved write_mlv_vers_blocks to mlv.c/h
    (avoids duplicate code) — alex@thinkpad / bitbucket
  47. mlv_lite: fix bad merge — alex@thinkpad / bitbucket
  48. mlv_dump: further rework on subtraction/average buffer handling — g3gg0 / bitbucket
  49. mlv_dump: reworked allocation a bit more, properly clean re-allocated memory — g3gg0 / bitbucket
  50. mlv_dump: correct buffer allocations which caused trouble for compressed MLVs — g3gg0 / bitbucket
  51. Merged unified into crop_rec_4k — alex@thinkpad / bitbucket
  52. dual_iso: change cr2hdr to use the same wrapper for module_strings like mlv_dump, also fixes compile error caused by a module.h change from static to global
    (module_strings_wrapper.h from 0c1c8b3) — g3gg0 / bitbucket
  53. Modules: allow including module.h in multiple source files
    (b0574dd) — alex@thinkpad / bitbucket
  54. Undo 4126b56 (to allow merging with crop_rec_4k) — alex@thinkpad / bitbucket
  55. Update to latest exiftool — Daniel Fort <dan@digiola.com> / bitbucket
  56. mlv_rec: reduce chunk count to keep room for other files to create (and circumvent mlv_play failing playback) — g3gg0 / bitbucket
  57. mlv_rec: insert alignment NULL block before writers start to write aligned sizes — g3gg0 / bitbucket
  58. mlv_rec: ensure 32 bit alignment for VERS block sizes. just because. — g3gg0 / bitbucket
  59. mlv_rec: reduce chunk count to keep room for other files to create (and circumvent mlv_play failing playback) — g3gg0 / bitbucket
  60. mlv_rec: insert alignment NULL block before writers start to write aligned sizes — g3gg0 / bitbucket
  61. mlv_rec: ensure 32 bit alignment for VERS block sizes. just because. — g3gg0 / bitbucket
  62. Merged in daniel_fort/magic-lantern/700D_AE_fix (pull request #842)

    Fixed 700D AE constants (for autoexpo.mo)

    Approved-by: Daniel Fort <dan@digiola.com> — Alex <broscutamaker@gmail.com> / bitbucket
  63. Fixed AE constants — Daniel Fort <dan@digiola.com> / bitbucket
  64. mlv_play: when raw_twk is loaded, use 16bpp output for lossless decompression — g3gg0 / bitbucket
  65. raw_twk: rework to support 16bpp input data — g3gg0 / bitbucket
  66. raw_twk: properly clean up EDMAC so it wont lock up when used in combination with e.g. lossless decompression — g3gg0 / bitbucket
  67. fio-ml: workaround for existing code using FIO_ReadFile incorrectly (such as mlv_play)
    selftest included — alex@thinkpad / bitbucket
  68. Merged in cache-fixes (pull request #838)

    Cache coherence fixes (clean_d_cache, FIO, EDMAC)

    Approved-by: Alex <broscutamaker@gmail.com>
    Approved-by: g3gg0 <g3gg0.de@gmail.com> — Alex <broscutamaker@gmail.com> / bitbucket
  69. Close branch cache-fixes — Alex <broscutamaker@gmail.com> / bitbucket
  70. fio-ml: updated comment on FIO_WriteFile — alex@thinkpad / bitbucket
  71. selftest: check whether cache cleaning causes any performance regressions
    (result: no significant difference on file I/O) — alex@thinkpad / bitbucket
  72. Merged in daniel_fort/magic-lantern/EOSM_stubs_tweaks (pull request #839)
    Display filters working (anamorphic preview, fisheye correction, raw video preview and others)

    EOSM stubs tweaks

    Approved-by: Alex <broscutamaker@gmail.com> — Alex <broscutamaker@gmail.com> / bitbucket
  73. Corrected YUV422_LV_BUFFER_DISPLAY_ADDR value and enabled display filters: http://www.magiclantern.fm/forum/index.php?topic=9741.msg186289#msg186289 — Daniel Fort <dan@digiola.com> / bitbucket
  74. Updated post_isr_hook/pre_isr_hook stubs — Daniel Fort <dan@digiola.com> / bitbucket
  75. Changed for consistency of stubs across all models. — Daniel Fort <dan@digiola.com> / bitbucket
  76. my_fprintf: fix warning — alex@thinkpad / bitbucket
  77. edmac.mo: fine-tuned transfer size info — alex@thinkpad / bitbucket
  78. selftest: AbortEDmac test — alex@thinkpad / bitbucket
  79. selftest: edmac_memcpy test — alex@thinkpad / bitbucket
  80. edmac.mo: transfer size test — alex@thinkpad / bitbucket
  81. edmac-memcpy: use and decode transfer size from flags (to be tested) — alex@thinkpad / bitbucket
  82. edmac_test: proper memory allocation — alex@thinkpad / bitbucket
  83. edmac-memcpy: updated edmac_find_divider for latest hypothesis — alex@thinkpad / bitbucket
  84. edmac_memcpy: looks like we can use widths that are not modulo 8 bytes — alex@thinkpad / bitbucket
  85. edmac-memcpy: refactored edmac_memcpy to avoid duplicate code — alex@thinkpad / bitbucket
  86. AbortEDmac stub for 500D, 550D, 5D2, 50D, 7D (not tested) — alex@thinkpad / bitbucket
  87. edmac-memcpy: use cache handling similar to FIO;
    updated selftest and bench modules for the new restriction — alex@thinkpad / bitbucket
  88. selftest: make sure the FIO cache coherence test fails without the FIO_WriteFile wrapper — alex@thinkpad / bitbucket
  89. selftest: test for FIO_WriteFile with cacheable buffer
    if you comment out clean_d_cache() from the FIO_WriteFile wrapper, this test will fail — alex@thinkpad / bitbucket
  90. selftest: save log after each sub-test
    (so one can interrupt the test suite and still see the log for the tests completed so far) — alex@thinkpad / bitbucket
  91. selftest: fine-tuned DMA cacheable buffer test — alex@thinkpad / bitbucket
  92. fio-ml: FIO_ReadFile wrapper to warn about caching issues
    not sure how to handle it automatically - clean_d_cache before is not enough
    adding another clean_d_cache afterwards appears to fix it, but it's risky
    sed -i.bak '/ FIO_ReadFile/_FIO_ReadFile/' */stubs.S — alex@thinkpad / bitbucket
  93. Refactored without fio_malloc in a few places
    (todo: find a way to reproduce caching issues on file I/O and add it to selftest.mo) — alex@thinkpad / bitbucket
  94. fio-ml: FIO_WriteFile wrapper to handle caching issues automatically
    sed -i.bak '/ FIO_WriteFile/_FIO_WriteFile/' */stubs.S — alex@thinkpad / bitbucket
  95. edmac.mo: fix model-specific differences — alex@thinkpad / bitbucket
  96. edmac.mo: in EDMAC model tests, print a summary of copying activity
    (how many bytes were copied, how many were skipped and so on)
    (this test outputs the raw logs used to find the EDMAC model - http://www.magiclantern.fm/forum/index.php?topic=18315.0 ) — alex@thinkpad / bitbucket
  97. edmac.mo: tests for EDMAC model (to be included in QEMU) — alex@thinkpad / bitbucket
  98. AbortEDmac stub for 5D3 1.2.3 — alex@thinkpad / bitbucket
  99. edmac.c: fix typo — alex@thinkpad / bitbucket
  100. Merged unified into edmac — alex@thinkpad / bitbucket
  101. selftest: test for clean_d_cache
    interrupts disabled, using edmac_memcpy to copy between display buffers
    this test will fail without previous commit — alex@thinkpad / bitbucket
  102. fix index size in clean_d_cache
    (todo: test in selftest.mo) — alex@thinkpad / bitbucket
  103. removed unnecessary declaration of mlv_snd_is_enabled — g3gg0 / bitbucket
  104. mlv_snd: report back using ml-cbr when recording audio — g3gg0 / bitbucket
  105. added ml-cbr to modules using MODULE_NAMED_CBR() — g3gg0 / bitbucket
  106. audio uses ml-cbr to ask for recording — g3gg0 / bitbucket
  107. ml-cbr: use strcmp to stay on safe side (caller might pass arbitrary length) — g3gg0 / bitbucket
  108. ml-cbr: update header with more information — g3gg0 / bitbucket
  109. fix ml-cbr locking issues — g3gg0 / bitbucket
  110. dual_iso: temporary patch for module_get_string API change - probably needs a revert before merging crop_rec_4k into unified — g3gg0 / bitbucket
  111. Deal with Windows line ending in grep 3.0, changed multi-line grep command to single line extended regular expression and remove localsyms file with make clean. — Daniel Fort <dan@digiola.com> / bitbucket
  112. mlv_rec: embed VERS blocks into MLV file so there is no uncertainity about the modules used for a given recording — g3gg0 / bitbucket
  113. mlv_lite: embed VERS blocks into MLV file so there is no uncertainity about the modules used for a given recording — g3gg0 / bitbucket
  114. mlv_lite: use FIO_SeekSkipFile to determine file header size — g3gg0 / bitbucket
  115. mlv_dump: handle VERS blocks — g3gg0 / bitbucket
  116. mlv_rec: added code and structures to helper routines to get version information embedded into the MLV file — g3gg0 / bitbucket
  117. added routines and made a module loader routine non-static to allow other code to fetch e.g. strings from modules — g3gg0 / bitbucket
  118. Merged in memcheck-fixes (pull request #829)

    Fixes for various null pointer and uninitialized memory bugs — Alex <broscutamaker@gmail.com> / bitbucket
  119. mem.c: disabled double free assert (it still gets overwritten by some deallocators) — alex@thinkpad / bitbucket
  120. menu.c: fixed some more null pointer reads
    (found in QEMU with -d memchk) — alex@thinkpad / bitbucket
  121. tskmon: fix read from null pointer — alex@thinkpad / bitbucket
  122. module.c: fix reading after the input buffer when parsing module symbols
    (found in QEMU) — alex@thinkpad / bitbucket
  123. memcheck: fix detection of double-free calls
    (our marker was overwritten by Canon's deallocator, so the check was useless)
    (bug found in QEMU) — alex@thinkpad / bitbucket
  124. get_current_dialog_handler: fix read from null pointer
    (found in QEMU) — alex@thinkpad / bitbucket
  125. bmp.c: fix dereferencing random (uninitialized) pointer
    (found in QEMU) — alex@thinkpad / bitbucket
  126. mlv_rec, mlv_lite: fix rawc saving after structure update in mlv.h — alex@thinkpad / bitbucket
  127. Fix c6f92ee — alex@thinkpad / bitbucket
  128. mlv_rec, mlv_lite: save RAWC (raw_capture_info) — alex@thinkpad / bitbucket
  129. Raw backend: fix raw_capture_info.skipping_y for EOS M
    (720p unless recording H.264) — alex@thinkpad / bitbucket
  130. mlv.h: replaced struct raw_capture_info with individual fields
    (binary compatible with previous version) — alex@thinkpad / bitbucket
  131. 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
  132. mlv_dump: show the meaning of sensor crop factor — alex@thinkpad / bitbucket
  133. mlv_rec, mlv_lite: fix minor crop factor display issue
    (division by 0 in photo mode) — alex@thinkpad / bitbucket
  134. mlv_rec, mlv_lite: save RAWC (raw_capture_info) — alex@thinkpad / bitbucket
  135. mlv_dump: print RAWC (raw_capture_info) — alex@thinkpad / bitbucket
  136. mlv.h: RAWC block (struct raw_capture_info) — alex@thinkpad / bitbucket
  137. Raw backend: new CBR for modules (CBR_RAW_INFO_UPDATE) — alex@thinkpad / bitbucket
  138. 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
  139. EDMAC: fix signed off2 on DIGIC 4 — alex@thinkpad / bitbucket

#36 (Jun 19, 2017 10:27:19 PM)

  1. mlv_dump: added bug fix for invalid NULL block sizes — g3gg0 / bitbucket
  2. 5D3 1.2.3: fix CARD_A_MAKER (off by one) — alex@thinkpad / bitbucket
  3. mlv_lite: fix speed regression introduced in e67faca
    http://www.magiclantern.fm/forum/index.php?topic=19300.msg184290#msg184290 — alex@thinkpad / bitbucket
  4. crop_rec: fix pink highlight issue in 3x3 modes
    http://www.magiclantern.fm/forum/index.php?topic=19300.msg185903#msg185903 — alex@thinkpad / bitbucket
  5. mlv_play: finally fix the black screen issue happening after playing back a few files — g3gg0 / bitbucket
  6. mlv_play: show bit depth and compression in top bar — g3gg0 / bitbucket
  7. mlv_play: fix playback of normal mlv_lite 14 bit files — g3gg0 / bitbucket
  8. mlv_play: add lossless playback support — g3gg0 / bitbucket
  9. mlv_play: display message when video format is not supported — g3gg0 / bitbucket

#35 (Jun 15, 2017 6:39:20 PM)

  1. mlv_dump: switch some remaining printf's to print_msg — g3gg0 / bitbucket
  2. mlv_dump: added hex/ascii dump modes and --extract-type to select block types — g3gg0 / bitbucket

#32 (Jun 2, 2017 9:03:11 PM)

  1. dual_iso: change cr2hdr to use the same wrapper for module_strings like mlv_dump, also fixes compile error caused by a module.h change from static to global — g3gg0 / bitbucket

#31 (Jun 2, 2017 12:00:05 AM)

  1. mlv_dump: fixed dependency order — g3gg0 / bitbucket

#30 (Jun 1, 2017 11:41:08 PM)

  1. mlv_dump: added version string information, printed when calling with --version — g3gg0 / bitbucket

#27 (May 29, 2017 9:57:26 PM)

  1. mlv_dump: properly delete object files on 'make clean' — g3gg0 / bitbucket

#24 (May 29, 2017 9:01:33 PM)

  1. mlv_dump: changed back behavior of DNG white/black level correction on bit depth change — g3gg0 / bitbucket

#23 (May 27, 2017 12:16:48 AM)

  1. mlv_rec: embed VERS blocks into MLV file so there is no uncertainity about the modules used for a given recording — g3gg0 / bitbucket
  2. mlv_lite: embed VERS blocks into MLV file so there is no uncertainity about the modules used for a given recording — g3gg0 / bitbucket
  3. mlv_lite: use FIO_SeekSkipFile to determine file header size — g3gg0 / bitbucket
  4. mlv_dump: handle VERS blocks — g3gg0 / bitbucket
  5. mlv_rec: added code and structures to helper routines to get version information embedded into the MLV file — g3gg0 / bitbucket
  6. added routines and made a module loader routine non-static to allow other code to fetch e.g. strings from modules — g3gg0 / bitbucket
  7. mlv_dump: added an additional safety check, small change to raw_info patching, and small formatting changes — g3gg0 / bitbucket
  8. mlv_dump: fix missing update of frame_buffer_size causing incompletely written uncompressed DNGs after bit depth conversion, thanks Danne. — g3gg0 / bitbucket
  9. mlv_dump: fix crash situation for empty XREF files — g3gg0 / bitbucket
  10. mlv_dump: added --visualize and --skip-xref for showing a less confusing map of block types in the file — g3gg0 / bitbucket
  11. mlv_dump: relaxed mode for decompression, but not for compression — g3gg0 / bitbucket
  12. mlv_dump: added video length display — g3gg0 / bitbucket
  13. mlv_dump: added advanced payload/header manipulation features useful for debugging — g3gg0 / bitbucket
  14. mlv_dump: re-adding 14bpp enforcement for DNG — g3gg0 / bitbucket
  15. mlv_dump: rework help a bit, fixed compression routines
    added new modes for compressed DNG modes (uncompressed, compressed using lj92, original canon lossless)
    the last one is very fast, but results in unprocessed output (no stripe fix etc)
    just call it with "--dng -c -c" and it will pass through original lossless data — g3gg0 / bitbucket
  16. mlv_dump: reorder LJ92 header tags so it will match canon's order — g3gg0 / bitbucket
  17. mlv_dump: clear LZMA flag when de-/compressing — g3gg0 / bitbucket
  18. mlv_dump: comments, code cleanup and some simplification — g3gg0 / bitbucket

#22 (Apr 29, 2017 4:30:52 PM)

  1. Raw backend: free the larger raw buffer when it's no longer needed
    (when switching back to a lower resolution) — alex@thinkpad / bitbucket
  2. Raw backend: use a different (hopefully unused) buffer for regular LiveView RAW stream
    (the LiveView buffer allocated by Canon is overwritten as soon as leaving/pausing LiveView) — alex@thinkpad / bitbucket
  3. mlv_lite: reworked status indicators
    - avoid duplicate code between lvinfo and standalone indicators
    - fix various bugs in recording time estimations
    - show estimated remaining time if it's about to stop — alex@thinkpad / bitbucket
  4. mlv_lite: minor fixes
    - assert when stopping on error (e.g. card full)
    - redraw after H.264 stops — alex@thinkpad / bitbucket
  5. mlv_lite: moved time measurements in the main loop
    (minor fix when crossing 4GB limit) — alex@thinkpad / bitbucket
  6. mlv_lite: more conservative behavior when buffer becomes full
    (should reduce the frequency of early stops) — alex@thinkpad / bitbucket
  7. mlv_lite: moved DEBUG_BUFFERING_GRAPH from compile-time option to menu; minor additions — alex@thinkpad / bitbucket
  8. mlv_lite: fix memory warning (full-res buffer no longer needs explicit free) — alex@thinkpad / bitbucket
  9. mlv_lite: throttle raw recording task while also recording H.264 (experiment) — alex@thinkpad / bitbucket
  10. mlv_lite: disable H.264 proxy in incompatible modes; menu warnings/advice — alex@thinkpad / bitbucket
  11. Raw backend: only allocate from SRM when using very high resolutions
    (should fix conflict with H.264 proxy) — alex@thinkpad / bitbucket

#21 (Apr 27, 2017 11:51:52 PM)

  1. Merged raw-h264-proxy into crop_rec_4k — alex@thinkpad / bitbucket
  2. mlv_lite: attempt to fix lockup when the H.264 stream stops automatically
    When H.264 stops, Canon code appears to wait for all the memory resources to be freed (including ours).
    During this process, LiveView is frozen (visible without ML as well).
    If this process takes "too long", the camera locks up and requires battery out (some tasks may or may not continue to run).
    Allocating a smaller amount of memory (rather than all available memory) doesn't seem to help.
    Workaround: do not save the remaining frames, just free the resources ASAP.
    TODO: figure out what actually causes this and how to prevent the hard lockups (hard, dm-spy logging might help). — alex@thinkpad / bitbucket
  3. mlv_lite: when using H.264 proxy, try to match MLV filenames with Canon's — alex@thinkpad / bitbucket
  4. mlv_dump: lj92.c substituted by cleaner version — bouncyball / bitbucket
  5. mlv_dump: set correct videoClass flag (0x21) when compressing MLV, main header's being overwritten by 'fix frame count' code at the end — bouncyball / bitbucket

#19 (Apr 26, 2017 11:27:22 PM)

  1. mlv_dump: add lj92 lib to mingw build — g3gg0 / bitbucket
  2. mlv_dump: small printf output change — g3gg0 / bitbucket
  3. mlv_dump: fixed LJ92 compression, removed LZMA compression (decompression still possible, to be verified) — g3gg0 / bitbucket
  4. mlv_dump: add basic lossless decoding support, thanks martinhering http://www.magiclantern.fm/forum/index.php?topic=19300.msg182502#msg182502 — g3gg0 / bitbucket

#16 (Apr 23, 2017 2:23:36 AM)

  1. mlv_lite: fix frame corruption bug in lossless mode
    http://www.magiclantern.fm/forum/index.php?topic=19300.msg183553#msg183553 — alex@thinkpad / bitbucket
  2. mlv_lite: only use single-buffering for uncompressed output or if there's no other way to allocate memory;
    reworked memory allocation for full-res buffer, to be able to use the SRM memory for both full-res buffer and frame slots — alex@thinkpad / bitbucket
  3. crop_rec: 4096x3072 at 12 and 12.5 FPS — alex@thinkpad / bitbucket

#15 (Apr 22, 2017 9:33:44 PM)

  1. 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
  2. crop_rec: fix shutter speed in centered x5 zoom — alex@thinkpad / bitbucket

#14 (Apr 21, 2017 11:49:11 PM)

  1. mlv_lite: auto-select optimal bit depth between 8 and 11, depending on ISO
    see http://www.magiclantern.fm/forum/index.php?topic=19300.msg183231#msg183231 — alex@thinkpad / bitbucket
  2. mlv_lite: prevent recording in x10 zoom
    (to be used for focusing) — alex@thinkpad / bitbucket
  3. mlv_lite: ignore compression errors caused by corrupted frames in standby
    (many of them are transient, when switching video modes) — alex@thinkpad / bitbucket
  4. mlv_lite: disabled low bit depth setup (image darkening) while focusing
    (x10 zoom and half-shutter press in standby) — alex@thinkpad / bitbucket
  5. mlv_lite: disabled 8...12-bit lossless in modes with increased resolution
    (fall back to 14-bit lossless) — alex@thinkpad / bitbucket
  6. Silent pics: fix lossless DNG output and memory allocation
    (bad metadata in LiveView, corrupted output in full-res mode) — alex@thinkpad / bitbucket
  7. crop_rec: do not center x10 zoom, leave it for focusing
    (known bug: vertical bars when entering x10 zoom from x5) — alex@thinkpad / bitbucket
  8. crop_rec: re-enabled centered x5 zoom
    (3.5K 1:1 compatible with 8...12-bit lossless compression) — alex@thinkpad / bitbucket

#13 (Apr 14, 2017 1:31:51 AM)

  1. Raw backend: clamp black level to 2047 on recent models, if autodetection agrees
    (let's keep the source ready for ISO tweaks, which may reduce black level) — alex@thinkpad / bitbucket
  2. mlv_lite: always darken the screen when using 8-12 bit lossless compression
    (hopefully better than flicker; use our preview by default with these settings) — alex@thinkpad / bitbucket
  3. mlv_lite: another race condition fix (dcdf743) — alex@thinkpad / bitbucket
  4. Raw backend: render previews with proper brightness, according to white level
    (very low white levels also handled well, showing top 10 bits from the useful range) — alex@thinkpad / bitbucket
  5. 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
  6. Raw backend: exact height autodetection for 5D3
    (lossless 8-12 bit compression works!) — alex@thinkpad / bitbucket
  7. Raw backend: when using digital gain, fix white level getting restored when updating raw settings — alex@thinkpad / bitbucket
  8. mlv_lite: experimental lossless compression at lower bit depths
    - container is still 14-bit, but digital gain is used to scale the data
    - real-time preview will get darker when recording and when estimating compression ratio
    - raw histogram should be OK while recording — alex@thinkpad / bitbucket
  9. Raw backend: ability to set digital gain for the raw stream (experimental) — alex@thinkpad / bitbucket

#12 (Apr 13, 2017 12:34:51 PM)

  1. mlv_lite: fix time indicator when pre-recording is not used — alex@thinkpad / bitbucket
  2. crop_rec: back to old tuning for 48p — alex@thinkpad / bitbucket

#10 (Apr 12, 2017 10:31:46 PM)

  1. mlv_lite: fix race condition from commit b8bc13b — alex@thinkpad / bitbucket
  2. mlv_lite: detailed pre-recording indicator: mm:ss.f + ss.f
    (experiment - lvinfo only) — alex@thinkpad / bitbucket
  3. crop_rec: fine-tuned 45/48p modes; fix typo in comments — alex@thinkpad / bitbucket
  4. crop_rec: allow full-res LiveView to increase FPS when reducing vertical resolution
    (up to 5796x400 @ 48 fps; CMOS[1] must be adjusted manually) — alex@thinkpad / bitbucket
  5. 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
  6. mlv_lite: rec trigger shows either "1-frame" or "pre only", based on pre-recording settings — alex@thinkpad / bitbucket
  7. mlv_lite: fix pre-recording with variable frame sizes when buffer gets full
    (this allows operation with only 2 buffers in 1-frame trigger mode) — alex@thinkpad / bitbucket
  8. mlv_lite: use single-buffering at very large resolutions (where it's usually safe and any extra memory helps) — alex@thinkpad / bitbucket
  9. mlv_lite: undo f6b0d39 and e7e1fdb (re-enable double-buffering) — alex@thinkpad / bitbucket
  10. mlv_lite: re-enabled dummy lossless compression (with null pointer bug fixed) — alex@thinkpad / bitbucket
  11. Experiment: prevent Canon code from saving RING and RASEN settings at shutdown after a crash
    (5D3 only; to be made generic if all goes well) — alex@thinkpad / bitbucket
  12. Shutdown: load modules after opening battery door; minor cleanups — alex@thinkpad / bitbucket
  13. Experiment: prevent Canon code from saving RING and RASEN settings when removing the battery
    (5D3 only; to be made generic if all goes well) — alex@thinkpad / bitbucket

#9 (Apr 10, 2017 9:48:53 PM)

  1. null pointer check: ignore some false warnings — alex@thinkpad / bitbucket
  2. debug.c: check whether your camera was affected by a null pointer bug in 2017Apr04 build
    (if you have used this build, we strongly recommend you to run the test - it runs automatically at camera startup) — alex@thinkpad / bitbucket

#7 (Apr 6, 2017 10:28:49 AM)

  1. mlv_lite: don't reuse memory suite for lossless compression
    limit compressed output size at multiple of 4096 bytes
    (seems to help with previously unexplained crashes - alignment constraints on max size?!) — alex@thinkpad / bitbucket
  2. mlv_lite: disabled dummy lossless compression (suspected for mysterious stack overflows)
    Use a buffer from SRM instead (with use-after-free)
    Also do a test allocation on startup =>: write speed estimations working without having to record a test clip — alex@thinkpad / bitbucket

#6 (Apr 4, 2017 5:41:27 PM)

  1. mlv_lite: update compression ratio from compress_task
    (no more busy waiting; also updated while recording) — alex@thinkpad / bitbucket
  2. mlv_lite: assume compressed frames do not exceed 85% of the native size; this gives:
    - more buffers in full-res LiveView (6 instead of 2)
    - more space available for pre-recording
    - continuous full-res recording at 5 FPS with lossless compression! — alex@thinkpad / bitbucket
  3. 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
  4. crop_rec: silence ENGIO debug messages — alex@thinkpad / bitbucket
  5. crop_rec: fine-tuned 1080p48 — alex@thinkpad / bitbucket
  6. crop_rec: lock buttons while refreshing LiveView
    (should help with fast button presses) — alex@thinkpad / bitbucket
  7. mlv_lite: fix a race condition when checking raw settings in background — alex@thinkpad / bitbucket
  8. mlv_lite: slow down color preview to let lower-priority tasks run (such as histogram) — alex@thinkpad / bitbucket
  9. mlv_lite: experimental use-after-free for SRM memory
    (should fix half-shutter quirks and should no longer display BUSY message) — alex@thinkpad / bitbucket
  10. mlv_lite: option to check whether it's safe to use single-buffering
    (Advanced -> Show EDMAC) — alex@thinkpad / bitbucket
  11. mlv_lite: experiment - disable double buffering
    (EDMAC read pointer appears to be well in advance of edmac_raw_slurp's write pointer, so double-buffering may not be necessary) — alex@thinkpad / bitbucket
  12. mlv_lite: fix possibly incorrect behavior when resizing frame slots
    (might happen when recording clips at different resolutions) — alex@thinkpad / bitbucket
  13. mlv_lite: use dummy lossless operation when estimating compression ratio — alex@thinkpad / bitbucket
  14. lossless.c: allow dummy operation
    (to get compression ratio without saving the output) — alex@thinkpad / bitbucket
  15. 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
  16. FPS override: also display rolling shutter as percentage of frame duration — alex@thinkpad / bitbucket
  17. 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

#5 (Apr 3, 2017 4:54:30 PM)

  1. crop_rec: reduced UHD resolutions a bit (corrupted frames) — alex@thinkpad / bitbucket
  2. mlv_lite: nicer error message when corrupted frames are detected — alex@thinkpad / bitbucket
  3. mlv_lite: prevent recording starting before fully initialized — alex@thinkpad / bitbucket
  4. mlv_lite: measure compression ratio during standby
    (every 2 seconds) — alex@thinkpad / bitbucket
  5. mlv_lite: let the compress_task always run (we'll need it during standby) — alex@thinkpad / bitbucket
  6. crop_rec: fix black screen in 1080p48 at 1/48 shutter speed
    (regression after shutter speed fix) — alex@thinkpad / bitbucket
  7. Include strstr in ML core — alex@thinkpad / bitbucket

#4 (Apr 3, 2017 12:02:32 AM)

  1. silent: forgot a fix in ab36b84 — alex@thinkpad / bitbucket
  2. mlv_lite: fix squeeze info in menu for 50/60p modes — alex@thinkpad / bitbucket
  3. mlv_play, silent, pic_view: updated after API change
    (todo: mlv_rec) — alex@thinkpad / bitbucket
  4. mlv_lite: fix aspect ratio of raw previews in 50/60p modes — alex@thinkpad / bitbucket
  5. Raw backend: allow displaying raw buffers with arbitrary aspect ratios
    (raw_force_aspect_ratio_1to1 -> raw_force_aspect_ratio) — alex@thinkpad / bitbucket
  6. crop_rec: forgot debug info — alex@thinkpad / bitbucket
  7. mlv_lite: use squeeze factor from raw_capture_info (which is updated by crop_rec) — alex@thinkpad / bitbucket
  8. mlv_lite: display actual aspect ratio in menu, if different from selection — alex@thinkpad / bitbucket
  9. mlv_lite: fine-tuned menu for Frozen LV mode
    (previously known as Hacked Preview) — alex@thinkpad / bitbucket
  10. 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 — alex@thinkpad / bitbucket
  11. mlv_lite: fix valid_slot_count — alex@thinkpad / bitbucket
  12. crop_rec: in modes with lower FPS, map the usual shutter speed range of 1/4000...1/30 (or 1/60) to 1/15000...1/fps — alex@thinkpad / bitbucket
  13. crop_rec: fix shutter speeds in high-resolution modes — alex@thinkpad / bitbucket