Commit graph

11 commits

Author SHA1 Message Date
JetSetIlly
4007e6fc37 simplification of how gui interacts with debugger
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
2023-08-26 09:14:54 +01:00
JetSetIlly
3aa5885ebe removed curated pacakge. replaced with wrapped errors
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
2023-02-13 21:58:39 +00:00
JetSetIlly
178f05f17b updated go minimum version to 1.20
applied gofmt to source tree to update the documentation comments
2023-02-12 13:09:07 +00:00
JetSetIlly
d830f49f72 renamed MapAddress() in dbgmem package to GetAddressInfo()
the new name is a better description of what the function does
2022-10-20 13:54:50 +01:00
JetSetIlly
814ee94d3c added PCZERO target. this is PC value 0 but with no mapping of the PC address
boolean break targets can now imply a true value. (ie. "BREAK PCZERO" is
valid. no need to type "BREAK PCZERO TRUE")
2022-02-20 17:45:27 +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
d55a14fded simplified disassembly iteration
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.
2022-01-10 09:50:48 +00:00
JetSetIlly
c19a37a738 CLK breakpoints/targets will prevent debugger entering playmode
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
2021-11-11 10:00:26 +00:00
JetSetIlly
250dedcd2d moved debugger/memory.go to a new dbgmem package 2021-10-10 11:52:30 +01:00
JetSetIlly
d196e5a28e small reworking of breakpoint/trap targets, clarifying some concepts 2021-10-10 10:51:02 +01:00
JetSetIlly
d788fb46bb break/trap targets are now aware of CPU instruction boundaries
halting conditions are checked every video-cycle. this reverts a
temporary change made in a73dcae6dcc61e4ced03f23fe4df504cb966fb36

renamed files in debugger package for clarity
2021-10-07 15:40:34 +01:00
Renamed from debugger/breakpoints.go (Browse further)