Commit graph

59 commits

Author SHA1 Message Date
JetSetIlly
e462abcfa8 moved coprocessor/developer illegalAccesses into dedicated faults package
renamed references to illegal accesses to faults. the new name is
simpler and more flexible

faults locking was already independent of source lock

single MemoryFault() function in coproc developer interface

simplified faults window
2023-07-28 06:03:58 +01:00
JetSetIlly
732c433cd2 tidied and simplified test package 2023-07-06 13:49:18 +01:00
JetSetIlly
cb8d27a98d removed fast sync option 2023-03-05 17:24:11 +00:00
JetSetIlly
3aa5885ebe removed curated pacakge. replaced with wrapped errors
curated package predated the standard errors package introduced in
go1.13

the standard package does a better job of what curated attempted to do

the change of package also gave me a opportunity to clean up the error
messages a little bit
2023-02-13 21:58:39 +00:00
JetSetIlly
178f05f17b updated go minimum version to 1.20
applied gofmt to source tree to update the documentation comments
2023-02-12 13:09:07 +00:00
JetSetIlly
aa3670aeae ARM Flash latency moved from prefs to architecture.Map
the latency of "Flash" in the UnoCart is different to the Flash in the
Harmony

future versions will rename the internal use of Flash and SRAM to slow
and fast memory, or something like that. The labels can then be applied
depending on the cartridge type
2022-11-06 21:05:59 +00:00
JetSetIlly
43dcc085f0 screen roll now connected to VSYNC rather than change of Hz
clearer policy for setting of refresh rate

FPS display in playmode displays icon to indicate no VSYNC. removed
"atari safe" message (nice idea but requires work)
2022-08-03 22:51:21 +01:00
JetSetIlly
c20b20d5f7 clarified some concepts in the prefs package. "fixed" the Generic type 2022-05-16 13:05:26 +01:00
JetSetIlly
1a39e8674c audio mute options will be saved automatically on program exit 2022-05-13 15:32:00 +01:00
JetSetIlly
deb0887165 atarivox implementation will not produce sound if audio is muted
audioEnabled preference values renamed to audioMute

this is to facilitate the differentiation of muting and disabling
AtariVox output. muting of AtariVox is a subset of audio mute.
2022-05-13 11:30:55 +01:00
JetSetIlly
c8772f5b55 window state saved to disk. reloaded in next session 2022-04-29 13:50:33 +01:00
JetSetIlly
08cdd445b1 updated PlusROM network header 2022-04-06 14:55:02 +01:00
JetSetIlly
74be5fce2b ARM clock speed tunable in preferences window
ARM flash latency also added but not exposed in preferences window
2022-03-13 19:13:41 +00:00
JetSetIlly
eade7ea7be readded patch, multiload and wav options to the commandline
removed experimental hiscore client (never used)
2021-12-11 09:56:39 +00:00
JetSetIlly
dd706b392b preferences for the comparison emulation can be added on the command line
added commandline stack functions to the prefs package
2021-12-05 20:17:43 +00:00
JetSetIlly
89191d9a5a clarified some preferences concepts
set defaults for revisions, rewind and ARM tabs of the prefs window (in
addition to the CRT tab). set defaults button labelled appropriately

fixes some race conditions caused by pre/post hooks on prefs values -
prefs values are generally goroutine safe, except when pre/post hook is
defined
2021-12-05 20:17:43 +00:00
JetSetIlly
c01da89970 increased range in GUI for scanline sync speed
updated prefs label to clarify the intent of the value
2021-11-20 15:21:24 +00:00
JetSetIlly
af940e9ecd better interaction of window geometry preference saving with fullscreen setting
*.windowSize and *.windowPos preference values replaced with single *.windowGeometry value

prefs package type now have a pre-hook (called before new value is set).
existing hook/callback clarified to be a post-hook (called after new
value is set).

prefs generic type now handles prefs.GenericGetValueUndefined to
indicate that the value cannot be ascertained at this time (the prefs
package should use the most recent previous value instead)
2021-11-05 17:58:35 +00:00
JetSetIlly
c7df494261 added scanline / shadow mask intensity. removed "brightness" setting.
reduced intensity of the interference effect
2021-10-23 15:57:10 +01:00
JetSetIlly
e5bd938b41 renamed paths package to resources package
ResourcePath() is now called JoinPath()

UniqueFilename() moved to a new package named unique and renamed to
Filename()
2021-10-03 13:32:08 +01:00
JetSetIlly
9a5fb8fd1f updated README and lint fixes 2021-09-16 12:34:05 +01:00
JetSetIlly
3749dd1fbb fixed debugger audio-enabled preference affecting playmode audio
callback functions called on prefs.Set() even if value hasn't changed
2021-09-01 16:03:50 +01:00
JetSetIlly
590bdbc1bc added "notification" preferences
altered slightly how sdlimgui preferences are handled. debugger and
playmode now load and have access to all preferences. the only
difference remains window position and size.
2021-08-23 21:02:23 +01:00
JetSetIlly
f008c13156 types in prefs package use atomics rather then mutexes
pref types are likely to be called in critical sections. to make the
prefs package easy to use, values in the types were protected by
mutexes, this is relatively expensive however. with the exception of the
generic type, critical sections are now protected with atomics.

small performance improvement
2021-08-14 09:57:36 +01:00
JetSetIlly
ae6e8acf79 refined how RESPx works under HMOVE conditions
renamed some preferences for clarity. amended description tests and
preferences window to match
2021-07-25 18:44:12 +01:00
JetSetIlly
ef0d25e45e immedate ARM mode does no cycle counting
small performance improvement when in immediate mode. modified last
execution window to say if execution was in immediate mode or not (to
explain the absence of cycle count)

removed stale ARM preferences

updated screenshots and README
2021-07-11 12:39:08 +01:00
JetSetIlly
40e10de6a3 Go: replaced iotuil functions with io equivalents 2021-06-25 10:10:56 +01:00
JetSetIlly
00801443c1 ARM cycle stretching now differntiates between MAM mode 1 and 2
ARM MAM mode is set according to cartridge mapper driver

Preferences changed to specify this or whether to override it with a
particular value.

Removed the other MAM control preferences

Removed Flash/SRAM information from the last execution window
2021-06-18 20:05:13 +01:00
JetSetIlly
cee40a6fad replace all path function calls with filepath function calls
again, not one that is noticeable on Unix but can upset Windows because
of the different directory separator.
2021-06-05 14:38:14 +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
df7180bc25 phosphor bloom now editable in prefs window
definable fade when CRT effects are disabled
2021-05-01 19:53:20 +01:00
JetSetIlly
157784e101 CRT effect refinement
bluring renamed to fringing (more accurate)

scanlines and fringing are now curve sensitive

some preferences are now working correctly - not complete
2021-05-01 19:53:19 +01:00
JetSetIlly
43360c456b prefs float type saved to three decimal places 2021-05-01 19:53:19 +01:00
JetSetIlly
a18421b0af added TIA revision package
common TIA variations added to tia package

revisions preferences window in sdlimgui

key names in prefs package can now contain digits in addition to letters
2021-02-15 19:08:38 +00:00
JetSetIlly
7b6fc85959 added phosphor effect to CRT emulation
removed imput/output gamma preferences

removed scanline/shadowmask scaling preference
2021-01-10 21:03:50 +00:00
JetSetIlly
0e4737b326 rework of sdlimgui package
removed options related to setting scale of debug/play window
    - can be done more effectively window controls

preference initialisation for debug and play modes is more clear
    - removed errant playmode setting (terminalOnError - not applicable)

simplified window management

nicer feedback on rewind slider
2020-11-27 18:31:23 +00:00
JetSetIlly
455f683db4 added fs pacakge
fs package is an abstraction layer for those function in the standard os
package that are used by gopher2600. for non-wasm builds the functions
are fowarded straight to the os pacakge.

for wasm builds, the calls are swallowed.
2020-11-23 09:51:43 +00:00
JetSetIlly
38f5a77df9 crt preferences window shows scaled image of CRT
added mask/scanlines scaling option

default noise level reduced

reduced noise level range in preferences window
2020-11-20 15:11:11 +00:00
JetSetIlly
65c149c934 added crt preferences 2020-11-18 23:01:06 +00:00
JetSetIlly
f04ba86ca5 callback not called if prefs value has not changed
no deadlock on callback from preference set()
    - callback could deadlock if value being set() was accessed in
    registered function
2020-11-13 23:01:35 +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
0931b37244 missing preferences file is no longer a sentinal error
failed load just returns nil
2020-11-03 18:36:22 +00:00
JetSetIlly
05a2837853 disable random elements of the VCS for regression and playback recordings 2020-10-19 18:32:57 +01:00
JetSetIlly
5ff1632a74 prefs will not remove defunct preference values from disk 2020-10-19 12:10:31 +01:00
JetSetIlly
1cdb19562e error values checked (golangci-lint -E errcheck)
error checked on Close() of writable file

fixed disassembly sanity check
2020-10-18 10:59:19 +01:00
JetSetIlly
9e159b97d8 added more linters to golangci-lint config
godot --fix has been run to make sure all comments end in a full-stop

specified nolint directive to apply to specific linter
2020-10-16 16:31:07 +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
81b5a84a0b simplifed code (golangci-lint -E gosimple) 2020-10-15 20:56:48 +01:00
JetSetIlly
9f74bffba0 fixed mutex error in pref package String() functions
imports sorted with goimport (after a global search and replace sometime
in the past)

various commentary improvements
2020-10-15 16:38:41 +01:00
JetSetIlly
409963c8c2 add mutex to all prefs types 2020-10-04 16:33:52 +01:00