Commit graph

125 commits

Author SHA1 Message Date
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
JetSetIlly
e693b29051 replaced all value receivers with reference receivers where appropriate
improves performance slightly
2020-11-22 12:26:54 +00:00
JetSetIlly
b6a890a9d1 renamed statsserver package to statsview
optional build with +statsview constraint
2020-11-22 12:04:28 +00:00
JetSetIlly
93dde40be4 removed some dangling lint errors (godot)
removed lint dependencies from Makefile targets
    - unreasonable to expect other people to have it installed
2020-11-19 15:11:30 +00:00
JetSetIlly
8212dc5ddb added compile flags to windows targets
same compile flags as for other build/release targets
2020-11-19 10:50:19 +00:00
JetSetIlly
4da2403732 Added rewind section to readme
added readme_spell target to Makefile
2020-11-19 08:21:29 +00:00
JetSetIlly
99443d16ce removed lint, vet and test dependencies from build target (makefile) 2020-11-07 21:08:09 +00:00
JetSetIlly
282d5e0d1c added DisableSaving flag to prefs package
debugger_test sets prefs.DisableSaving to true

removed testing tag from test Makefile target
2020-11-05 15:24:44 +00:00
JetSetIlly
7e74bcac25 reflection works with rewind system
rather than taking a snapshot of the reflection system, rewind replays
the emulation from the previous frame. this is a considerable saving
in memory. it also allows us to remove the signal history from the
television state information saved by the rewind system. this is also a
significant memory saving.

more efficient memory use possible I think by saving every other frame
or every third frame and allowing the emulation to run to fill in the
interim frames. this would require folding the input recording system
into the rewind system.

TIMELINE <n> function doesn't work as required just yet

screen refresh could be better on rewind plumbing

occasional deadlock when moving rewind slider
2020-11-01 21:21:32 +00:00
JetSetIlly
bce3ccf488 reflection system synchronised with the rewind system
(this version is exceedingly memory heavy. including tv signal and
reflection history in the rewind system is a mistake. work will now
concentrate on the rewind system storing VCS state only and recreating
the tv/reflection signal when a state is restored.)
2020-10-31 22:01:12 +00:00
JetSetIlly
7d54336d7f rewind system works with video stepping
added MEMUSAGE command
2020-10-29 09:13:05 +00:00
JetSetIlly
a66c3c5087 more cartridge state Snapshot()/Plumb() implementations
- 3e
- 3e+
- cbs
- df
- dpc
- dpc+
- mnetwork
- parker bros.
- supercharger
- tigervision

reworked atari cartridge implementations

plusrom passed through all Snapshot() and Plumb() calls to the child
mapper as normal. it adds nothing additional to the saved state.
2020-10-25 11:13:35 +00:00
JetSetIlly
6cc939dd38 added proper checks for golangci-lint and upx to Makefile
shader generator creates correctly formatted go code
2020-10-18 10:59:19 +01:00
JetSetIlly
7b624b5506 removed some staticcheck errors (golangci-lint -E staticcheck)
supercharger tap window will now set tape counter (revealed by
staticcheck)
2020-10-16 14:50:23 +01:00
JetSetIlly
f4b069e544 Makefile vet target removed and govet activated in golangci-lint
disabled "composite" check for govet
2020-10-16 12:52:30 +01:00
JetSetIlly
f30708d0d2 corrected style flaws (golangci-lint -E gocritic)
patch boundaries fixed in dpc mapper (as a result of lint)

added .golangci.yml configuration file

updated Makefile
2020-10-16 12:20:16 +01:00
JetSetIlly
fd4ebfa990 corrected disassembly packages use of cartridge memory (golangci-lint -E scopelint)
update Makefile lint target
2020-10-16 11:10:28 +01:00
JetSetIlly
22cd3251e9 removed unused function parameters/return values (golangci-lint -E unparam)
update Makefile lint target
2020-10-16 11:04:05 +01:00
JetSetIlly
b41c6d0301 removed unnecessary whitespace (golangci-lint -E whitespace --fix)
update Makefile lint target
2020-10-16 10:29:09 +01:00
JetSetIlly
e6e3a63be8 spelling errors in comments (golangci-lint -E misspell --fix)
update Makefile lint target
2020-10-15 22:02:51 +01:00
JetSetIlly
eace858835 removed unnecessary type conversions (golangci-lint -E unconvert)
update Makefile lint target
2020-10-15 22:02:32 +01:00
JetSetIlly
6f71e2cf83 added lint target to Makefile 2020-10-15 21:40:17 +01:00
JetSetIlly
a5944d1a6b added vet and tidy targets to Makefile
the various build targets now require a successful test and vet
2020-10-15 16:39:38 +01:00
JetSetIlly
9b5ba10ade reworking of lazyvalues package
clarified some concepts. removed superfluous code/comments
2020-10-13 14:25:37 +01:00
JetSetIlly
8b705dcff3 reworked how disassembly entries handle symbols
added CartHotspots debugging bus. used by symbols package to get
cartridge symbols information. should be useful for disassembly too

renamed hotspot() functions (in cartridge mapper implementations) to
bankswitch() for clarity

sdlimgui disassembly window shows address labels. disassembly iteration
updated to better support that.

SYMBOL command prints all mirrors for cartridge addresses
2020-10-07 06:58:40 +01:00
JetSetIlly
6d556cd3c8 clarified some concepts in disassembly package
experimented with making the disassembly a service driven goroutine but
this proved too slow to iterate over
2020-10-02 10:47:49 +01:00