Ghost image: further cleanups and fixes
Ghost image: fix crash (issues #2796, #2783, #2878, #2885)
features.tmpl edited online with Bitbucket: use id in th section heading to allow for direct linking via anchor
Merged in edmac (pull request #886)\u000a\u000aEDMAC module: fixes for DIGIC 4, connection map
Merged in adv_int (pull request #907)\u000a\u000aAdvanced intervalometer updates
Merged in memory-backend (pull request #906)\u000a\u000aMemory backend improvements
Makefile: fix "make install_qemu CONFIG_QEMU=y" for minimal targets
memset64/memcpy64: use versions from b831cb1; fix calls from Magic Zoom to ensure proper alignment
Backout b831cb1 (breaks Magic Zoom and CONFIG_MARK_UNUSED_MEMORY_AT_STARTUP, as memset64 is not the same as memset)
adv_int: ignore empty lines when loading keyframes
adv_int: use strstr instead of my_strstr (fixes slow load)
Include strstr in ML core
adv_int: refactor keyframe time formatting
adv_int: auto-load the saved sequence at startup
adv_int: renamed menu entry to "Ramping options"
Memory backend: drop timestamps from history; show last 1024 events
Memory backend: show total allocations (number and amount), including untracked ones
Memory backend: allow using shoot_malloc as a last resort, even for small blocks;\u000aallow small blocks (smaller than minimum_free_space / 64) to break the minimum_free_space limit (until minimum_free_space / 4)\u000afine-tuned until the old set of Lua scripts were able to run on 1100D without umm_malloc
Memory backend: a pointer to task names (rather than copying the full string) should be enough
Memory backend: renamed memcheck_mallocbuf to memcheck_entries
Moved memset64 and memcpy64 to bench.mo\u000a- simplified to accept only 32-bit aligned pointers\u000a- using regular memset for Magic Zoom\u000a- closing issue #1995
Memory backend: if shoot_malloc fails, try SRM next\u000a(poor man's autodetection, since we don't know how to query the available size in advance)
exmem: reworked shoot_malloc to handle large requests better\u000a- moved autodetection to dedicated functions (for both fragmented and continuous allocations)\u000a- autodetect the max available size for large requests (slower, but when it fails, it fails gracefully)
exmem: removed the "relaxed" checks introduced in 04f02a4\u000a(not sure why they were needed; we'll find out if it fails)
exmem: speed-up shoot_malloc\u000a(1s timeout probably not needed)
exmem: do not keep track of full shoot memory allocations\u000a(allows reserving some memory in advance and allocating all the remaining RAM afterwards)
Memory backend: fix handling of untracked blocks\u000a(possible buffer overflow before this fix)
Memory backend: figured out why AllocateContinuousMemoryResource may crash with many small blocks\u000a\u000a(todo: figure out where to keep 89e3b12 or not; adapt tests if not)
Memory backend: when checking available memory, allocate both Shoot ans SRM at the same time\u000a(they may overlap)
Memory backend: fix initialization
mem.c: option to disable heap poisoning\u000a(useful when running in QEMU with -d memcheck - with this, overflowing reads will be caught as well)
Memory backend: allow breaking minimum_free_space for small blocks\u000a(it was possible to fail the allocation for very small blocks that could not be covered by shoot_malloc)
Memory backend: allow AllocateMemory as a last resort, even if free space is below limit\u000a(it was possible to fail the allocation for very small blocks that could not be covered by shoot_malloc)
memory backend: reduce memcheck area (should reduce overhead a bit)
memory backend: ignore null pointers passed to free (Lua does that)
exmem: when autodetecting available memory, print all srm/shoot memory blocks to console
edmac: make sure the log files don't have unnecessary newlines\u000a(channels with complex size configuration may get printed on multiple lines; that makes the log file harder to parse)
edmac: LOG_INTERVAL can now be changed from menu (persistent setting)
edmac: use numbered log file names
edmac: fix behavior when the extra info buffer gets full
edmac: use half-shutter as trigger for logging EDMAC channels;\u000afine-tuned messages
edmac: fix crash on models other than 5D3\u000a(there was a hardcoded stub)
edmac: fix crash when using "Log EDMAC usage" on D4 models
Merged unified into edmac
Added edmac.mo to nightly builds
edmac-memcpy: check to make sure all models have AbortEDmac\u000a(to make sure it's correct: selftest.mo -> Stubs API test)
edmac.mo: display connection map (experiment)
If you don't need anything from the above list, please consider downgrading to 1.1.3.
Whatever you do, do not remove the battery in the middle of a firmware update!Method B (recommended, one single card required, either SD or CF, source, discussion):
This procedure will enable the BOOTDISK flag in your camera's Flash ROM, allowing it to load and execute custom code from the memory card. A copy of the original (unmodified) ROM contents will be saved to the card.
Magic Lantern will run from this card; it won't replace your original firmware.
This procedure disables the BOOTDISK flag. You will no longer be able to run Magic Lantern, unless you reinstall it.
Some settings changed by Magic Lantern might be persistent; this procedure will not reset them. To restore the camera to factory state, you may also want to clear all camera settings and custom functions from Canon menu.
Copyright (C) 2009-2018 Magic Lantern Development Team
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.