Thomas Harte
|
5456a4a39d
|
Eliminates static where constexpr a aren't class members; adds some if constexpr s for clarity.
|
2019-12-22 13:42:24 -05:00 |
|
Thomas Harte
|
05d77d3297
|
Also deploys make_unique/shared to avoid type repetition.
|
2019-12-21 23:52:04 -05:00 |
|
Thomas Harte
|
d85ae21b2f
|
Adds an explicit declaration of chip type to all AY users.
|
2019-12-18 19:28:41 -05:00 |
|
Thomas Harte
|
1c154131f9
|
Expands size of storage in Cycles/HalfCycles; adjusts widely to compensate.
|
2019-10-29 22:36:29 -04:00 |
|
Thomas Harte
|
2432151bf8
|
Puts machine name into ROMMachine::ROM.
Also switches to idiomatic exit codes.
|
2019-07-22 21:14:21 -04:00 |
|
Thomas Harte
|
b2a6682798
|
Adds extended ROM information for the ZX80 and '81.
|
2019-07-20 22:46:49 -04:00 |
|
Thomas Harte
|
20670bab2f
|
Expands information included in ROM load requests.
|
2019-07-19 22:35:22 -04:00 |
|
Thomas Harte
|
64465f97b6
|
Starts towards reintroducing the proper mechanisms for selecting a display type at runtime.
|
2018-11-28 17:53:33 -08:00 |
|
Thomas Harte
|
770d7e90e9
|
Removes stale sampling functions.
|
2018-11-22 22:47:29 -05:00 |
|
Thomas Harte
|
8a699b6072
|
Kills setup_output definitively, saving some indirection. set_scan_target takes its place.
|
2018-11-14 21:52:57 -05:00 |
|
Thomas Harte
|
6d277fecd5
|
Makes ScanTarget a little more communicative and orthogonal.
|
2018-11-10 19:52:57 -05:00 |
|
Thomas Harte
|
55da1e9c0f
|
Simplifies semantics a little and starts accepting a single buffer of pixel data.
|
2018-11-06 22:23:38 -05:00 |
|
Thomas Harte
|
014da41471
|
Ensures scan positions are communicated with a specified range, and switches manner of pixel clock communication.
|
2018-11-04 21:06:25 -05:00 |
|
Thomas Harte
|
f6562de325
|
Possibly adds enough for the Electron and ZX80 to start outputting dummy lines.
Let's see!
|
2018-11-03 23:40:39 -04:00 |
|
Thomas Harte
|
b40211d2c0
|
Starts to bend 'CRTMachine' to a world farther from owning the GPU relationship.
|
2018-11-03 21:54:25 -04:00 |
|
Thomas Harte
|
da4d883321
|
Adds first, incomplete attempts to talk to a ScanTarget from the CRT.
Does away with the hassle of `unsigned` while I'm here; that was a schoolboy error.
|
2018-11-03 19:58:44 -04:00 |
|
Thomas Harte
|
a8645f80bf
|
Introduces 'non-exclusive' emulator-space keyboards.
i.e. sets of keys that don't amount to an entire keyboard in the modern sense. Experimentally used by the Master System for its reset key.
|
2018-10-24 21:59:30 -04:00 |
|
Thomas Harte
|
a38639d099
|
Eliminates the concept of an iCoordinate.
Real-life precision appears not to support the idea of sub-sample pixel storage.
|
2018-09-12 20:05:39 -04:00 |
|
Thomas Harte
|
7e58a44771
|
Renames ConfigurationTarget to MediaTarget as per its newly-reduced interface.
|
2018-07-10 21:32:28 -04:00 |
|
Thomas Harte
|
3862fdb44c
|
Simplifies initialisation procedure for all machines.
With the side effect of allowing every machine to try to load only the ROMs that it needs.
|
2018-07-10 20:00:46 -04:00 |
|
Thomas Harte
|
80b281d9f1
|
Switches back to whole bytes per pixel, owing to persistent precision problems at 1bpp.
Also fixes the inaccurately-named `cycles_since_update_`.
|
2018-06-02 18:25:00 -04:00 |
|
Thomas Harte
|
0833412df9
|
Corrects port for ZON-X reads.
|
2018-06-01 19:45:37 -04:00 |
|
Thomas Harte
|
0b771ce61a
|
Removes all instances of the copyright symbol.
|
2018-05-13 15:19:52 -04:00 |
|
Thomas Harte
|
eecea93b3b
|
Simplifies the test for resetting the ZX80/81 line counter.
|
2018-05-01 21:31:37 -04:00 |
|
Thomas Harte
|
e92e06a5f4
|
Doubled down on the ROMMachine::ROMFetcher typedef.
|
2018-04-23 20:20:14 -07:00 |
|
Thomas Harte
|
6547560e52
|
Gives the CRT the ability to move iCoordinate multiplication outside of the fragment loop.
That resolves precision issues, as were plaguing the Apple II.
|
2018-04-18 19:29:03 -04:00 |
|
Thomas Harte
|
1c605d58e3
|
Removes the CRT requirement for an integral relationship between cycles and samples.
|
2018-04-16 20:00:56 -04:00 |
|
Thomas Harte
|
cd26f11818
|
Fixes documentation misstatement.
|
2018-04-15 18:00:51 -04:00 |
|
Thomas Harte
|
e599e65087
|
Switches to use of the TargetList typedef wherever possible.
|
2018-04-14 19:46:38 -04:00 |
|
Thomas Harte
|
079dc671e1
|
Rationalises per-machine static analyser call pattern, and adds Apple II as an option.
|
2018-04-14 12:12:12 -04:00 |
|
Thomas Harte
|
865c47a1ac
|
Names the magic constants.
|
2018-04-08 10:35:07 -04:00 |
|
Thomas Harte
|
3821679efd
|
Switches to bit unpacking on the GPU.
|
2018-04-07 22:17:47 -04:00 |
|
Thomas Harte
|
c0b4dd65da
|
Mades the expected video signal usage explicit.
|
2018-04-04 19:01:18 -04:00 |
|
Thomas Harte
|
69f520428d
|
Makes a first, ugly attempt at a 'new machine' dialogue for the Mac.
Which has implied getting much more specific about MSX disk drive attachment, and has prompted an excuse to offer the ZX80 with the ZX81 ROM.
|
2018-04-02 22:42:41 -04:00 |
|
Thomas Harte
|
a301964bd0
|
Ensures all audio queues are fully merged before machine destruction.
Thereby avoids a race condition.
|
2018-03-22 21:59:19 -04:00 |
|
Thomas Harte
|
89bec2919f
|
Encapsulates machine configuration properties for all remaining platforms.
|
2018-03-09 16:07:29 -05:00 |
|
Thomas Harte
|
78eaecb29e
|
Provides the proper framework for encapsulation of analyser target specifics.
... while making them a safe container for objects too. Uses the ZX80/81 as the pilot platform.
|
2018-03-09 15:36:11 -05:00 |
|
Thomas Harte
|
6b1eef572b
|
Eliminates diamond inheritance of KeyboardMachine::Machine by typers.
Specifically by pulling the key action stuff into a purely abstract class [/interface]. Takes the opportunity to unpublish a bunch of machine details.
|
2018-03-09 15:19:02 -05:00 |
|
Thomas Harte
|
2dade8d353
|
Introduces ZonX emulation for the ZX81.
|
2018-03-07 16:16:29 -05:00 |
|
Thomas Harte
|
3673cfe9be
|
Pulls method call for tape fast loading checks out of inner loop for the Vic, Electron and ZX80/81.
|
2018-02-19 16:57:24 -05:00 |
|
Thomas Harte
|
7b420d56e3
|
Removed state mirroring in the machine-specific Mac UI classes.
|
2018-02-14 21:46:50 -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
|
21efb32b6f
|
Integrates the static and nascent dynamic analyser namespaces.
|
2018-01-24 21:48:44 -05:00 |
|
Thomas Harte
|
d5b1a9d918
|
Moves the typer functionality behind a functionality-based naming scheme, eliminates its C-style memory management.
|
2017-12-29 15:26:03 -05:00 |
|
Thomas Harte
|
76af0228dd
|
Corrects longstanding survival of camel case in the analyser's loadingCommand .
|
2017-12-29 15:15:29 -05:00 |
|
Thomas Harte
|
d36e9d0b0d
|
Reintroduces cstring.h to a few files that previously got it implicitly.
|
2017-12-18 21:47:30 -05:00 |
|
Thomas Harte
|
ac80d10cd8
|
Separates the component parts of running an audio stream: task deferral, filtering and generation.
Walking towards improving opportunities for composition.
|
2017-12-17 21:26:06 -05:00 |
|
Thomas Harte
|
a46a37fba9
|
Ensures all vectors loaded from disk are the expected size.
|
2017-11-24 22:22:32 -05:00 |
|
Thomas Harte
|
c83b3cefbc
|
Eliminates the generalised special case selectors and ROM suppliers from the CPC, Vic-20, Electron and ZX80/81.
|
2017-11-24 17:55:28 -05:00 |
|
Thomas Harte
|
7b25b03cd5
|
Formally standardises machine options and introduces a --help option for the SDL target.
|
2017-11-20 21:55:32 -05:00 |
|