Commit graph

29 commits

Author SHA1 Message Date
JetSetIlly
6c3035e143 renamed hardware/instance package to environment 2023-04-16 21:24:09 +01:00
JetSetIlly
68cf99620e setup entries output log message on successful application
clarified some database concepts - updated regression and setup packages
accordingly
2023-02-14 10:08:33 +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
2d0431bc83 regression tests check for CPU KIL state 2023-02-05 14:04:42 +00:00
JetSetIlly
688ca31ea8 resetting of VCS is no longer automatic on cartridge insert
the reset can be done automatically but as an optional operation. it has
been discovered that in some situations more preparation is required
before the cartridge is reset. particularly, ACE/ELF type cartridges
where the ARM may executed before the coprocessor disasm/developer
packages are initialised and attached
2022-10-08 18:42:23 +01:00
JetSetIlly
28ffedbf11 removed emulation package. moved types to debugger/govern package
the emulation package has been unecessary since the amalgamation of the
debugger and play modes. in order to allow switching between the two
modes it was necessary to remove the playmode package and to move all
playmode loops and other considerations into the debugger package. as a
result the abstraction offered by the emulation package is uncessary
2022-08-31 14:37:00 +01:00
JetSetIlly
27ea04cf12 preferences are shared between emulation instances
this means that updating the preferences through the prefs window will
affect all emulation instances equally
2022-01-20 11:15:30 +00:00
JetSetIlly
e6fc6f005d moved TIA Revisions preferences into hardware.preferences package
clarified how the emulated machine is normalised for regression testing
2021-12-05 20:17:43 +00:00
JetSetIlly
085adf5159 added hardware/instance package 2021-12-05 20:17:43 +00:00
JetSetIlly
78e6582291 can step through WSYNC even with instruction quantum
removed a needless pointer indirection in tia package (tiny performance
improvement)

increased sync delay in win_disasm to 100
2021-10-10 16:15:58 +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
f1cd9bd040 removed special CTRL-C handling for regression RUN
it never really worked and was just annoying. default interrupt handling
is sufficient.
2021-09-24 20:24:31 +01:00
JetSetIlly
c816cf5d5a renamed emulation.Halt to emulation.Ending to avoid concept conflict
Halt is a synonym for Pause and a note has been made next to the
variable declaration
2021-09-24 07:26:52 +01:00
JetSetIlly
8bf405ee80 added NewLoaderFromEmbed()
suitable for loading data from a go:embed directive
2021-09-05 10:11:02 +01:00
JetSetIlly
ad596d4b34 corrected how regression database stores cartridge mapping
regressionDB wasn't storing the requested cartridge mapping correctly.
for example, if no mapping was specified by the user but a mapping was
detected by file extension then the detected mapper was stored. this
caused problems with supercharger audio files - the AR mapping was
stored in the DB but no that it was an audio file

DB now stores the user specified mapping in all instances (ie. not the
mapping detected by the file extension).

related to this was that the deserialisation of DB entries was not using
the cartridgeloader package correctly. instead of using NewLoader, the
deserialisation was populating the Loader type manually.
2021-08-19 08:29:55 +01:00
JetSetIlly
c2616c2573 added emulation package / gui.EmulationState (re)moved 2021-07-25 18:44:12 +01:00
JetSetIlly
89b7596837 implemented pausing in playmode
this has revealed the way forward for an effective convergence of
playmode and debugging mode. for this commit a Playmode interface has
been added but this will abstracted into an Emulation interface in the
future
2021-07-24 08:07:23 +01:00
JetSetIlly
713a3229e6 added REDUX option to regression
reruns compatible entries in regression database

fps cap off for regression operations
2020-11-25 21:32:26 +00:00
JetSetIlly
63da4073d9 remove Television interface / renamed Reference to Television
the interface was becoming too large and was a remnant of a very early
development phase. the gui interface type has replaced that concept.
2020-10-23 15:35:39 +01:00
JetSetIlly
e3eb439cf8 tidy up of television package 2020-10-21 16:19:57 +01:00
JetSetIlly
4253af599e moved televsion to hardware package 2020-10-21 11:14:20 +01:00
JetSetIlly
05a2837853 disable random elements of the VCS for regression and playback recordings 2020-10-19 18:32:57 +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
b41c6d0301 removed unnecessary whitespace (golangci-lint -E whitespace --fix)
update Makefile lint target
2020-10-16 10:29:09 +01:00
JetSetIlly
504ad464a1 corrected regression output format
added ability to skip tests during a regression run by issuing an
interrupt signal (ctrl-c). two such signals within 250ms will stop the
run completely

corrected log regression. now makes sure log is clear before beginning
collation
2020-10-02 22:25:03 +01:00
JetSetIlly
7fc48dcd65 renamed errors package to 'curated'
to differentiate with the now existing errors package in the standard
library.
2020-09-28 22:16:59 +01:00
JetSetIlly
2d5cae17f5 reworking of errors package
removed all messages from errors package. the strings are now hard coded
in place. the original reason for extracting the error strings like that
was (a) for redundancy and (b) for localisation possibilities. However,
in reality there is not much redundancy and since the project started
the scope of localisation is much larger (particularly due to the
addition of a GUI)

this is the first step. the next step is to remove the errors package
altogether. recent additions to Go mean that the functionality of the
errors package is no longer required. moreover, the original idea for
the errors package functions turns out not to have been as useful as
first appeared (the Error() functionality which makes sure no repeating
sub-strings occur is probably better achieved with static tooling).

one idea that comes from this which is quite interesting is the idea of
a curated error. that is, any error that has been "wrapped" as some
'generic' type. the IsAny() function in the errors package effectively
serves this purpose. we use that in one place in the input loop of the
debugger. not strictly necessary but nice to have so it would ideal
if we could remove the errors package but keep that idea.
2020-09-28 22:16:59 +01:00
JetSetIlly
c773f4f5d2 added new log test to the regression package
log test records hash of log output

renamed digest test to video test. removed audio testing

added -log output to "regress add" mode. note that this has nothing to
do with the log test. it simply echos new log entries as the appear to
the console, supressing regression progress meters
2020-09-22 19:21:36 +01:00
Renamed from regression/digest.go (Browse further)