Commit graph

30 commits

Author SHA1 Message Date
JetSetIlly
b54439e574 correct processing of signal array in pixel renderers
all SetPixel() function now set VBLANK pixels to 'VideoBlack' via a call
to GetColor(), rather than setting the RGBA values directly. except the
video digest, which remains a special case

this complete work from the previous commit 68263991f
2024-11-23 14:56:37 +00:00
JetSetIlly
e4dea5c7b9 reverted SignalAttributes to a struct
profiling shows that the performance penalty is no longer that great.
the struct is preferable because the code is clearer
2024-11-23 14:56:37 +00:00
JetSetIlly
a7c296d6c4 simplified calls to logger package
calls to Logf() which do no formatting replaced with Log()

calls to Log() with Sprintf() replaced with Logf()

error types sent without use of Error(), taken advantage of new logger
package features

correct construction of wrapped errors in eeprom package
2024-11-23 14:56:36 +00:00
JetSetIlly
516092310c added user preference for "synchronised on startup" 2024-06-11 13:58:14 +01:00
JetSetIlly
1c3b4454e8 corrected specification switching in conjunction with new VSYNC code 2024-06-11 13:58:11 +01:00
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
94dd1fc9f9 Revert "preview emulation uses TV spec from command line option"
This reverts commit 1c95bc94b8.
2024-06-08 12:51:27 +01:00
JetSetIlly
f65241fce2 improved communication of preview results from animation thumbnailer 2024-05-29 14:47:40 +01:00
JetSetIlly
a4b848e0c8 thumbnail animation changed TV spec on Create() function 2024-05-21 18:20:43 +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
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
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
f995efa41e better solution for problem in 5549230c
clarified how preset sizing works for the television resizer
2024-05-11 14:46:39 +01:00
JetSetIlly
96ad0797b4 NewVCS() expects environment.Label on instantiation
this helps force the environment.Label to be set to something meaningful
2024-04-30 18:34:35 +01:00
JetSetIlly
cd2a00d4ba logger.Log() and logger.Logf() now require a logger.Permission instance
the logger.Permission interface indicates whether the environment making
the logging request is allowed to create new log entries. the
environment.Environment type satisifies the Permission interface

logger.Allow is provided as a convienient way of indicating the the log
entry should always be created
2024-04-30 11:23:40 +01:00
JetSetIlly
da83fc311b removed complexity from cartridge fingerprinting process
all cartridge data is read through cartridgeloader io.Reader interface
2024-04-16 10:18:13 +01:00
JetSetIlly
877f282b8b corrected supercharger multiloading for fastload 2024-04-10 20:50:13 +01:00
JetSetIlly
24f3f32342 simplified notifications package
notifications interface instance moved to environment from
cartridgeloader. the cartridgeloader package predates the environment
package and had started to be used inappropriately

simplified how notifications.Notify() is called. in particular the
supercharger fastload starter no longer bundles a function hook. nor is
the cartridge instance sent with the notification
2024-04-06 10:12:55 +01:00
JetSetIlly
9e69f124d5 animated thumbnail preload render queue with empty image on creation
animated thumbnail emulation could be left running if ROM Select window
was closed with the X button
2024-02-14 16:04:29 +00:00
JetSetIlly
d1482c139a main environment label is now "main" rather than the empty string
this means that main emulation must be explicitely named but this is
good because it means there is no ambiguity if a support emulation is
not named
2024-02-09 17:25:26 +00:00
JetSetIlly
86cab7c258 thumbnail animation monitors screen for activity
if activity is low then a panel reset input is inserted into the
emulation

this is only a sketch of an idea and could definitely be improved
2024-02-06 22:24:13 +00:00
JetSetIlly
00fc13aee6 ROM select window shows mapper and TV information
animation thumbnailer drains render queue when creating a new emulation
2024-02-05 11:41:17 +00:00
JetSetIlly
685bf7ccc7 added support for stella.pro files
added properties package

ROM select window display property information
2024-02-05 11:41:17 +00:00
JetSetIlly
7a6d877096 added preview emulation support to ROM selector animation 2024-01-28 20:37:42 +00:00
JetSetIlly
745e977ef2 improved thumbnailing 2024-01-28 20:14:18 +00:00
JetSetIlly
e491cccbff another correction for VBLANK framing 2024-01-28 10:41:08 +00:00
JetSetIlly
2d02764e60 moved coprocessor interface/types from mapper to coprocessor package
there could be more work to do here to make this more readable
2023-08-09 15:26:05 +01:00
JetSetIlly
61b4c07b65 thumbnailer (animation and image) implement CartYieldHook
a cartridge with a coprocessor that had failed for some reason would
cause the thumbnailer goroutine to halt

in the case of the thumbnailer.Image type this would lock the UI
goroutine. and in the case of the thumbnail.Anim type it would lock the
goroutine that had been launched to produce the animation

added YieldHookResponse to better indicate the intention of the
CartYieldHook
2023-07-18 09:26:39 +01:00
JetSetIlly
ac5e3ba6b9 split Thumbnail type into image and anim
anim better handles animated thumbnails (eg. ROM select window)
2023-05-21 18:42:00 +01:00