returns a CoProcState value rather than a boolean value
updated prompt building and debugger reflection overlays to work with
new type and values
commentary introduces the idea that coprocessor state is about VCS
synchronisation
ELF will call ExecutionStart() and ExecutionEnd() as appropriate for the
change of state. this needs work because the meaning of "Execution" in
context of StrongARM type synchronisation is unclear
the callfn package previously assumed that all ARM cycles would have
been accounted for (on the VCS side of the ledger) before Start() was
called agin
renamed CartBreakpoints interface to CartCoProcExecution
reflection now used CartCoProcExecution.CoProcIsActive() to determine
when coprocessor is active, rather than the clumsy BankInfo mechanism
execution is currently outside of cartridge address space. The NonCart
flag is set in addition to the cartridge information
improved how the disassembly window shows coproc/non-cart execution
information, particularly when both conditions are true at the same time
"Follow CPU" will focus when option is set. disasm will not focus on PC
address on pause if "Follow CPU" is not set.
additional notification in disasm window to indicate when coprocessor is
active
disassembly package and win_disasm now pause when coprocessor is
running. terminal prompt now reflects coprocessor activity
ARM "program memory" will change when required. error introduced during
ARM optimisations 82fe52852c
implemented remaining ARM7 disasm
moved cartridge debugging buses to mapper package
removed banks package and moved/renamed those types to mapper package
renamed IterateBanks() to CopyBanks(). function now returns all banks as
an array.
removed global Passive setting from cartridge. disassembly now only
accesses cartridge memory through a copy of the bank data (CopyBanks())
so it is not needed
added CartHotspots debugging bus. used by symbols package to get
cartridge symbols information. should be useful for disassembly too
renamed hotspot() functions (in cartridge mapper implementations) to
bankswitch() for clarity
sdlimgui disassembly window shows address labels. disassembly iteration
updated to better support that.
SYMBOL command prints all mirrors for cartridge addresses
the note about historical versions also being covered wasn't strictly
needed and was ugly. the LICENCE being in the root file from the very
first commit is sufficient.
clarified how TapeLoaded error affects CPU state - added CPU interrupted
flag. fixed CPU mid-instruction sanity checks in the process
better/clearer terminal prompts
break on non-cartridge PC will no longer auto-add BANK condition
disassembly window shows "executing from cartridge RAM" message
better disassembly decoding loop. clarified and corrected commentary in
disassembly package. identified some more critical sections in
disassembly package
this results in a better mnetwork disassembly
origin and memtop for disassembled entries are now definable. added
disassembly.FxxxMirror to preferences. PREF command can now set
FxxxMirror option. Added checkbox to win_prefs
renamed Iterate to IterateBank and added IterateCart
UpdateEntry() ignores any result not in the cartridge ROM space
tidied-up/unified preference files in debugger/disassembly/hiscore
packages
removed analysis code. too many code paths rendered the method
unworkable. for example, eg. JMP (indirect) where indirect address is in
ram.
Clarified how the Bank field in the disassembly.Entry should be used.
win_disasm makes sure that the current PC entry has been blessed. making
sure it will be seen in the disassembly window (also a note in debugger
inputloop about the fact that blessing should really take place there,
except for race condition issues. TODO note added)
added status line and options to win_disasm. status line shows when
execution from VCS RAM is taking place. options for highlighting addresses
common between all banks and non-decoded addresses
- fixed formatting bug caused when there are no notes anywhere in
the disassembly
o command
- STEP <target> no longer changes the QUANTUM setting
o future
- improved testing
- result sub-package renamed to execution
- renamed Instruction type therein to Instruction
o disassembly
- reworked structure of pacakge
- better grep. scope of grep can now be specified
- display sub-package added
- disassemblies now store instance of display.DisasmInstruction instead of a formatted string
o debugger
- ammende GREP to support new disassembly features
- added call to cartridge.Listen() in disassembly package's memory
implementation
- this fixes flow disassembly for tigervision cartridges
o debugger
- prompt now reports if PC is outside cartridge area
- simplified register implementations
- program counter now a separate type
- register package renamed to registers
- moved status register to registers package
- reworked tests
- streamlined how CPU results are created and stored
- speeds up execution a little
o debugger
- implemented Disable() function for consoles
- used to stop output when running initialisation script
- RAM command now has CART option. displays any additional RAM the
cartridge may have
o cartridge
- implemented RAM() command. returns copy of RAM array
- save/restore banks functions are now save/restore state and deal
with cartridge RAM in addition to bank information
o debugger/memory
- better error messages for peek and poke
- reworking of timings
- improved MachineInfo() text
- work on NUSIZ * more to be done
o stella tv
- error if no flyback signal has been sent
o metavideo
- improved metavideo
- now visualises delayed effects