Makefile updated to build with freetype by default.
building without the imguifreetype build tag will cause the application
to use the default proggyclean font
embeds JetBrainMono-Regular.ttf under the OFL-1.1 License
added -fpscap to emulate() function (used by both playmode and the
debugger) making it a good alternative to the -display option
getting performance mode to work with an increasingly complex
gui-emulation communication just isn't worth it. it would make the code
too complex.
this paves the way for removing the Emulation interface and using a
straight-forward Emulation type, which will be current Debugger type
renamd. the Debugger type is currently handling the playmode, performing
well and allowing tighter integration of the debugger and playmode.
the thumbnailer does the actual emulation in a new goroutine so there's
no lag here but it's necessary to PushRawEvent() so that
rewind.GetState() doesn't race
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)
like peripheral event and cartridge event notifications but placed in
the top-left corner of the screen
fixed race condition by calling playmode Pause() from the GUI thread
The error mecahnism worked but the VCSHook solution is more general and
has the added benefit of keeping all special-cartridge-handling code
together and keeping it out of the input-loop
this simplifies the sdlimgui/screen type in addition to the NewFrame()
and Resize() functions in the PixelRenderer interface
will allow better overview and summarising of television performance
playscreen F7 window shows "total scanlines" rather than "visible
scanlines"
added includeDetail argument. this adds the Go version string and time
parameted to the filname of any profile file (specified by the profile
parameter)
simplified GUI creation process in main goroutine sync
corrected Makefile spellings
added mam preferences to prefs window. reorganised prefs window.
removed hardware prefs from PREFS command and lazy system. the lazy
system doesn't seem to be required and it makes more sense for the PREFS
command to deal solely with debugging topics.
preferences window visible in playmode on (F8). FPS indicator now on F7
soundfile (WAV or MP3) will stop when cartridge stops looking for tape
data and will rewind when it reaches the end of the file.
tape position slider in debugger
rewind system feels smoother and quicker. fixed bug in TV plumbing
introduced by recent commit
removed StateRewinding / StateGotoCoords requests. it was slowing things
down and it seems other recent changes have removed the need for them in
the first place (purely visual reasons).
cart ram/static areas show changes across time
supercharger TV reset after tape load no longer resets frame number.
this affected the rewind system and how it stores historical data.
improved responsiveness of service loop polling
expanded --profile option for DEBUG and PERFORMANCE so that different
profile options can be selected/combined
added --profile option to PLAY mode.
many lint errors removed (re-added "make lint" to git pre-commit hook)
FPS measured even when fpscap is not active. measurement will be
done more reliably.
FPS indicator will always remain on top of playscreen
spelling mistake in Makefile .PHONY list
software interrupts unimplemented
DPC+ function call hotspot expanded to support copy functions and
parameters
DPC+ARM ROMs working:
frantic
space rocks
unholy
donkey kong arcade
oofescape
zaxxon demo
screen will buffer a small number of frames it can use to smooth out
variations in the speed at which frames come from the emulation
results in better synchronisation for flicker kernels