Commit graph

31 commits

Author SHA1 Message Date
JetSetIlly
92376586ca CoProcIsActive() replaced with CoProcState()
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
2022-08-20 21:00:20 +01:00
JetSetIlly
a8c66f7160 corrected accumulation of cycles in callfn package in event of breakpoint
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
2022-06-28 07:26:24 +01:00
JetSetIlly
d111f498cb corrected how terminal prompt is built, with regard to coprocessor execution
was able to simplify disassembly.GetEntryByAddress()
2022-06-27 22:32:05 +01:00
JetSetIlly
b4763e7581 cartridge.GetBank() correctly report cartrdige state even when
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
2022-02-05 14:07:15 +00:00
JetSetIlly
7e7eaf4262 cosmetic changes to disasm window
"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
2022-01-17 22:07:27 +00:00
JetSetIlly
c2616c2573 added emulation package / gui.EmulationState (re)moved 2021-07-25 18:44:12 +01:00
JetSetIlly
3208a16e3a corrected prompt for CPU reset state
showing > instead of >>
2021-03-02 22:05:46 +00:00
JetSetIlly
95b384167b cycle usage calculated during ARM emulation. works with DPC+ and CDF* formats
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
2021-01-28 17:34:07 +00:00
JetSetIlly
3ea4d74ba5 arm7tdmi disassembly
references to Mnemonic renamed to Operator for 6507
2021-01-17 08:46:16 +00:00
JetSetIlly
81b5a84a0b simplifed code (golangci-lint -E gosimple) 2020-10-15 20:56:48 +01:00
JetSetIlly
cd77a3be19 reworked disassembly process. better bless detection particularly for JMP/JSR
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
2020-10-08 09:29:58 +01:00
JetSetIlly
8b705dcff3 reworked how disassembly entries handle symbols
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
2020-10-07 06:58:40 +01:00
JetSetIlly
638f78a90f corrected prompt when PC is not in cartridge space 2020-08-23 20:45:29 +01:00
JetSetIlly
a2aee094a0 added logger package
small changes to how terminal prompt is used

reworked terminal print styles for clarity
2020-08-03 23:24:39 +01:00
JetSetIlly
298a5d343f updated copyright notice in all files
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.
2020-07-26 20:18:56 +01:00
JetSetIlly
4e38ed2fab memory redisassembled on TapeLoaded error (from supercharger)
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
2020-07-11 20:15:35 +01:00
JetSetIlly
aae1aba5d2 banks now represented by BankDetails type
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
2020-06-29 19:26:10 +01:00
JetSetIlly
baa5ed7ae0 performance mode will no longer affect playmode preferences 2020-05-24 21:37:55 +01:00
JetSetIlly
cff3cad5b7 disassembly reworking
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
2020-03-27 21:06:57 +00:00
Robin Eklind
24cb28843f gopher2600: use fully qualified import path as module path
Fixes #4.
2020-03-21 23:39:56 +01:00
JetSetIlly
cd71616309 instruction decoding info in cpu window
state of CPU RDY flag show in cpu window
2020-02-17 20:56:13 +00:00
steve
16b15fad95 o added licence headers to all files 2020-01-05 18:58:43 +00:00
steve
7a50211d61 o disassembly/results
- 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
2020-01-05 18:58:43 +00:00
steve
1b4f4f92c5 o cpu
- added bytecode 0x14
    - HeMan uses it, interestingly at memory location 0x40cd which is
      RAM

o debugger
    - prompt now reports if PC is in RAM
2020-01-05 18:58:43 +00:00
steve
6616bc2b88 o cpu
- 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
2020-01-05 18:58:42 +00:00
steve
291bdb48fe o disassembly
- 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
2020-01-05 18:58:41 +00:00
steve
6c210ee6c1 o debugger
- reorganised packages within the debugger package
    - commentary and documentation

o terminal
    - renaming of console to terminal in all instances
2020-01-05 18:58:41 +00:00
steve
ab34c2b376 o cpu / registers
- simplified register implementations
    - program counter now a separate type
    - register package renamed to registers
    - moved status register to registers package
    - reworked tests
2020-01-05 18:58:39 +00:00
steve
a734782969 o cpu
- 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
2020-01-05 18:58:38 +00:00
steve
c59a4a2dde o debugger
- 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
2020-01-05 18:58:36 +00:00
steve
e6d6d3f0f9 o tia/player
- 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
2020-01-05 18:58:36 +00:00