Thomas Harte
25b433b6bc
Remove spaces.
2026-05-14 20:47:43 -04:00
Thomas Harte
5eb2cf108e
Prefer reference: this shouldn't be nullable.
2026-05-02 10:59:31 -04:00
Thomas Harte
85ddc42f9c
Regularise factory method name.
2026-05-01 22:41:25 -04:00
Thomas Harte
afdd20022d
Normalise last_valid to get.
2026-05-01 14:00:45 -04:00
Thomas Harte
bf7e9f42ac
Add support for M5 cartridge images.
2026-04-06 22:10:47 -04:00
Thomas Harte
4ee674287e
Neaten.
2026-03-09 12:30:53 -04:00
Thomas Harte
892f16be7b
Tilt back towards fused divide-and-convert.
2026-03-09 11:52:51 -04:00
Thomas Harte
2d1c865366
Attempt fully generic formulation of divide/flush.
2026-03-07 16:22:16 -05:00
Thomas Harte
c9c1bde6e2
Switch to spinning on SID thread synchronisation.
2025-11-13 17:59:24 -05:00
Thomas Harte
ecc623cd6c
Improve option naming, add one for dynamic crop.
2025-10-29 17:19:15 -04:00
Thomas Harte
0d1fe03369
Further prefer static constexpr.
2025-09-12 21:40:08 -04:00
Thomas Harte
6f1db15d7c
Further reduce indentation.
2025-09-05 23:07:45 -04:00
Thomas Harte
8fded8f210
Add consts, remove get_s.
2025-08-29 22:55:50 -04:00
Thomas Harte
2c2216afae
Further eliminate file-relative includes.
2025-02-28 13:18:48 -05:00
Thomas Harte
0823fc32fe
Eliminate file-relative paths.
2025-02-28 12:30:25 -05:00
Thomas Harte
1f6f30ae9e
Implement MediaChangeObserver for the consoles.
2025-02-25 23:03:45 -05:00
Thomas Harte
b15a083a15
Switch to a non-macro route for startup declarations.
2024-12-07 10:15:38 -06:00
Thomas Harte
d3ed485e7a
Take another big swing at indentation, some consts.
2024-12-01 21:44:14 -05:00
Thomas Harte
7248470950
Roll formatting and const tweaks into Inputs.
2024-11-30 18:57:56 -05:00
Thomas Harte
bc5727af14
Switch to = default.
2024-02-16 21:50:15 -05:00
Thomas Harte
a3d37640aa
Switch include guards to #pragma once.
2024-01-16 23:34:46 -05:00
Thomas Harte
3ab6953246
Avoid use of raw pointers in machine creation.
2024-01-12 22:03:19 -05:00
Thomas Harte
2b56b7be0d
Simplify namespace syntax.
2023-05-10 16:02:18 -05:00
Thomas Harte
201a7c17ae
Avoid VDP race condition.
2023-03-12 23:20:48 -04:00
Thomas Harte
ffb0b2ce0b
Eliminate runtime duplication of personality.
2022-12-31 21:50:57 -05:00
Thomas Harte
7d6eac2895
Template the TMS on its personality.
...
Template parameter currently unused, but preparatory to other improvements.
2022-12-31 15:08:33 -05:00
Thomas Harte
8f2e94a1d8
Switch name back to emphasise _async_.
2022-07-16 14:41:04 -04:00
Thomas Harte
bf03bda314
Generalise AsyncTaskQueue, DeferringAsyncTaskQueue and AsyncUpdater into a single template.
2022-07-14 16:39:26 -04:00
Thomas Harte
6dabdaca45
Switch to int; attempt to do a better job of initial audio filling.
2022-07-09 13:33:46 -04:00
Thomas Harte
b097b1296b
Adopt granular flushing widely.
2022-07-08 16:04:32 -04:00
Thomas Harte
f5d3d6bcea
Splits the lowpass filter into push and pull variants.
2021-11-21 15:37:29 -05:00
Thomas Harte
f4db4c3a73
Implements ROM::Request::validate.
...
It now also validates ROM sizes, so can no longer take a const Map.
2021-06-04 18:54:50 -04:00
Thomas Harte
a30eeaab6a
Starts to introduce a new grammar for ROM requests.
...
They can be optional, and chained together in AND or OR combinations. A central catalogue knows the definitions of all ROMs.
2021-06-03 21:55:59 -04:00
Thomas Harte
1266bbb224
Makes the TMS a sequence-point-generating JustInTimeActor.
2021-04-05 21:02:37 -04:00
Thomas Harte
d77ddaf4fa
Switches the Electron to JustInTimeActor video.
...
Also reorders template parameters; I think that specifying a different time base is likely to be more common than using a divider.
2021-04-04 17:33:49 -04:00
Thomas Harte
8a11a5832c
Uses GI::AY38910::Utility far and wide.
2021-03-26 23:19:47 -04:00
Thomas Harte
2477752fa4
Adds further [[fallthrough]] attributes.
2020-06-19 23:36:51 -04:00
Thomas Harte
512a52e88d
Increases const correctness, marks some additional constructors as constexpr, switches std::atomic construction style.
2020-05-20 23:34:26 -04:00
Thomas Harte
25996ce180
Further doubles down on construction syntax for type conversions.
2020-05-09 23:00:39 -04:00
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
311458f41f
Restores Macintosh 'runtime' options.
...
Also cleans up some leftover parts elsewhere.
2020-03-18 21:50:02 -04:00
Thomas Harte
a7e1920597
Restores ColecoVision runtime options.
2020-03-18 00:06:52 -04:00
Thomas Harte
394ee61c78
Starts a switch to reflectable-style runtime options.
...
The Amstrad CPC and ZX80/81 have made the jump so far, subject to caveats. The macOS build is unlikely currently to work properly.
2020-03-16 23:25:05 -04:00
Thomas Harte
8e3bf0dbca
Starts moving towards a Deflectable-based system of runtime options.
2020-03-15 23:48:53 -04:00
Thomas Harte
50d356be2f
Ensures all audio sources, including compound sources, announce whether they're stereo correctly.
2020-02-16 18:31:45 -05:00
Thomas Harte
e02d109864
Nudges the LowpassSpeaker towards supporting stereo generation.
2020-02-15 18:03:12 -05: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
6802318784
Removes audio_queue_.flush() calls; I don't think I really need to block. At least, not usually.
2020-01-23 20:13:16 -05:00
Thomas Harte
a86fb33789
Ensures that the ColecoVision, MSX and Master System fully flush.
2020-01-22 22:57:16 -05:00
Thomas Harte
a71c5946f0
Ensures proper manipulation of scan_statuses, leading to the correct result out of a CRTMachine.
...
Possibly with the exception of the TMS, as I appear to have uncovered an unrelated issue there.
2020-01-21 22:28:25 -05:00