Thomas Harte
dfc1c7d358
Separates 6502 State object to make it optional.
...
Also makes a few minor const improvements while I'm poking around.
2020-04-02 19:11:27 -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
5fd2be3c8e
Makes a genuine attempt at five and three decoding.
2020-03-25 20:50:26 -04:00
Thomas Harte
cfca3e2507
Adds missing header for std::setw, std::set fill.
2020-03-23 21:26:50 -04:00
Thomas Harte
fcdc1bfbd0
Prints the CRC32(s) of any missing ROMs.
2020-03-23 20:00:13 -04:00
Thomas Harte
0e502f6d5c
Ensures the macOS version retains volume.
2020-03-23 00:10:56 -04:00
Thomas Harte
bd1b4b8a9f
Increases volume fade-out speed.
2020-03-22 21:13:55 -04:00
Thomas Harte
38d81c394f
Switches OSAtomics to stdatomics. The former were deprecated by macOS 10.12.
2020-03-22 21:11:04 -04:00
Thomas Harte
72103a4adb
Corrects execution cap for splitAndSync ticks.
2020-03-22 19:25:02 -04:00
Thomas Harte
e6bae261c4
Ensures volume controls appear for mouse-capture machines when not capturing.
2020-03-22 19:06:38 -04:00
Thomas Harte
5edb0c0ee7
Adds animated fade-out to volume control. Bumps macOS version to 10.12.2.
2020-03-22 18:45:24 -04:00
Thomas Harte
442ce403f9
It's a bit jarring, but ensures volume control shows and hides according to mouse cursor.
2020-03-22 16:25:07 -04:00
Thomas Harte
7398cb44e2
Adds a functioning volume control for macOS, it just doesn't know how to hide yet.
2020-03-22 13:24:23 -04:00
Thomas Harte
15d54dfb4c
Adds 'volume' command-line parameter for kiosk mode.
2020-03-21 22:24:31 -04:00
Thomas Harte
0c689e85a5
Use screen number for spotting screen changes.
...
NSScreen implements Swift Equatable but doesn't seem officially to implement -isEqual:.
2020-03-21 17:01:57 -04:00
Thomas Harte
5a1bae8a9c
Ensures proper NSScreen comparison, and no never-ending setupDisplayLink loop on exit.
2020-03-20 23:00:16 -04:00
Thomas Harte
69277bbb27
Renames files to match project convention.
2020-03-19 23:24:06 -04:00
Thomas Harte
b8b335f67d
Exposes the Master System's region for SDL selection.
2020-03-19 21:46:42 -04:00
Thomas Harte
eef7868199
Ensures 'new' overrides default selection; doesn't try to propagate multiple files if machines won't take them.
2020-03-19 21:15:38 -04:00
Thomas Harte
c1b69fd091
Attempts to support multiple pieces of media on the SDL command line, ensures proper window titling.
2020-03-19 20:40:43 -04:00
Thomas Harte
b8ebdc012f
Ensure normative construction declaration ordering.
2020-03-19 18:58:36 -04:00
Thomas Harte
9995d776de
Attempts to fix the macOS version, plus some implicit type conversions.
2020-03-18 23:29:09 -04:00
Thomas Harte
c6f35c9aac
Rejigs help output.
2020-03-18 23:11:25 -04:00
Thomas Harte
615ea2f573
Applies parsed arguments.
2020-03-18 22:31:32 -04:00
Thomas Harte
a7e1920597
Restores ColecoVision runtime options.
2020-03-18 00:06:52 -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
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
2031a33edf
Technically SDL users can now start a new machine.
...
Missing though: all the old per-machine command-line options, and any control over the new one.
2020-03-15 21:50:43 -04:00
Thomas Harte
fc3d3c76f8
Edges further towards providing enough information for dynamic user-provided machine creation.
2020-03-15 12:54:55 -04:00
Thomas Harte
f9c8470b20
Ensure targets always nominate a machine.
2020-03-15 00:13:38 -04:00
Thomas Harte
cab4bead72
Promotes explicit specialisations to namespace scope.
2020-03-13 23:38:29 -04:00
Thomas Harte
1a2872c815
Starts to build an easy set
interface.
2020-03-13 22:42:37 -04:00
Thomas Harte
52f644c4f1
Ensures that reflection is completely blind; starts adding SDL instantiation logic.
2020-03-12 20:56:02 -04:00
Thomas Harte
044a2b67e1
Beefs up documentation on this miniature sort-of reflection.
2020-03-11 23:03:05 -04:00
Thomas Harte
ce80825abb
Starts working towards a registration-based model of reflective enums.
2020-03-11 23:03:05 -04:00
Thomas Harte
5a8fcac4dc
Gives function overloading a try.
2020-03-11 23:03:05 -04:00
Thomas Harte
6a9b14f7d1
Adds a prototype reflective enum.
...
I need to make this scopeable before it is acceptable.
2020-03-11 23:03:05 -04:00
Thomas Harte
3c70f056ed
Ensure race condition workaround is applied for all CVDisplayLinkStops.
...
This also centralises the workaround, the better for replacing it when I discover a safer alternative.
2020-03-11 22:09:36 -04:00
Thomas Harte
ead32fb6b2
Return to old behaviour if --logical-keyboard isn't specified.
...
This is at least until I'm more confident in the keypress/text input merging. Also, switches to a vector for intermediate keypresses, to ensure order is retained even if timestamps are absent.
2020-03-09 23:10:39 -04:00
Thomas Harte
58b8dfb929
Attempts to improve SDL key merging.
2020-03-05 21:56:26 -05:00
Thomas Harte
3758ec79ac
Adds potential test argument.
2020-03-03 23:09:22 -05:00
Thomas Harte
f08d500fd6
Attempts to factor out the latest keyboard logic and hook it in from SDL also.
2020-03-03 22:58:15 -05:00
Thomas Harte
df76d57c47
Experimentally attempts to tie together input and keypresses by timestamp.
2020-03-03 21:30:30 -05:00
Thomas Harte
32136b75cd
Modifies mappings to improve key repeat on backspace and potentially allow mapping of other keys.
2020-03-02 23:10:18 -05: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
dc47a2b7d7
Adds virtual key for EDIT.
2020-03-02 21:44:15 -05:00
Thomas Harte
2db30a91c6
'Corrects' but disables SDL logical keyboard entry.
...
I'm just not sure that SDL supports what I want.
2020-03-01 23:11:14 -05:00
Thomas Harte
575d0da4d1
Attempts better to describe options.
2020-03-01 21:31:40 -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