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
Thomas Harte
3c6adc1ff4
Completes 65816 addressing mode tests and corresponding fixes.
2020-10-14 22:00:52 -04:00
Thomas Harte
e511d33a7c
Adds test for [d], y; fixes implementation.
2020-10-14 21:42:41 -04:00
Thomas Harte
c35969d677
Adds tests for (d, x) and (d), y. Both amply tested in emulation mode, so no problems.
...
Five to go, all potentially troublesome.
2020-10-14 21:38:00 -04:00
Thomas Harte
27afb8f0a7
Adds direct indirect long test, and thereby fixes addressing mode.
...
Nine to go!
2020-10-14 21:26:20 -04:00