Thomas Harte
b7a62e0121
Adds SZX support.
...
Tweaking exposed Spectrum state object as relevant.
2021-04-26 20:47:28 -04:00
Thomas Harte
03577de675
Adds an empty vessel for .z80 support.
2021-04-25 16:54:34 -04:00
Thomas Harte
cc78bfb229
Forwards most of the Z80 state.
2021-04-25 13:00:43 -04:00
Thomas Harte
d61f478a39
Basic sketch for state snapshots: an extra field on Target.
...
I think it doesn't make sense for states to own a target as that complicates the concept of Media. Plus they're distinct because it makes sense to have only one per Target. Let's see how this pans out.
2021-04-24 23:17:47 -04:00
Thomas Harte
37dcf61130
Add timing tests, fix +3 discrepancy.
2021-04-23 22:29:57 -04:00
Thomas Harte
db52f13c32
Disambiguates reset_all_keys
.
2021-04-19 21:49:06 -04:00
Thomas Harte
5667dcac36
Increases warnings, cleans up a touch.
2021-04-19 21:28:12 -04:00
Thomas Harte
e4d9022d37
Returns deployment target to 10.13.
2021-04-19 20:57:56 -04:00
Thomas Harte
572be48f38
Attempts to add an early exit for non-Metal Macs.
...
This will be necessary only prior to 10.14.
2021-04-19 20:55:25 -04:00
Thomas Harte
0af405aa46
Starts working in the 48kb and 128kb Spectrums.
2021-04-14 21:37:10 -04:00
Thomas Harte
a1511f9600
Establishes that the 48/128kb contention patterns can be derived from my partial machine cycles alone.
2021-04-14 20:15:40 -04:00
Thomas Harte
68a04f4e6a
Adds IN/OUT I/D [R] to complete tests.
2021-04-13 22:00:24 -04:00
Thomas Harte
0d61902b10
Adds CP[I/D/IR/DR] tests.
2021-04-13 20:03:11 -04:00
Thomas Harte
3eec210b30
Adds LDI/LDD/LDIR/LDDR tests.
2021-04-13 20:00:29 -04:00
Thomas Harte
2e70b5eb9f
Advances to EX (SP), HL, leaving only [LD/CP/IN/OT][I/D]{R}.
2021-04-13 19:45:29 -04:00
Thomas Harte
8a3bfb8672
Adds an IN/OUT test.
2021-04-13 17:55:51 -04:00
Thomas Harte
06f1e64177
Advances to IO.
2021-04-12 21:41:20 -04:00
Thomas Harte
b42780173a
Establishes that there really is no Read4 and Read4Pre distinction.
...
Will finish these unit tests, then clean up.
2021-04-12 20:54:10 -04:00
Thomas Harte
36c8821c4c
Reaches the halfway point in tests.
2021-04-12 17:29:03 -04:00
Thomas Harte
9347fe5f44
Advances to next failing test: LD (ii+n), n
.
2021-04-12 17:11:58 -04:00
Thomas Harte
e82367def3
Switches to test-conformant behaviour for (IX/IY+n) opcode fetches.
2021-04-11 23:01:00 -04:00
Thomas Harte
47c5a243aa
Restructures, the better to explore errors.
2021-04-10 21:32:42 -04:00
Thomas Harte
070e359d82
Introduces failing test for BIT b, (ii+n).
2021-04-10 18:00:23 -04:00
Thomas Harte
400f54e508
Introduces failing test for bit b, (hl).
2021-04-10 12:04:48 -04:00
Thomas Harte
e0736435f8
Makes assumption that the address bus just holds its value during an internal operation.
2021-04-10 12:00:53 -04:00
Thomas Harte
b09c5538c6
Adds failing test for simple (ii+n) tests.
2021-04-09 21:28:35 -04:00
Thomas Harte
ce3d2913bf
Advances to 9 source table rows tested out of 37.
2021-04-09 20:38:17 -04:00
Thomas Harte
87202a2a27
Add two further tests, add checking of collected data size for all tests.
2021-04-09 18:32:03 -04:00
Thomas Harte
818a4dff25
Corrects ADD HL, dd test.
...
Or, at least, likely corrects. The bus cycle breakdown in the Z80 data sheet implies these accesses should come after completion of the refresh cycle, not during its long tail, so I think +1 is correct.
2021-04-08 22:23:15 -04:00
Thomas Harte
9e506c3206
Adds failing ADD hl, dd test.
2021-04-08 22:19:22 -04:00
Thomas Harte
50f53f7d97
Adds INC/DEC rr and LD SP, HL tests.
2021-04-08 22:14:53 -04:00
Thomas Harte
73fbd89c85
Correct opcodes, ability to terminate on a single-cycle contention.
2021-04-08 22:09:33 -04:00
Thomas Harte
f74fa06f2d
Introduces failing test for LD [A/I/R], [A/I/R].
2021-04-08 20:28:55 -04:00
Thomas Harte
ee989ab762
Fills in the rest of the simple two-byte instructions.
2021-04-08 20:13:52 -04:00
Thomas Harte
818655a9b6
Starts on two-bus-cycle instructions, correcting validators.
2021-04-08 20:01:46 -04:00
Thomas Harte
57a7e0834f
Corrects sampling of MREQ.
2021-04-08 19:21:35 -04:00
Thomas Harte
cd787486d2
Tests all of the single-byte, no-access opcodes.
2021-04-07 22:07:52 -04:00
Thomas Harte
67fd6787a6
Builds what I think I need to validate Z80 address, MREQ, IOREQ and RFSH.
2021-04-07 21:57:40 -04:00
Thomas Harte
094d623485
Updates unit tests.
2021-04-05 21:33:04 -04:00
Thomas Harte
53ba0e67d1
Revert change to screenshot destination.
...
For a sandboxed app, there's a lot more to it than this.
2021-03-25 22:44:18 -04:00
Thomas Harte
e90e30e766
Enables start by double-click.
2021-03-25 17:53:07 -04:00
Thomas Harte
9f6bb325e6
Fixes longstanding issue with initial target for input.
2021-03-25 17:48:48 -04:00
Thomas Harte
6e2c65435a
Tweaks cell height slightly further.
2021-03-25 17:44:46 -04:00
Thomas Harte
052ab44f1c
Adds a title and adjusts aspect ratio.
2021-03-25 17:37:40 -04:00
Thomas Harte
daa5679241
Don't allow cell editing, lock size.
2021-03-25 16:48:11 -04:00
Thomas Harte
e055668554
With no space constraint, this can be 'ZX Spectrum'.
2021-03-25 16:27:12 -04:00
Thomas Harte
c96829c29e
Adds a table view to control tab selection.
...
This should allow the new machine dialogue to retain a sensible width from here onwards.
2021-03-25 16:25:11 -04:00
Thomas Harte
ae4ccdf5e6
Merge branch 'master' into DesktopScreenshots
2021-03-24 18:40:20 -04:00
Thomas Harte
6bdaa54aaf
Bumps copyright year.
2021-03-23 17:46:32 -04:00
Thomas Harte
a3cd953415
Fixes Spectrum machine selection.
2021-03-22 19:28:12 -04:00
Thomas Harte
c0abdf1b86
Factors out the CPC's simple FDC adaptor.
2021-03-22 19:12:10 -04:00
Thomas Harte
f37f89a7d3
Merge branch 'master' into ZXSpectrum
2021-03-21 22:44:37 -04:00
Thomas Harte
7562917740
Adds the Spectrum to the macOS New... menu.
2021-03-21 21:50:50 -04:00
Thomas Harte
2ad2b4384b
Introduces a container for ZX Spectrum-style TAPs.
2021-03-19 23:01:49 -04:00
Thomas Harte
2ee478b4c4
Goes some way towards wiring up Spectrum options.
2021-03-19 22:17:20 -04:00
Thomas Harte
2371048ad1
Formally separates keyboard code.
...
With an eye to formalising the Spectrum/ZX81/ZX80 differences.
2021-03-19 10:36:08 -04:00
C.W. Betts
5758693b7d
Minor pokes to the test files code.
2021-03-19 02:19:49 -06:00
Thomas Harte
69ca2e8803
Update Xcode project.
2021-03-18 23:52:35 -04:00
Thomas Harte
135134acfd
Adds a shell for video emulation.
2021-03-18 12:47:48 -04:00
Thomas Harte
97249b0edd
Slow walks further towards a functioning Spectrum.
2021-03-18 10:18:17 -04:00
Thomas Harte
5a1bda1d82
Performs boilerplate towards a ZX Spectrum class.
2021-03-17 23:38:55 -04:00
Thomas Harte
b7d6b8efcf
Fix Xcode project.
2021-03-17 23:27:34 -04:00
Thomas Harte
b63ca16ce2
Attempts to hatch a Sinclair namespace.
2021-03-17 22:40:29 -04:00
Thomas Harte
54491b35ef
Merge branch 'master' into ZXSpectrum
2021-03-17 12:39:20 -04:00
Thomas Harte
b447f5f174
Starts adding the Spectrum to the static analyser.
2021-03-17 12:38:37 -04:00
Thomas Harte
397704a1e6
Withdraws published quick-load option for the CPC.
2021-03-15 11:37:23 -04:00
Thomas Harte
7d778bc328
Formally introduces fast tape support as an option.
...
It doesn't feel that fast yet though.
2021-03-12 22:57:02 -05:00
Thomas Harte
d93d380c88
Adds bit-level Spectrum-style tape parsing.
...
More to do, obviously.
2021-03-07 15:51:25 -05:00
Thomas Harte
83cbbe09c6
Adds missing constraints; eliminates magic constants.
2021-03-07 12:52:39 -05:00
Thomas Harte
2f18f40697
Ensures machine selection carries over sessions.
2021-03-06 21:32:35 -05:00
Thomas Harte
eea4c1f148
Wires up machineSelectionTabs.
2021-03-06 21:31:08 -05:00
Thomas Harte
26ad760904
Withdraws the Apple IIgs tab item.
...
Also makes some Swift style changes while I'm here: I'm pervasively assuming that all these objects exist, might as well be upfront about it.
2021-03-06 18:53:09 -05:00
Thomas Harte
2a7ea9f57c
Merge branch 'master' into AppleIIgs
2021-02-26 21:31:18 -05:00
Thomas Harte
a1df8452ce
Add the 128kb and 512kb Macintoshes as selectable options in macOS.
2021-02-26 21:22:54 -05:00
Thomas Harte
72d7901c88
Takes a shot at the keyboard data full flag.
...
Just a guess. But likely?
2021-02-19 20:06:12 -05:00
Thomas Harte
35be402354
Improve sanity check.
2021-02-16 19:47:25 -05:00
Thomas Harte
28bd620e7f
Adds joystick support to the IIgs.
2021-02-16 19:39:22 -05:00
Thomas Harte
96f2d802d9
Adds a safeguard against undefined behaviour in the debugger.
2021-02-16 19:17:54 -05:00
Thomas Harte
b117df3367
Factors out joystick logic.
2021-02-16 19:17:32 -05:00
Thomas Harte
17e9305282
Starts adding a keyboard.
2021-02-13 23:16:45 -05:00
Thomas Harte
2c4dcf8843
Edges towards implementing an ADB device.
2021-02-12 21:50:24 -05:00
Thomas Harte
adfdfa205f
Starts to establish the means by which I'll implement ADB devices.
2021-02-12 18:42:12 -05:00
Thomas Harte
17bac4c8cf
Starts to formalise the ADB bus.
2021-02-10 21:24:31 -05:00
Thomas Harte
6526c645a5
Merge branch 'master' into AppleIIgs
2021-02-02 21:29:38 -05:00
Thomas Harte
07df7572b3
Switch to preferred Acorn-world extension: DAT.
2021-01-31 21:03:09 -05:00
Thomas Harte
f1ba040dd8
This is probably how Acorn hard disk images look (?)
2021-01-31 16:00:52 -05:00
Thomas Harte
8db289e229
Adds some notes-to-self on SCSI and a route to using Acorn's ADFS.
2021-01-31 13:12:59 -05:00
Thomas Harte
b5ecd5f7ef
Merge branch 'master' into AppleIIgs
2021-01-31 11:47:40 -05:00
Thomas Harte
3d85e6bb97
Adds Mac UI for new Electron configuration options.
2021-01-31 09:49:51 -05:00
Thomas Harte
56111c75ae
Makes first efforts towards disassembly.
2021-01-26 19:52:30 -05:00
Thomas Harte
7f62732476
Fixes kiosk target, accepts that I'll probably never add UI tests.
2021-01-23 21:59:21 -05:00
Thomas Harte
e5076b295b
Corrects namespace.
2021-01-21 18:58:11 -05:00
Thomas Harte
ec0018df79
Routes in the ADB keyboard ROM. This should get as far as parsing.
2021-01-18 16:59:49 -05:00
Thomas Harte
5ace61f9b9
Continues walking very slowly towards cached execution.
2021-01-18 11:20:45 -05:00
Thomas Harte
54b26c7991
Bends to using 8-bit lookups for M50740 instructions.
2021-01-17 20:03:36 -05:00
Thomas Harte
8860d0ff51
Starts to establish the CachingExecutor.
2021-01-16 22:06:16 -05:00
Thomas Harte
10caa1a1fb
Steps gingerly towards execution.
2021-01-16 20:51:02 -05:00
Thomas Harte
3b2d65fa16
Adds access type declaration.
2021-01-16 20:04:01 -05:00
Thomas Harte
3dc36b704a
Starts on the next piece: parsers.
2021-01-16 19:54:40 -05:00
Thomas Harte
3c20e1f037
Adds files for the M50740 and corrects namespace errors elsewhere.
2021-01-15 21:30:30 -05:00
Thomas Harte
15bedc74d4
Merge branch 'master' into AppleIIgs
2021-01-15 21:15:10 -05:00
Thomas Harte
ddb4bb1421
Better plans project layout.
2021-01-15 18:16:01 -05:00
Thomas Harte
ca94e9038e
Introduces 'far' test, fixes parsing.
2021-01-14 22:15:38 -05:00
Thomas Harte
2c72a77a25
Adds byte-by-byte decoder test; corrects divergences.
2021-01-13 21:51:18 -05:00
Thomas Harte
8c0e06e645
Adds a test for 0x83 and fixes sign extension.
...
ODA doesn't seem to accept 0x82, but testing 0x83 adds some confidence.
2021-01-13 20:42:21 -05:00
Thomas Harte
5058a8b96a
Completes the first test stream.
...
... and improves decoding consistency in conjunction.
2021-01-12 21:49:22 -05:00
Thomas Harte
762ecab3aa
Adds operand/displacement capture.
...
This gets unit test as far as a disagreement over how to handle bad 0xc4 suffixes.
2021-01-10 22:55:25 -05:00
Thomas Harte
9ba5b7c1d4
Adds a few more asserts.
...
It's still just operands and displacements failing, which is nice.
2021-01-08 23:21:01 -05:00
Thomas Harte
5f807b6e47
Ensures that the operand is the only thing failing in decoding of the first instruction.
2021-01-08 23:02:06 -05:00
Thomas Harte
86577b772b
Rethinks size
; packs all captured information into an x86 Instruction.
...
Albeit that operand and displacement are't yet captured. Or extractable.
2021-01-08 22:22:07 -05:00
Thomas Harte
3b55d3f158
Nudges up to a need to decode operation from the ModRegRM byte.
2021-01-05 21:25:12 -05:00
Thomas Harte
da814c62bc
Merge branch 'master' into AppleIIgs
2021-01-03 20:57:08 -05:00
Thomas Harte
d4095b1b3b
Merge branch 'master' into DecodersAhoy
2021-01-03 20:56:47 -05:00
Thomas Harte
a8738b533a
Switch for now to block-level decoding.
...
It's easier to step debug.
2021-01-03 20:07:46 -05:00
Thomas Harte
11b6c1d4b5
Proceeds to three instructions correctly decoded. 'Wow'.
2021-01-03 17:03:50 -05:00
Thomas Harte
367cb1789d
Starts building an x86 test.
2021-01-03 16:37:35 -05:00
Thomas Harte
adf1484ecc
Introduces third test sequence, uneventfully.
2021-01-03 16:21:23 -05:00
Thomas Harte
eb8d0eefd5
Factors out some boilerplate and introduces second sequence.
2021-01-03 11:14:30 -05:00
Thomas Harte
c934e22cee
Introduces a first test of PowerPC decoding.
...
Corrected as a result: the bcx conditional, that stdu is 64-bit only, extraction of the li field.
2021-01-02 22:47:42 -05:00
Thomas Harte
dc9d370952
Does the easier part of the easier half of 8086 decoding.
2021-01-02 19:16:07 -05:00
Thomas Harte
3d1783ddae
Add exposition as to the purpose of decoders.
2021-01-01 17:32:57 -05:00
C.W. Betts
3749b7b776
My improvements:
...
Use synthesized properties for CSMissingROM.
Remove openGLView from the xib: that will quiet a warning.
Add nullability metadata to CSStaticAnalyser.
2020-12-31 13:23:46 -07:00
Thomas Harte
ed63e7ea75
Starts building out a PowerPC decoder.
2020-12-30 22:55:59 -05:00
Thomas Harte
31d68622c8
Better ensures frame buffer can be cleared.
2020-12-29 22:26:19 -05:00
Thomas Harte
ee5f45c979
Merge branch 'master' into AppleIIgs
2020-12-29 22:16:23 -05:00
C.W. Betts
5a48e50355
Use isEqual: to compare GCController when connecting/disconnecting.
...
Only remove observers for GCController notifications.
2020-12-14 15:41:11 -07:00
C.W. Betts
86283b1815
Actually write the setup code.
2020-12-14 01:14:40 -07:00
C.W. Betts
a38d964f62
Initial GameController joystick support.
2020-12-13 11:23:33 -07:00
Thomas Harte
3b2e97e77c
Introduces basic auxiliary switch tests.
...
All of which pass. Grrr.
2020-12-11 21:30:03 -05:00
Thomas Harte
c978a95463
Increases asserts and adds a test.
...
Thereby discovers and fixes a problem with set_main_paging().
2020-12-10 21:49:23 -05:00
Thomas Harte
fe4caf7a41
Nudges tick frequency up to match the other platforms.
2020-12-10 21:02:13 -05:00
Thomas Harte
4bf85abf30
Ensure defined initial state for the frame buffer.
2020-12-10 18:15:07 -05:00
Thomas Harte
49cee90b4d
Ensures no retraces are missed.
2020-12-09 20:32:26 -05:00
Thomas Harte
394f6b58d8
Ensure _finalisedLineTexture
really is cleared.
2020-12-09 20:18:53 -05:00
Thomas Harte
a91a13b46b
Merge branch 'master' into AppleIIgs
2020-12-09 19:33:23 -05:00
Thomas Harte
b589d6e3ef
Fixes retina-display buffer size.
2020-12-09 18:51:10 -05:00
Thomas Harte
db8b265e80
Enable M1 release builds.
2020-12-09 18:38:14 -05:00
Thomas Harte
d35def4bbc
Ensures a consistent initial state.
2020-12-06 22:01:59 -05:00
Thomas Harte
d5f209366a
Extends testing to disabling IO space.
2020-12-06 21:53:53 -05:00
Thomas Harte
9062e80e9d
Adds anti-IO protection.
2020-12-06 21:46:04 -05:00
Thomas Harte
fd3760cedc
Adds passing test of basic $00 -> $01 -> $e1 shadowing.
2020-12-06 21:19:38 -05:00
Thomas Harte
9b73331ee9
Resolves deprecated use of scanHexInt32
.
2020-12-06 20:49:12 -05:00
Thomas Harte
65ca931e83
Throws in a new assert, against the unimplemented bit 0 of new video.
2020-12-06 20:26:24 -05:00
Thomas Harte
3da6b4709c
Fixes sign of arithmetic.
2020-11-29 20:23:33 -05:00
Thomas Harte
091bce9350
Merge branch 'master' into AppleIIgs
2020-11-29 00:09:20 -05:00
Thomas Harte
5fc6dd1a4d
Regresses macOS deployment target for kiosk mode to avoid OpenGL warning.
2020-11-27 21:02:04 -05:00
Thomas Harte
f54a3f8619
Limit test target to latest macOS, current architecture.
2020-11-26 19:50:38 -05:00
Thomas Harte
b0efc647f1
An OpenGL context is neither still necessary nor desirable.
2020-11-26 13:49:41 -05:00
Thomas Harte
b4bf541eec
Adds boilerplate route into a 2MG-handling class.
2020-11-23 21:42:18 -05:00
Thomas Harte
4359fb1746
Enables undefined-behaviour sanitiser.
2020-11-22 21:30:00 -05:00
Thomas Harte
4a42de4f18
Attempts to add 5.25" drive support to the IIgs.
...
I want to try some classic software.
2020-11-20 21:37:17 -05:00
Thomas Harte
bd8af25294
Merge branch 'master' into AppleIIgs
2020-11-13 21:27:47 -05:00
Thomas Harte
e803f993b7
Increases minimum macOS version to 10.14.
...
This is lazy, but it means I definitely don't need non-Metal fallback code.
2020-11-13 19:48:45 -05:00
Thomas Harte
5dbc87caf0
Smarter: just ensures any attached panels are closed at close().
2020-11-13 19:09:30 -05:00
Thomas Harte
4862ccc947
Dismisses ROM requester upon that cancel too.
2020-11-13 19:01:53 -05:00
Thomas Harte
e1ecf66485
Dismisses sheet before closing document.
2020-11-13 19:00:37 -05:00
Thomas Harte
2c71ba0744
Ameliorates against a potential NSRangeException.
2020-11-13 18:29:48 -05:00
Thomas Harte
a7aeb779e9
Disables Apple Silicon binaries until I have some means to test.
2020-11-13 18:07:45 -05:00
Thomas Harte
e72cfbf447
Stop assuming that NSNotification => window.isVisible.
2020-11-13 18:04:31 -05:00
Thomas Harte
0c04a376c4
Stop assuming that NSNotification => window.isVisible.
2020-11-13 18:03:46 -05:00
Thomas Harte
3c6dc4c448
Merge branch 'master' into AppleIIgs
2020-11-13 12:51:53 -05:00
Thomas Harte
86a24cc928
Allows Xcode to bump its versioning on the ROM requester too.
2020-11-13 12:23:48 -05:00
Thomas Harte
e8b52d20e9
Slightly tweaks machine picker for macOS Big Sur.
2020-11-13 12:14:35 -05:00
Thomas Harte
a15af1df5e
Attempts to use the other bit of disk drive control, the 5.25"/3.5" select.
...
For the record, the ROM thinks it finds some Smartport devices and then attempts to talk to them. Since none is present, it blocks forever.
2020-11-11 17:55:50 -05:00
Thomas Harte
6d3d7c6006
It seems like this fix is no longer needed.
2020-11-11 17:30:22 -05:00
Thomas Harte
7aea3dc124
Corrects R4G4B4 and R2G2B2 output.
2020-11-07 23:15:48 -05:00
Thomas Harte
93968d267d
Corrects R4G4B4 and R2G2B2 output.
2020-11-07 22:19:27 -05:00
Thomas Harte
4f9d06d8c7
Merge pull request #846 from MaddTheSane/maddsIIgs
...
Use url(forResource:... instead of path(forResource:…
2020-11-06 09:39:27 -05:00
C.W. Betts
189a468ad4
Use url(forResource:... instead of path(forResource:… as it cuts down on creating a URL struct.
2020-11-05 14:42:39 -07:00
C.W. Betts
a3414c2673
Update 65816kromTests.swift
...
Only have one runTest method.
2020-11-05 14:36:34 -07:00
Thomas Harte
5126163c5d
Attempts to reduce pull request heft.
...
Given that the licensing of krom's tests is uncertain, and I've given credit and an appropriate link, I needn't include the original code.
2020-11-04 21:49:45 -05:00
Thomas Harte
cc6c0d535c
Stubs in some of the sound GLU registers.
2020-11-04 21:29:44 -05:00
Thomas Harte
e3147b6b45
Introduces a pre-STP/WAI limit for the MSC test.
...
This way I retain testing of NOP, BRK, COP and WDM.
2020-11-03 20:59:07 -05:00
Thomas Harte
cc5ec78156
Provides something on WAI/STP; sizes STY by the x flag; disables MSC test.
2020-11-03 20:17:44 -05:00
Thomas Harte
5cbb91f352
Fixes COP
vector, ensures WDM
skips a byte.
2020-11-03 20:01:02 -05:00
Thomas Harte
bf85d71674
Brings ADC into conformance. Fixes JML
.
2020-11-03 18:12:10 -05:00
Thomas Harte
426e90eebf
Adds logic to work around Nintendo dependence in the krom tests.
...
Let the real work begin!
2020-11-03 14:18:40 -05:00
Thomas Harte
3889646d6b
Takes a swing at incorporating krom's 65816 test suite. At least as far as ADC.
2020-11-02 21:09:32 -05:00
Thomas Harte
2da71acefd
Stubs in the ADB GLU.
2020-10-31 21:00:15 -04:00
Thomas Harte
45f5896b76
Stubs video switches into the IIgs.
2020-10-31 20:39:32 -04:00
Thomas Harte
1b28d929e4
Factors out the Apple II/IIe video switches and mode selection logic.
2020-10-31 20:02:50 -04:00
Thomas Harte
1249fb598b
Factors Apple's RTC out of the Macintosh.
2020-10-29 21:03:02 -04:00
Thomas Harte
bdda84dfde
Adds a very basic shadowing test.
...
For the record, I'm aware that there's a lot here that I'm not testing. I think the smart move is to get towards a running machine and see which configurations it actually tries to set up, then follow along with appropriate testing; it might cause me to discover a flaw in my comprehension before I've made the same mistake in both the code and a test.
2020-10-27 19:59:41 -04:00
Thomas Harte
74f9f6ad3b
Tests and corrects ROM access beyond bank $00.
2020-10-27 19:02:15 -04:00
Thomas Harte
f830f6a57a
Adds failing test of initial ROM mirroring.
...
It's the end of the evening, so this is it for today.
2020-10-25 22:13:54 -04:00
Thomas Harte
82c733c68c
Adds some very basic actual tests.
2020-10-25 21:40:50 -04:00
Thomas Harte
ed510409c4
Starts memory map test class, already finding a typo.
2020-10-25 21:31:21 -04:00
Thomas Harte
7614eba4bf
Factors out the IIgs memory map logic.
...
As testing would be rational.
2020-10-25 21:10:04 -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
a5dcab4092
Ensures machines with no audio output are handled correctly.
2020-10-21 21:16:00 -04:00
Thomas Harte
8bde2e5f4c
Slightly neatens Cocoa machine picker.
2020-10-20 22:25:39 -04:00
Thomas Harte
5287c57ee0
Adds the IIgs as a user-selectable machine.
...
Albeit that there is no underlying machine yet.
2020-10-20 22:18:11 -04:00
Thomas Harte
ab07814614
Eliminates now-broken 65816 flow test.
2020-10-19 21:02:46 -04:00
Thomas Harte
1653abdf88
Adds the .lst; otherwise I'll probably just lose it.
2020-10-19 20:58:24 -04:00
Thomas Harte
b3ab9fff9b
Imports a custom-built copy of Klaus Dormann's 65C02 test, with only 65816-compatible parts.
...
Thereby fixes another couple of 65816 issues — BRK(, etc) not clearing the decimal flag, and `TRB d` being mismapped.
2020-10-19 19:27:16 -04:00
Thomas Harte
99eba2f8ba
Ensures intended 65816 exception behaviour.
...
i.e. the relevant micro-op sequence exists, and its operation isn't lost. Also sets the 65816 by default to jump straight into power-on, not to execute an instruction first. That shouldn't make a functional difference, but it makes debugging easier because it makes startup fully deterministic.
2020-10-18 14:43:47 -04:00
Thomas Harte
69509f6502
Attempts to bring a little more consistency to my use of Swift in test code.
2020-10-17 22:42:54 -04:00
Thomas Harte
c3187fdbe1
Makes minor formatting improvement.
2020-10-17 22:31:51 -04:00
Thomas Harte
42228ea955
Adds 65C02As6502 test, to round out the set.
2020-10-17 22:31:32 -04:00