reintroduction of the old idea of indicating whether the screen is
"atari safe" (as per the Stella Programmer's Guide). the indicator is
now a tick icon next to the VBLANK information
television would not desynchronise if scanlines was less than user
preference
desync is now less aggressive. for example, the transition between the
map screen and main screen in Lord of the Rings would trigger a full
screen roll but now it's less noticeable
when I implemented the feature I only knew of Quickstep as
being a problem ROM for some RGB mods. however, there is now
an example of a ROM where the COLUBK register is a problem.
rather than add a new option I simply renamed LateCOLUPF to
LateColor and set it to affect the COLUBK in addition to
COLUPF
the problem was that the Plumb() function was not providing the new
pointer to the cartridge
this wasn't a problem for the soundloud sub-implementation because that
never changes supercharger memory directly
however, for fastload, the load process does poke supercharger memory as
part of the fast load process. this meant that the fastload
implementation could poke memory of another rewind state, meaning that
the current rewind state would never get past the load() point. ie. the
PC would never be set to the correct value etc.
fastload does not send NotifySuperchargerFastload notification unless it
is in the MainEulation (not during thumbnailing etc.)
previous attempt at fix in commit 78a6880
it's relatively expensive to scale the cycles for every instruction.
this means that the cycle limit can happen either earlier or later than
expected but honestly, if we're worried about the cycle limit the
program is running out of spec in any case
these were broken in b48d487 when the release ldflags were used for
profiling. the release flags strip symbol and DWARF data from the binary
meaning that pprof couldn't dig into the source code or disassembly
this is purely house-keeping because I fumbled the release of
imgui-go 4.7.1. it's okay except the tag to 4.7.1 is not in a branch,
which may seem odd.
it was caused by starting the release process on github but then force
pushing an additional change. the release process is now pointing at
a commit that is not part of a branch
holding down mouse button without any mouse movement does not produce an
SDL event. this meant that holding down the STEP SCANLINE button slowed
down dramatically after the short keepAwake period
this is useful for recreating playback files for the regression
database. playback entries not currently supported for REDUX mode
added -playbackIgnoreDigest and -recordingFilename options for RUN mode
this simplifies the information in the recording and playback files and
means that the current VSYNC settings are ignored
television preferences window disable VSYNC controls when in TV is in
simplified mode
playback used GetReqSpecID() instead of GetCreationSpecID(). noting the
TV specification in the playback file will be replaced with a more
flexible system in the future
Some PAL games go a lot higher than 313 scanlines meaning that the TV
could never synchronise
this breaks existing recordings
extended visible bottom for PAL games
extended to 305 (Acid Drop is an example of a game
that needs this additional space
added WidthTV and Height TV to specification package. these can be used
to specify the 4:3 aperture and will scale nicely if a texture needs to
be bigger for example
debugger TV and bot image not updated, although the bot image texture
now uses linear scaling
this is to make the screen be sized at 4:3 in the majority of cases
"atari safe" values are still in the source and can be used for
information purposes in the debugger (not added yet)