Thomas Harte
615ea2f573
Applies parsed arguments.
2020-03-18 22:31:32 -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
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
f9c8470b20
Ensure targets always nominate a machine.
2020-03-15 00:13:38 -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
5a8fcac4dc
Gives function overloading a try.
2020-03-11 23:03:05 -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
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
a3569d7201
Corrects so as not to test header. Both Zexall and Zexdoc pass.
2020-02-27 22:09:56 -05:00
Thomas Harte
87474d5916
Corrects memptr behaviour of OUT (C), 0
.
2020-02-27 20:38:27 -05:00
Thomas Harte
2370575eb5
Starts introducing the Patrik Rak tests.
2020-02-22 15:49:36 -05:00
Thomas Harte
01a883e669
Corrects fullscreen switch.
2020-02-16 19:07:13 -05:00
Thomas Harte
90856a0e7a
Adds mixdown/up capability to Speaker.
...
To deal with occasions when the host machine just always is either mono or stereo, and the emulated machine must cope.
2020-02-16 13:50:18 -05:00
Thomas Harte
e02d109864
Nudges the LowpassSpeaker towards supporting stereo generation.
2020-02-15 18:03:12 -05:00
Thomas Harte
49b8e771b5
Adds the messaging that would allow a Speaker to output stereo, semantically.
2020-02-15 13:40:19 -05:00
Thomas Harte
6147134423
Introduces frame locking for SDL.
2020-02-10 23:07:09 -05:00
Thomas Harte
0b0a7e241b
Factors out the stuff of time warping.
2020-02-09 22:11:06 -05:00
Thomas Harte
705d14259c
Experimentally switches to a 'high-resolution' clock for SDL.
2020-02-09 21:44:55 -05:00
Thomas Harte
085529ed72
Makes the shifter behaviour conform to its documentation.
2020-02-02 17:26:39 -05:00
Thomas Harte
019474300d
Centralises responsibility for picking irrelevant numbers for a computer-style monitor.
2020-01-30 23:26:02 -05:00
Thomas Harte
c5edc879b6
Switches back to testing the monochrome monitor.
2020-01-28 22:12:57 -05:00
Thomas Harte
d0117556d1
Reintroduces CSHighPrecisionTimer.
2020-01-28 20:09:46 -05:00
Thomas Harte
9d340599a6
Towards ST 1bpp support: puts vsync in an appropriate location, starts experimenting with proper CRT timings.
2020-01-27 23:00:30 -05:00
Thomas Harte
b514756272
Adds the option to run machines at a multiple of their real speeds.
...
Exposed to SDL users only, for now.
2020-01-26 13:25:23 -05:00
Thomas Harte
d97a073d1b
Adds the necessary routine for all machines to be able to respond to get_scan_status.
...
They all just as the CRT, as all are currently based on the CRT. Which doesn't currently know the total clock rate it would need to in order properly to scale the answer to the question. Further thought coming.
2020-01-20 21:45:10 -05:00
Thomas Harte
4de121142b
Adds a flags parameter to the BestEffortUpdater delegate.
...
On the Cocoa side, cuts Swift out of the update loop, as that seems merely to add code.
2020-01-20 16:21:53 -05:00
Thomas Harte
3c760e585a
Switches to accepting a bit mask of events to run_until.
2020-01-20 16:08:21 -05:00
Thomas Harte
8adb2283b5
Rewrites the best-effort updater to try to get better thread affinity.
2020-01-20 13:38:46 -05:00
Thomas Harte
1f539822ee
Adds better support for WD-esque false sync, improves STX track patching.
2020-01-13 22:19:48 -05:00
Thomas Harte
f81a7f0faf
Ensures prefixes are MFM encoded and decoded.
2020-01-11 22:10:41 -05:00
Thomas Harte
c1bae49a92
Standardises on read
and write
for bus accesses.
...
Logic being: name these things for the bus action they model, not the effect they have.
2020-01-05 13:40:02 -05:00
Thomas Harte
0fbcbfc61b
Switches to more idiomatic address listing.
2020-01-04 20:35:47 -05:00
Thomas Harte
455e831b87
Corrects bug whereby changing pixel mode mid-line will produce an improper amount of data.
2020-01-02 23:18:21 -05:00
Thomas Harte
cb7d6c185c
Further expands test coverage.
2020-01-01 20:00:37 -05:00
Thomas Harte
5be30b1f7b
Introduces further comparative tests, prompting a new CHK fix.
...
Specifically: how to set N when both is_under and is_over are true, and to eliminate a failure fully to prefetch in the longer addressing modes.
2020-01-01 19:11:36 -05:00
Thomas Harte
6449403f6a
Corrects pending_events_ test for sequence points.
...
Simplifies around as possible.
2019-12-29 21:53:45 -05:00
Thomas Harte
93f6964d8a
Introduces some preliminary line length unit tests.
...
Thereby fixes one potential issue with load_ toggling.
2019-12-28 22:50:34 -05:00
Thomas Harte
a9d1f5d925
Pulls out address reload as something I can position independently.
...
Sadly receding it by 3 did not have the effect I was hoping for, of receding Enchanted Land's first register tweaking.
2019-12-27 23:47:19 -05:00
Thomas Harte
0dae608da5
Embraces std::make_[unique/shared] in place of .reset(new .
2019-12-23 21:31:46 -05:00
Thomas Harte
5456a4a39d
Eliminates static
where constexpr
a aren't class members; adds some if constexpr
s for clarity.
2019-12-22 13:42:24 -05:00
Thomas Harte
e9318efeb6
Switches to std::make_shared/make_unique in a bunch of applicable places.
...
No doubt many more similar improvements are available, these are just the ones that were easy to find.
2019-12-21 23:34:25 -05:00
Thomas Harte
797abae4b3
Compacts gaps when necessary to fit more sectors.
2019-12-19 19:36:19 -05:00
Thomas Harte
5ce612cb38
Adds the Atari ST to File -> New in Cocoa world.
2019-12-17 23:04:12 -05:00
Thomas Harte
81cc278b98
Introduces a barrage of further tests.
2019-12-15 21:26:35 -05:00
Thomas Harte
f23c5ada31
Ensures tests can be built as a release target.
2019-12-14 23:53:12 -05:00
Thomas Harte
a500fbcd73
Expands tests to most of ORI, EORI, ANDI, ADDI and SUBI.
2019-12-14 22:23:40 -05:00
Thomas Harte
923287bf01
Attempts to introduce a basic means for comparative 68000 testing.
...
i.e. mine versus another source.
2019-12-14 14:26:33 -05:00
Thomas Harte
ade8df7217
Permits a delay on DE propagation back to the CPU. Plus tests.
...
Currently set at 28 cycles, but I don't know.
2019-11-18 22:12:24 -05:00
Thomas Harte
eb287605f7
Switches to a default of TOS 1.04.
2019-11-12 19:38:30 -05:00
Thomas Harte
f28c124039
Adds a route to divert key events before they reach Cocoa.
...
If you were to use this, it would have the effect of disabling in-app keyboard short-cuts in favour of routing keys to the emulated machine.
2019-09-22 13:15:01 -04:00
Thomas Harte
8a14f5d814
Updates to Xcode11 recommended project settings.
...
The updated compiler also flagged a potential issue with CPU::Z80::Register not being a namespace re: 'Refresh' versus CPU::Z80::PartialMachineCycle. I don't entirely see it, but this fixes the problem.
I also finally figured out what the compiler was trying to tell me about ROMRequester.xib.
2019-09-22 12:13:56 -04:00
Thomas Harte
5f16fa8c08
Removes dead reference to video from VIAPortHandler.
2019-09-21 17:39:45 -04:00
Thomas Harte
579f68cf11
Completes Xcode 10.3 upgrade checks.
2019-07-23 16:27:18 -04:00
Thomas Harte
fba210f7ce
Corrects MOVE.l Dn, (An)[+].
2019-04-15 09:30:49 -04:00
Thomas Harte
2c5ff9ada0
Switches to running the real TOS, at least temporarily, and enables better testing.
2019-03-31 22:27:57 -04:00
Thomas Harte
69a2a133d5
Performs basic migration to Xcode 10.2 — project settings, the one new warning, etc.
2019-03-26 19:47:41 -04:00
Thomas Harte
2beeaa513b
Ensures a machine exists before messaging it.
2019-03-02 21:27:34 -05:00
Thomas Harte
bee0d09877
Splits display update and draw functions.
...
On the Mac, draw is now called without an update for resizing events, and
anything else requested by AppKit. In all other cases — including from
the SDL version — both are called as if they were still a single function.
2019-03-02 19:33:28 -05:00
Thomas Harte
1c0b5bb02b
Corrects phoney switch of 'run' build to release.
2018-05-04 18:04:23 -04:00
Thomas Harte
723ee88043
Introduces configuration options for the Apple II.
...
Specifically: II or II+? Disk II 13- or 16-sector? Or not at all?
2018-05-03 19:37:32 -04:00
Thomas Harte
389979923e
Performs update to and satisfaction of Xcode 9.3's preferred warnings.
2018-03-30 10:25:01 -04:00
Thomas Harte
e1cab52c84
Ensures thread safety of access to machines array.
2018-02-10 19:38:26 -05:00
Thomas Harte
2ffde4c3c2
Corrects SCC volume errors.
...
Which were leading to substantial overflow.
2018-01-07 09:59:00 -05:00
Thomas Harte
16c96b605a
Xcode 9.1 auto-change.
2017-11-07 22:43:25 -05:00
Thomas Harte
e983854e71
Converts all uint8_t
and uint16_t
casts to the functional style.
2017-10-21 21:50:53 -04:00
Thomas Harte
231f13d810
Updates to Swift 4 and Xcode 9's recommended project settings.
2017-09-19 23:06:37 -04:00
Thomas Harte
279c369a1f
Switched to Cycles as the result from the 6502 perform_bus_operation
, helping slightly to clarify what you're intended to return and reducing type jumping within the 6502 implementation.
2017-07-25 22:21:09 -04:00
Thomas Harte
cb105fdeb4
Took a first stab at high-res support.
2017-06-22 22:48:17 -04:00
Thomas Harte
aec4fd066b
I think I've definitively decided against this model of timing.
2017-06-22 21:32:14 -04:00
Thomas Harte
8c1769f157
Made a quick attempt at serialising from ZX80 .O to waves.
2017-06-04 16:59:26 -04:00
Thomas Harte
7bddd294c9
Resolved an unpredictable conditional and temporarily disabled the Zexalltest as part of the default suite, since it takes so long to run.
2017-05-30 21:03:02 -04:00
Thomas Harte
c6185baa99
Fixed R incrementation and attempted to make the status flags cheaper to write to.
2017-05-29 22:23:19 -04:00
Thomas Harte
4d4695032c
Discovered that Zexall is just really slow. Disabled the address sanitiser, and started working towards a verifiable end.
2017-05-29 21:46:00 -04:00
Thomas Harte
01a064dd63
Added an empty ED page.
2017-05-20 17:29:30 -04:00
Thomas Harte
a72d70e707
Enabled code coverage calculation for unit tests.
2017-03-11 17:44:56 -05:00
Thomas Harte
7b696b0962
Switched scheme to shared.
2016-12-31 13:11:07 -05:00