fixed corner case caused by RSYNC being triggered on the first scanline
fixed some presentational issues (Nan and Inf floats) caused by running
an ejected ROM
possible to switch from playmode to debugger when ROM selector is active
in all situations.
added terminal.UserQuit sentinal error to better handle quit events.
future versions should probably remove 'running' variable and rely on
this error and filter accordingly
double-click in ROM selector loads the cartridge. cartridgine
information below thumbnail. save ROM selection to preferences.
automatically select previous ROM on next session.
rewind.String() now produces correct summary in all instances
rewind reset on frequency change (in addition to the existing rule about
number of states). timeline no longer reset on this type of rewind
reset.
adjust coordinates function uses the correct zero value for color
clocks. the error could be seen on STEP BACK FRAME when the execution
would stop near clock 0 rathre than clock -68
execution states are recorded and appended to the history every frame
regardless of the snapshot frequency schedule. they continue to be
trimmed in the usual way. on emulation halt meanwhile, the current
coordinates are recorded which is more flexible and allows for video
cycle granularity.
new counter package added (sub-package of reflection)
this new counting method is fast enough to be run while in playmode,
which means that historical timeline information is immediately
available in the debugger
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
switch between debugger and playmode with F6 or backtick key
pakage debugger remains for now but it will be renamed to emulator or
something like that. playmode package removed.
commandline options for both debugger and playmode are the same
currently, with some playmode features being lost (temporarily)