Thomas Harte
3ab6953246
Avoid use of raw pointers in machine creation.
2024-01-12 22:03:19 -05:00
Thomas Harte
26123bf399
Mostly hide state.
2024-01-01 15:15:40 -05:00
Thomas Harte
2698ac2d0f
Comment and clarify.
2024-01-01 09:33:20 -05:00
Thomas Harte
a58f643b4d
Improve repeat behaviour.
2023-12-31 15:21:20 -05:00
Thomas Harte
1b5b3e575c
Add repeat-only functionality.
2023-12-29 14:45:48 -05:00
Thomas Harte
ffb992d04a
Erase done TODO.
2023-12-28 15:07:39 -05:00
Thomas Harte
9344f6a824
Indicate whether a keypress is a repeat. Treat appropriately in the Apple II.
2023-12-28 15:05:55 -05:00
Thomas Harte
8578dfbf22
Eliminate various other errant spaces.
2023-05-16 16:40:09 -04:00
Thomas Harte
2f78a1c7af
Add SCSI controller inclusion logic.
2022-09-15 12:17:50 -04:00
Thomas Harte
cbfd8e18e8
Eliminate repetitive magic constants.
2022-09-02 15:54:16 -04:00
Thomas Harte
7996fe6dab
'Clock' the SCSI bus (i.e. make it aware of passing time).
2022-08-30 16:40:25 -04:00
Thomas Harte
4df2a29a1f
Add storage to the bus.
2022-08-24 15:23:50 -04:00
Thomas Harte
6010c971a1
Provide a volume to the SCSI card if one is received.
2022-08-23 15:11:56 -04:00
Thomas Harte
f4c242d5e9
Attempt to offer centralised C8 region decoding.
2022-08-23 14:50:44 -04:00
Thomas Harte
c2c81162a1
Sketch out some of the easy stuff.
2022-08-22 16:48:51 -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
7aeaa4a485
Tweak paging semantics, to allow simple multiple dependencies.
2022-06-27 21:38:45 -04:00
Thomas Harte
866b6c6129
Eliminate off_t
.
2022-04-27 19:16:37 -04:00
Thomas Harte
f5d3d6bcea
Splits the lowpass filter into push and pull variants.
2021-11-21 15:37:29 -05:00
Adam Smith
fdb676da4e
.
2021-08-01 00:26:14 -07:00
Thomas Harte
96e7eb1bed
Adds a use-square-pixels option for the Apple II.
2021-06-07 20:16:01 -04:00
Thomas Harte
b6b3d845a3
Correct Apple IIe and Enhanced IIe startup.
2021-06-04 22:48:08 -04:00
Thomas Harte
0aa8c3c40d
For SDL at least, advances to failed linking.
...
... and with error reporting currently AWOL.
2021-06-03 22:22:56 -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
db52f13c32
Disambiguates reset_all_keys
.
2021-04-19 21:49:06 -04:00
Thomas Harte
b117df3367
Factors out joystick logic.
2021-02-16 19:17:32 -05:00
Thomas Harte
187f507532
The soft switch is LCBANK2, not LCBANK1.
...
[This also jimmys the IIgs into always entering its extended self test, for now]
2020-11-30 22:35:51 -05:00
Thomas Harte
091bce9350
Merge branch 'master' into AppleIIgs
2020-11-29 00:09:20 -05:00
Thomas Harte
a965c8de9f
Resolves intended reset_all_keys.
2020-11-27 21:53:34 -05:00
Thomas Harte
79ef026b93
Allows machines to declare a preference for logical input.
...
It's only a preference, and the Apple II does prefer it.
2020-11-27 21:00:48 -05:00
Thomas Harte
a4ab5b0b49
Does a better job of ensuring sensible key mappings.
2020-11-27 20:49:38 -05:00
Thomas Harte
613d4b7c8b
Migrates character ROM handling; supplies one for the IIgs.
2020-11-07 17:45:03 -05:00
Thomas Harte
726b5f62bb
Corrects read/write access to auxiliary soft switches.
2020-10-24 19:00:03 -04:00
Thomas Harte
9371a8993f
Factors out auxiliary memory switches and related decisions.
2020-10-22 22:33:31 -04:00
Thomas Harte
410c99de54
Factors out the language card memory selection logic.
2020-10-22 21:01:12 -04:00
Thomas Harte
62231708d7
read_pages_
can be const
.
2020-10-21 21:17:15 -04:00
Thomas Harte
73131735fa
Further qmake warning corrections.
2020-05-30 19:31:17 -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
b6e81242e7
Reintroduces Apple II runtime options.
2020-03-17 21:53:26 -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
1f41d9c5f5
Further improvement: if in physical mode, but pressing an unrecognised key, attempt to 'type' it.
2020-03-02 22:08:54 -05:00
Thomas Harte
ed18092088
Extends logic for when to fall back on standard keypress logic even in logical mode.
2020-03-01 20:25: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
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