Thomas Harte
9410594486
Merge branch 'master' into LockFreeQueue
2020-07-29 21:22:19 -04:00
Thomas Harte
82d6a5387f
Gives Qt disk controllers independent ROM/RAM selection logic.
...
In particular, this fixes the Microdisc.
2020-07-29 21:06:41 -04:00
Thomas Harte
1942742d73
Resolves thread data race on Macintosh audio output.
2020-07-28 22:21:52 -04:00
Thomas Harte
cbb0594e6b
Use 16-sector state machine even with the 13-sector boot ROM.
...
I think I've proven that the Disk II doesn't decode the 13-sector state machine correctly. Work to do there.
2020-07-16 23:27:27 -04:00
Thomas Harte
e1c57b6fbe
Further ensures both ZX80 and ZX81 functionality.
2020-07-14 23:45:51 -04:00
Thomas Harte
371c26251c
Switches strategy for the ZX80.
2020-07-14 22:36:04 -04:00
Thomas Harte
645d198bee
Causes ZX80 and ZX81 software that doesn't already autorun to do so.
2020-07-14 22:17:56 -04:00
Thomas Harte
478d081095
Ensures machines take user-friendly default settings.
2020-06-23 23:27:56 -04:00
Thomas Harte
7af8646470
Allowing for the constexpr, this is maybe_unused.
2020-06-19 23:47:43 -04:00
Thomas Harte
2477752fa4
Adds further [[fallthrough]]
attributes.
2020-06-19 23:36:51 -04:00
Thomas Harte
59458f6444
Resolves errant spaces.
2020-06-16 23:15:38 -04:00
Thomas Harte
495024d6fe
Cleans up all redundant lock/unique_guard declarations.
2020-06-15 00:24:10 -04:00
Thomas Harte
f215405beb
Corrects capitalisation errors.
2020-06-02 23:27:29 -04:00
Thomas Harte
73131735fa
Further qmake warning corrections.
2020-05-30 19:31:17 -04:00
Thomas Harte
48afc54af6
Cuts down unused parameter warnings to just a few that may well indicate implementation errors.
2020-05-30 01:06:43 -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
66c2eb0414
Further tightens const
and constexpr
usage.
2020-05-12 22:22:21 -04:00
Thomas Harte
8596a9826f
Whether the BIOS is available in hardware is now decided entirely based on whether it is on disk.
2020-05-12 00:11:46 -04:00
Thomas Harte
81d70ee325
Adds in a few further const
s.
2020-05-09 23:49:37 -04:00
Thomas Harte
05c3f2a30d
Adds some further `costs.
2020-05-09 23:03:33 -04:00
Thomas Harte
25996ce180
Further doubles down on construction syntax for type conversions.
2020-05-09 23:00:39 -04:00
Thomas Harte
4136428db3
Removes dead StandardOptions.cpp.
2020-05-09 21:35:15 -04:00
Thomas Harte
31c6faf3c8
Adds a bunch of const
s.
2020-05-09 21:23:52 -04:00
Thomas Harte
40b60fe5d4
Renames folder as per intended scope.
2020-05-09 18:04:11 -04:00
Thomas Harte
eed357abb4
Introduces concept of 'average peak volume' in order better to normalise audio sources like the OPLL.
2020-05-09 17:57:21 -04:00
Thomas Harte
386a7ca442
Continues doing away with the attempt heavily to interleave the OPLL and OPL2, creating a new OPLL class.
2020-05-04 21:14:51 -04:00
Thomas Harte
1f34214fb3
Imagines a future of being able to boot into the BIOS.
2020-04-29 22:07:20 -04:00
Thomas Harte
6ebc93c995
Switches to maximum-rate multiplexing. Hopefully to eliminate the mixer as a consideration for now.
2020-04-24 23:50:06 -04:00
Thomas Harte
0ac99e8d42
Disables low low-pass filter, honours audio control bits for better volume usage.
2020-04-21 19:57:13 -04:00
Thomas Harte
6568c29c54
Improves commentary.
2020-04-19 22:42:25 -04:00
Thomas Harte
559a2d81c1
Baby step: starts trying to output the raw FM carrier, no modulation, no ADSR.
2020-04-12 12:46:40 -04:00
Thomas Harte
dd6769bfbc
Splits OPLL and OPL2 classes.
...
Logic is: they have different mixers (additive in the OPL2, time-division multiplexing in the OPLL) as well as different register sets. So I'll put operator and channel logic directly into those structs.
2020-04-07 23:15:26 -04:00
Thomas Harte
b0abc4f7bb
Implements enough wiring that the Master System will instantiate and talk to an OPLL.
2020-04-03 20:05:36 -04:00
Thomas Harte
fe3942c5b3
Updates comments.
2020-04-01 23:49:07 -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
7a12a0149a
Ensures BIOS is really not paged if not loaded.
2020-03-23 20:00:31 -04:00
Thomas Harte
69277bbb27
Renames files to match project convention.
2020-03-19 23:24:06 -04:00
Thomas Harte
7ab7efdbc1
Ensures consistent ordering.
2020-03-19 19:41:50 -04:00
Thomas Harte
b8ebdc012f
Ensure normative construction declaration ordering.
2020-03-19 18:58:36 -04:00
Thomas Harte
c6f35c9aac
Rejigs help output.
2020-03-18 23:11:25 -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
b2a381d401
Restores Vic-20 runtime options.
2020-03-18 20:23:55 -04:00
Thomas Harte
ffc1b0ff29
Reintroduces Oric runtime options.
2020-03-18 18:31:31 -04:00
Thomas Harte
ead2823322
Reintroduces MSX and Master System runtime options.
2020-03-18 18:26:22 -04:00
Thomas Harte
a7e1920597
Restores ColecoVision runtime options.
2020-03-18 00:06:52 -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
8c6ca89da2
Restores runtime options for the Acorn Electron.
2020-03-17 22:06:20 -04:00
Thomas Harte
b6e81242e7
Reintroduces Apple II runtime options.
2020-03-17 21:53:26 -04:00
Thomas Harte
f9ca443667
Adds the ability for reflective structs to limit the permitted values to enumerated properties.
2020-03-17 21:44:04 -04:00