Commit graph

13 commits

Author SHA1 Message Date
JetSetIlly
6fd921492f added JITTER halt condition 2023-03-16 13:52:37 +00: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
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
618e239bf6 operator field in instructions.Definition is now numeric
this significantly increases the speed of lookup in the cpu
2022-05-22 20:52:54 +01:00
JetSetIlly
f8a3921e27 added NONEXE halt target
removed PCZERO target, which is too specific to be useful. NONEXE halts
execution when the PC reaches any address that isn't a Cartridge or RAM
address.
2022-04-29 13:50:33 +01:00
JetSetIlly
c41e25f19a fixed halt target parsing for RESULT OPERATOR target 2022-04-23 15:59:47 +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
669ff5bdad stepping over WSYNC is correctly implemented again
I think originally, after the debugging loop refactor, I was planning on
implementing this as STEP OVER and allowing a regular STEP (even in
instruction quantum) to advance to the next clock. but it proved to be
annoying and confusing
2021-11-21 07:41:13 +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
31138f16f3 removed InstructionBoundary() interface and television.ReqState()
Instruction boundaries can be inferred by the debugging input loop,
which is the only place it is requred. reworked GetAdjustedCoords() in
the televsion package (now called AdjCoords()) to cope with this.

ReqState() is totally replaced by GetCoords()
2021-10-23 10:50:19 +01: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/targets.go (Browse further)