Commit graph

100 commits

Author SHA1 Message Date
JetSetIlly
fc431415f1 cross_windows make target deletes icon resource file on completion
cross_windows make target specifies "windowsgui" - changed for testing
purposes and now changed back
2022-04-06 22:30:08 +01:00
JetSetIlly
50d91e22d2 separated release and release_upx 2022-03-25 21:52:22 +00:00
JetSetIlly
3d3efbf3f4 static linking of freetype for cross_windows target
corrected error handling on SDL initialisation failure
2022-03-16 14:52:45 +00:00
JetSetIlly
9ce2258a0a freetype font rendering enabled with imguifreetype build tag
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
2022-02-05 23:02:32 +00:00
JetSetIlly
4a658e2073 auto detect memory model for DPC+ ROMs
corrected logging messages and comments in objdump package
2021-12-13 13:38:15 +00:00
JetSetIlly
56a0d6a4dd silenced "make clean" on non-existant files 2021-12-05 20:17:42 +00:00
Stephen Illingworth
a321c67e23 added logo and windows icons
makefile cross_windows now requires rsrc https://github.com/akavel/rsrc
2021-11-22 21:06:51 +00:00
JetSetIlly
cc3d26ed0a embed windows icons in windows binary 2021-11-22 10:06:49 +00:00
JetSetIlly
1e8e9dd005 removed -display option from performance mode
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.
2021-11-19 21:43:22 +00:00
JetSetIlly
249e3c4b60 timeline window now runs the rewind.GetState()/thumbnailer in the main emulation goroutine
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
2021-11-18 21:51:44 +00:00
JetSetIlly
3f6bd5fccb preview thumbnails in ROM selector
added thumbnailer package to support thumbnailing
2021-11-15 13:37:50 +00:00
JetSetIlly
32499606a3 WSYNC/Coproc aren't counted in playmode so timeline now shows dotted lines
dotted lines indicate that those counts haven't been made during the
period shown
2021-11-10 14:29:53 +00:00
JetSetIlly
e0d577589f rewind in playmode is more responsive - mousewheel and keyboard
added rewind via gamepad bumper

cleanup of rewind functions in debugger package
2021-11-09 08:40:45 +00:00
JetSetIlly
92d96cc4e9 major refactor. amalgamated debugger/playmode emulations
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)
2021-11-04 09:38:35 +00:00
JetSetIlly
668b8750b3 added piano keys window 2021-10-31 13:35:24 +00:00
JetSetIlly
22ead85bdc emulator event notification icons
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
2021-10-26 19:40:12 +01:00
JetSetIlly
04e6b6ca98 added profile_cpu_debug Makefile target 2021-10-19 08:38:44 +01:00
JetSetIlly
394a23bb35 makefile builds windows binaries with -H=windowsgui flag 2021-10-15 19:07:18 +01:00
JetSetIlly
61b4125d74 replaced SignalAttributes struct with a single uint64 value
more efficient memory usage and marginally faster performance. maybe
possible to compress to a single uint32 value?
2021-09-02 14:20:44 +01:00
JetSetIlly
537fa62663 Supercharger Fastload handled with cartridgeloader.VCSHook mechanism
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
2021-08-21 10:59:16 +01:00
JetSetIlly
e5105feb9e supercharger soundload improvements 2021-08-19 12:33:02 +01:00
JetSetIlly
2f6327d721 makefile test target checks go version and uses -shuffle if available 2021-08-18 06:48:14 +01:00
JetSetIlly
53e83ecaca test target in Makefile now specifies -shuffle on 2021-08-18 06:28:05 +01:00
JetSetIlly
c303c847f3 SetPixels() in sdlimgui PixelRenderer sped up
modest performance improvement
2021-08-15 11:12:20 +01:00
JetSetIlly
156ecd8d3e optimisations in arm7tdmi package, particularly for immediate mode 2021-08-13 21:26:29 +01:00
JetSetIlly
4bdba33551 television package keeps better track of current frame information
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"
2021-08-12 11:28:59 +01:00
JetSetIlly
617dec7837 Makefile profile_mem changed to profile debugger 2021-06-16 23:54:32 +01:00
JetSetIlly
febf85e5ab main loop will sleep if no GUI is active
clarified user instructions issued by Makefile
2021-06-14 11:13:09 +01:00
JetSetIlly
f875c79289 rearranaged performance.Check() function parameters
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
2021-06-13 16:38:50 +01:00
JetSetIlly
686f52597f makefile: added profile_cpu_again target 2021-06-09 20:01:39 +01:00
JetSetIlly
3628d8ea6b makefile: easier to change go binary 2021-06-08 20:43:11 +01:00
JetSetIlly
90eb17e7ec ARM7: mam control now subject to preference settings
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
2021-06-02 18:41:56 +01:00
JetSetIlly
b719b9e97b playscr window scaling/sizing clarified
replicates changes to dbgscr seen in the previous commit
2021-05-15 15:36:37 +01:00
JetSetIlly
c5b1ee01e5 makefile tidy 2021-05-12 19:27:43 +01:00
JetSetIlly
a3e398b6bd updated go-gl, imgui-go and go-sdl2
go-gl update fixes https://github.com/JetSetIlly/Gopher2600/issues/7
2021-05-09 07:29:00 +01:00
JetSetIlly
be5c27231e camera shader now saves five files representing five combinations of adjacent frames 2021-05-08 21:34:54 +01:00
JetSetIlly
16ab693277 corrected supercharger WAV loading of unsigned data
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
2021-02-15 19:08:38 +00:00
JetSetIlly
90f3d60174 coprocessor last execution window shows TV information
extended disassembly package accordingly
2021-01-19 17:34:43 +00:00
JetSetIlly
ce7d724a02 fixed lint errors 2021-01-19 10:03:27 +00:00
JetSetIlly
ae9bc23836 fixed fragment shader for MacOS
shaders are no self contained and compilable with glslangValidator

glsl constants extracted from shader source by go generator
2021-01-11 06:42:44 +00:00
JetSetIlly
8f6eec130a corrected TV behaviour when VSYNC is not encountered
fixes Lili NTSC rom (and improves Andrew Davies' chess ROM)

fps limiter more reliable. more accurate at low frame rates.
2021-01-08 18:48:23 +00:00
JetSetIlly
1bfe27e3ed speeded up lazy breakpoint checks for disasm window
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).
2021-01-03 08:57:50 +00:00
JetSetIlly
76b36a4d80 cartridge rewinding is now more flexible
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
2020-12-31 17:19:33 +00:00
JetSetIlly
17eb04b931 added trace profile type to performance package
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)
2020-12-30 20:45:07 +00:00
JetSetIlly
d2ee20ed8c better CPU usage in debug mode when nothing (or very little) is happening
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
2020-12-30 20:45:07 +00:00
JetSetIlly
f9d353f5fd more ARM instructions
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
2020-12-30 20:45:07 +00:00
JetSetIlly
a81e596aab binaries target for Makefile
better naming of executables, ready for upload
2020-11-29 11:59:35 +00:00
JetSetIlly
890eec5c72 altered how time.Ticker is reset in television limiter
correct gui state restored after rewind
2020-11-27 21:11:01 +00:00
JetSetIlly
7e18cbbfb8 improved video performance
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
2020-11-24 23:29:51 +00:00
Stephen Illingworth
aaea6be2e1 update README.md
updated Makefile targets
2020-11-22 15:57:54 +00:00