Thomas Harte
f417fa82a4
Splits 'CRTMachine' into three parts: ScanProducer, AudioProducer, TimedMachine.
...
Simultaneously cleans up some of the naming conventions and tries to make things a bit more template-compatible.
2020-04-01 23:19:34 -04:00
Thomas Harte
294e09f275
All these 'override's can be 'final's.
...
At least for the purpose of being communicative. I doubt there's much to gain in terms of compiler output — the DiskImageHolder can avoid some virtual lookups but nothing else leaps out.
2020-01-23 22:57:51 -05:00
Thomas Harte
124c7bcbb0
Makes the Macintosh a mouse machine, and makes mouse machines detectable.
2019-06-11 18:21:56 -04:00
Thomas Harte
b0503efa3d
Resolves a potential deadlock on multi machine handover.
2019-02-27 22:39:33 -05:00
Thomas Harte
7e58a44771
Renames ConfigurationTarget
to MediaTarget
as per its newly-reduced interface.
2018-07-10 21:32:28 -04:00
Thomas Harte
0b771ce61a
Removes all instances of the copyright symbol.
2018-05-13 15:19:52 -04:00
Thomas Harte
ef19a03efc
Drives can now deliver activity events.
2018-05-10 21:54:10 -04:00
Thomas Harte
70e6c3b2f6
Introduces the ActivityObserver
protocol for LEDs, drive events, etc.
...
The Electron's caps lock LED is the test case.
2018-05-07 21:57:54 -04:00
Thomas Harte
2452641844
Introduces a fast workaround to avert a MultiMachine where it would instantly end.
2018-03-06 19:08:02 -05:00
Thomas Harte
8265f289bd
Improves documentation within the new parts.
2018-02-19 16:03:17 -05:00
Thomas Harte
ddf1bf3cbf
Reintroduces options selection for the Mac.
...
For everything except the Vic-20, anyway. That has a somewhat outdated notion of what an options panel should be, corresponding to the work yet to do on its analyser.
2018-02-12 21:46:21 -05:00
Thomas Harte
9960121b08
Introduces an exit condition for the multi machine.
2018-02-11 20:24:08 -05:00
Thomas Harte
e1cab52c84
Ensures thread safety of access to machines array.
2018-02-10 19:38:26 -05:00
Thomas Harte
43b682a5af
Adds multiple target versions of all the DynamicMachine-vended types.
2018-02-09 16:31:05 -05:00
Thomas Harte
4e720d57b2
With debugging hooks still on display, makes first attempt at dynamic analysis.
2018-02-01 07:53:52 -05:00
Thomas Harte
c12aaea747
Attempts to get as far as running the MultiMachine.
...
In doing so, fixes the long-standing bug that machines that output audio but don't have a listener produce a divide by zero.
2018-01-30 22:23:06 -05:00
Thomas Harte
ca48497e87
Pulls DynamicMachine
out of MachineForTarget
and adds MultiConfigurationTarget
as a first multiplexer.
2018-01-29 21:49:49 -05:00
Thomas Harte
d493ea4bca
Introduces a multimachine to handle multi-target static analyser outputs.
...
Non-functional as of yet.
2018-01-28 22:22:21 -05:00