Commit graph

3266 commits

Author SHA1 Message Date
JetSetIlly
cb0181f684 calls to SetResizer() are paired with calls to SetSpec()
comment added to SetResizer() function to explain that this is
probably required
2024-06-11 13:57:39 +01:00
JetSetIlly
3b759149f9 fixed driven input related crash
bug introduced in e2c89701
2024-06-10 18:21:05 +01:00
JetSetIlly
94dd1fc9f9 Revert "preview emulation uses TV spec from command line option"
This reverts commit 1c95bc94b8.
2024-06-08 12:51:27 +01:00
JetSetIlly
d5e2c945e9 REGRESS RUN keeps a list of failed regressions
specifying FAILS as a key will add the previously failed regressions to
the list

REGRESS LIST accepts list of keys to list. this can include FAILS to
list the previous FAILS from REGRESS RUN

as before, specifying no keys at all defaults to selecting all keys in
the database
2024-06-07 21:15:01 +01:00
JetSetIlly
7601cf778a REGRESS REDUX now accepts list of keys to work on
added -dryrun command line option for redux
2024-06-07 21:15:01 +01:00
JetSetIlly
4090cd7f75 fix regression state file path creation
state file used the complete path of the cartridge
2024-06-07 21:15:01 +01:00
JetSetIlly
43fc97e4b6 fingerprint for JANE 2024-06-06 08:08:18 +01:00
JetSetIlly
3883b0a8c9 added JANE mapper 2024-06-06 07:45:48 +01:00
JetSetIlly
78a6880f51 fixed rewind for 'fastload' Supercharger tapes
snapshot implementation was incorrect for fastload
2024-06-05 21:22:28 +01:00
JetSetIlly
f157f7723b ARM memory latency calculation was incorrect
since moving the ARM clock setting to be preference driven
latency and cycle stretching factor for flash access was performed
too early. this resulting in a stretching factor of zero

bug introduced in 8e4838d. this affected v0.31.0
2024-06-03 11:00:09 +01:00
JetSetIlly
f617ee9af7 improved/clarfied how T1 counter works for ARM7TDMI architecture
there's a lingering question regarding the PCLK division. the default
value for the architecture is a division by 4 but I think the Harmony
driver probably sets it to a division of 1 before handing over to
the custom code

it is set to 1 for now because historically that is the value we've used
and measurements indicate that it is a correct assumption
2024-06-03 11:00:09 +01:00
JetSetIlly
c4bfafed69 updated .gitignore 2024-06-03 10:15:32 +01:00
JetSetIlly
3fb88160cf added Hz counter to reflection/timeline 2024-05-30 23:12:50 +01:00
JetSetIlly
a75909c5ab async archivefs could include incorrect entries
this could happen when changing directories when a previous list was
ongoing. this was supposed to have been fixed in fcb8439 and 02bb6a33
but both were incorrect in some sitations

the new solution correctly waits for a cancel to complete using a mutex
2024-05-30 23:12:50 +01:00
JetSetIlly
f65241fce2 improved communication of preview results from animation thumbnailer 2024-05-29 14:47:40 +01:00
JetSetIlly
e2c89701a3 added vet target to Makefile
this runs 'go vet' but filtered through awk so we ignore noisy errors
that we're not interested in

fixed vet error caused by unreturned error type in input package
2024-05-29 11:47:33 +01:00
JetSetIlly
1f036eb565 removed sync.Mutex from properties type
it's not necessary and in fact is an error to make copies of a
sync.Mutex due to how we're using instances of the properties type
2024-05-29 10:33:24 +01:00
JetSetIlly
fcb8439531 archivefs fix committed in 02bb6a33 was incorrect/incomplete 2024-05-29 10:23:45 +01:00
JetSetIlly
0c8b2d2450 added audio comparison to comparison package
changed comparision/diff texture to linear and clamped scaling

comparison window will not be open on following session

if a comparison window was left open on program exit, it remained
open when the program is started again, even if there was no
comparison ROM specified. comparison window will now be closed
under those circumstances
2024-05-28 16:43:23 +01:00
JetSetIlly
02bb6a3355 solved deadlock in asynchronous use of archivefs
setting a new path could deadlock if a previous set was still being processed
2024-05-28 16:43:23 +01:00
JetSetIlly
e0a792083c corrected RemoveRealtimeAudioMixer() function
the function is not used currently but it should be correct none-the-less

reset realtime mixer in television on Reset()
2024-05-28 16:43:23 +01:00
JetSetIlly
42ff5a2587 spelling correction of "Thomas Jentzsch" in comments :-) 2024-05-28 16:43:18 +01:00
JetSetIlly
5d49542e94 added hash for WF8 variant of Zaxxon
we'll continue to use MD5 hashes for matched WF8 until more examples are found,
at which point a more general fingerprint will be more appropriate
2024-05-28 08:37:20 +01:00
JetSetIlly
ab35aae516 implemented WF8 mapper 2024-05-27 16:39:15 +01:00
JetSetIlly
873dac62d4 moved monitorSyncHigher test in screen.go
the test now affects whether the wait channel is used. the frameQueue is
not affected directly

this fixes problems with the screen not appearing to update (in
playmode) when the TV is of a higher refresh rate than the monitor. this
happened intermittently depending on where the frame queue indexes where
at the time the TV settled on the problem frequency, so it was difficult
to debug. however it happened more-or-less consistently when running the
Todd Frye version of xevious
2024-05-25 21:55:47 +01:00
JetSetIlly
6abcc220fc mNetwork incorrectly fingerprinted
bug introduced in 69620c50
2024-05-24 09:52:20 +01:00
JetSetIlly
ef8d32e107 tracker replay emulation uses current TV spec of main emulation 2024-05-22 12:46:00 +01:00
JetSetIlly
f285835540 global cycle regulator for ARM instructions 2024-05-22 10:31:34 +01:00
JetSetIlly
fa54b74198 TV SPEC shows 'actual' and 'requested' spec ID 2024-05-21 22:46:18 +01:00
JetSetIlly
03b9854e92 improved TV spec selection combobox in debugger TV screen window
AUTO is a checkbox that can be toggled
2024-05-21 19:34:15 +01:00
JetSetIlly
5bd9cd1f5a changing TV SPEC while paused will update the spec as expected
the rewind system is used to rerun the previous 10 frames thereby creating
an image that immediately reflects the selected specification
2024-05-21 19:18:12 +01:00
JetSetIlly
a4b848e0c8 thumbnail animation changed TV spec on Create() function 2024-05-21 18:20:43 +01:00
JetSetIlly
2aa2a11ba6 SetSpec() to AUTO and with the forced works as expected
setting the spec in this manner changes the creation Spec ID. this means
that is the spec is changed by the TV SPEC command or by via the debugger
window, newly loaded ROMs will prefer the creation ID. if the new creation
ID is AUTO then auto-detection and filename directives are preferred

changing the creation ID to AUTO with the forced flag also resets the
stable frames counter. this means that the auto-spec identification will
work as expected on change
2024-05-21 18:09:50 +01:00
JetSetIlly
83ace43f86 NewTelevision called with correct creation spec ID
for example, the ROM selector created a new thumbnail animation with
the AUTO spec when it's more appropriate to use the creation spec of
the main emulation
2024-05-21 18:09:50 +01:00
JetSetIlly
17df98c1ec added "creation Spec ID" to television
this is in addition to the requested Spec ID and the current Spec ID
2024-05-21 18:09:50 +01:00
JetSetIlly
4813dae6c4 ELF system argument uses the television requested spec ID
tracker package uses television spec ID correctly

movie cart tested for PAL60. it should be PAL-M

rewind search functions uses the TV spec of the main emulation

command line "performance" and "regress add" -spec option renamed to -tv

template for TV terminal command uses specification.ReqSpecList
2024-05-21 18:09:50 +01:00
JetSetIlly
8b2f630417 television can inherit resizer instance
this is instead of swapping FrameInfo information and setting the
resizer values based on that. this is used by the television in
conjuction with the preview package
2024-05-21 18:09:50 +01:00
JetSetIlly
141a5f34d2 refresh rate calculation uses correct HSR value for PAL/SECAM
the value for NTSC/PAL-M was already correct
2024-05-21 18:09:50 +01:00
JetSetIlly
9a358831a5 improved SetRotation() functions 2024-05-21 18:09:50 +01:00
JetSetIlly
7fb177c9bc cartridgeloader uses properties to decide on TV spec
properties made goroutine safe
2024-05-21 18:09:50 +01:00
JetSetIlly
69620c5038 amount of data used for mapper fingerprinting reduced to 1k 2024-05-21 18:09:50 +01:00
JetSetIlly
d7c71fd49a ELF arguments to main corrected
TV Type set to either NTSC or PAL. Defaults to NTSC

ARM clock speed set correctly
2024-05-20 13:36:54 +01:00
JetSetIlly
f3f6008912 corrected all user facing instance of PAL-M
PAL-M string rather than PALM
2024-05-20 09:06:06 +01:00
JetSetIlly
25523d350d data race in thumbnail.Anim.PreviewResults()
actual preview results are sent over the channel rather
than just a signal to retrieve the results
2024-05-19 16:02:57 +01:00
JetSetIlly
1c95bc94b8 preview emulation uses TV spec from command line option
this fixes a problem where some ROMs when given the command line
directive to use the PAL spec is contradicted by the preview emulation.
this seems to be a particular problem with PAL ROMs that never set a
valid VSYNC signal. Nightstalker is a good example of such a ROM
2024-05-18 17:25:09 +01:00
JetSetIlly
f9cdb366dd improved reliabilty of archivefs.List()
there was a very small % chance that the List() would end before all
entries had been received

'go test -shuffle on -count 100000 ./archivefs' reports no failures
2024-05-18 15:46:06 +01:00
JetSetIlly
483957986c ROM Select window correctly scrolls to previously selected file 2024-05-17 20:35:36 +01:00
JetSetIlly
dd06910403 archivefs optionally sets a 'fallback' path
if the requested path to Set() does not exist, the function will
fallback to largest sub-path that does exist
2024-05-17 20:35:36 +01:00
JetSetIlly
30f9326a82 better asynchronous listing of directory with archivefs 2024-05-17 11:20:22 +01:00
JetSetIlly
51fdd7b822 magnify tooltip/window now uses the current tv colours
texture in magnify tooltip no longer has any transparancy. the tooltip
window has a slight transparancy that the texture inherits
2024-05-16 22:24:08 +01:00