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
curated package predated the standard errors package introduced in
go1.13
the standard package does a better job of what curated attempted to do
the change of package also gave me a opportunity to clean up the error
messages a little bit
"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
implemented "borrow" mechanism instead of iteration mechanism which was
clumsy and confusing.
simplitied how breakpoints are queried by the lazy system, for the
benefit of the disassembly window
tweaked how emulation state is tracked by the disassembly window
removed linter package. unused and underdeveloped. will reimplement in
the future.
two reasons:
1) to keep performance acceptable playmode only checks halting
conditions on a CPU instruction boundary. however a CLK changes many
times during an instruction meaning it will never match.
2) a CLK breakpoint will always match within 228 emulation ticks so
there is no point entering playmode at all because it will definitely
drop back to the debugger (within microseconds)
added a range change check to SCANLINE and CLK targets in
breakpoints.parseCommand(). we know what the possible values are for
these targets so we can be helpful and inform the user the some values
will never match
halting conditions are checked every video-cycle. this reverts a
temporary change made in a73dcae6dcc61e4ced03f23fe4df504cb966fb36
renamed files in debugger package for clarity