updating live information is expensive and we only do it after every
instruction normally. however, for the LAST command we need that
information to be current
fixed timecode display when movie is rewound to beginning of stream.
this also fixes the display artefact that was visible at the bottom of
the movie image when then movie is resumed (after the rewind to the
beginning)
very few cartridge mappers need to return an error but is necessary in
the case of the experimental cartridge shim. merging here because it's a
good change to have
previously, we've relied on the file extension to be set to MVC but this
is a poor solution because it means moviecarts with the .bin file
extension are missed
the decision whether to show cartridge menu is partly made on whether
the cartridge has a "RAM bus" available. atari cartridges (unlike other
cartridge type) always have a RAM bus but only some have a superchip.
the test for whether a cartridge has cartridge RAM has been made more
stringent
reorganised logic of function handling decoding of "A6.6 32-bit transfer
between ARM core and extension registers"
fixed live disassembly of 32bit instructions
this change was done simply to bring the treatment of Thumb instructions
in line with Thumb-2 instructions. there is definitely more work to be
done with regard to making the caching more efficient
previously, the cached instructions still required a significant amount
of decoding. the new method captures the state of the decoding much
closer to the variable element of the instruction (eg. using what's in
the register etc.)
most of the benefit of the caching still comes from not having to reread
program memory every instruction but the new method does add a small
performance increase and arguably, more clarity to the code
removed unused caching fields. renamed function and interface names
related to breakpoints sharing
debugger quantum value is atomic for safe reading outside emulation
goroutine. moved quantum definitions to govern package
simplification of how debugger interfaces with coprocessor debugger/developer
ammended COPROC REGS function to use new spec system. FPU registers
display formatted values
removed RegisterStatus() function for now. the ARM status register is
more complex in reality than how I've modelled it (CSPR vs ASPR and and
an ESPR in some models). the information is there but not in a coherent
way. probably requires adding a status register group