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
13aa82b900
Avoid double-update race condition.
2026-04-29 21:38:07 -04:00
Thomas Harte
4ec043a4c7
Wire though unicode character lookup.
2026-04-14 18:17:29 -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
67171f348a
Use std::copy_n where it more directly matches intent.
2025-12-10 22:23:42 -05:00
Thomas Harte
c9c1bde6e2
Switch to spinning on SID thread synchronisation.
2025-11-13 17:59:24 -05:00
Thomas Harte
0d1fe03369
Further prefer static constexpr.
2025-09-12 21:40:08 -04:00
Thomas Harte
105272630e
Definitively eliminate per-logger state.
2025-09-11 23:29:47 -04:00
Thomas Harte
d825c03372
Prefer references for delegate protocols.
2025-08-30 00:09:38 -04:00
Thomas Harte
0823fc32fe
Eliminate file-relative paths.
2025-02-28 12:30:25 -05:00
Thomas Harte
ce5aae3f7d
Adjust more dangling indentation changes.
2024-12-04 22:29:08 -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
0c2a4f442e
Resolve all commented-out old logging references.
2024-01-19 22:17:35 -05:00
Thomas Harte
7e47329e2a
Update use of logger.
2024-01-19 14:16:13 -05:00
Thomas Harte
3ab6953246
Avoid use of raw pointers in machine creation.
2024-01-12 22:03:19 -05:00
Thomas Harte
85f814c632
Attempt to build fixed operations into type.
...
This simplifies callees and should make all helper functions automatically able to optimise themselves for fixed operations.
2023-12-21 23:08:18 -05:00
Thomas Harte
213dfe037d
Shift operation stuff into its own namespace, making data_select_active a free function.
2023-12-21 16:03:53 -05:00
Thomas Harte
87eec47b79
Mildly reduce cost of 8-byte ROM overlay.
2023-11-27 15:48:30 -05:00
Thomas Harte
032eeb4757
Eliminate runtime switch.
2023-11-27 14:57:41 -05:00
Thomas Harte
5c7f94d2ef
Introduce the possibility of operation type as a template parameter.
...
It's already proven possible to provide this for instruction fetch, so I think it'll immediately be a win. But more importantly it opens a path forwards for further improvement.
2023-11-27 11:48:34 -05:00
Thomas Harte
809cd7bca9
Remove the 68000's Mk2 suffix.
2023-05-10 17:13:01 -05:00
Thomas Harte
94231ca3e3
Put word-sizing responsibility on the caller.
2022-08-10 16:41:45 -04:00
Thomas Harte
6d1c954623
Make ST RAM size selectable, default to 1MB.
2022-08-10 12:00:06 -04: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
6aa599a17c
Future-proof perform_bus_operation.
2022-06-06 08:20:16 -04:00
Thomas Harte
1671827d24
Add flush.
2022-06-05 09:07:43 -04:00
Thomas Harte
4a740fbd14
Switch Atari ST to using the new 68000.
2022-06-04 08:43:43 -04:00
Thomas Harte
0df8173536
Merge branch 'master' into Amiga
2021-11-24 08:58:03 -05:00
Thomas Harte
f5d3d6bcea
Splits the lowpass filter into push and pull variants.
2021-11-21 15:37:29 -05:00
Thomas Harte
956a6dbd64
Improve commentary.
2021-07-23 19:23:54 -04: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
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
7e39550fc0
Attempts to make JustInTimeActor sequence-point aware.
...
With the objective of chopping out a lot of future boilerplate.
2020-11-15 21:58:18 -05:00
Thomas Harte
2477752fa4
Adds further [[fallthrough]] attributes.
2020-06-19 23:36:51 -04:00
Thomas Harte
267006782f
Starts to add Qt target; resolves many build warnings.
2020-05-30 00:37:06 -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
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
ec6664f590
Takes steps to guarantee property naming; reintroduces Electron runtime options.
2020-03-17 23:52:55 -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