1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-12-11 15:49:38 +00:00
Commit Graph

3293 Commits

Author SHA1 Message Date
Thomas Harte
83850d7596 Commute: Status -> Flags as per usual x86 naming. 2023-11-02 16:55:38 -04:00
Thomas Harte
770803b073 Be more careful as to authorisation. 2023-11-02 15:37:59 -04:00
Thomas Harte
8d0deeb20e Clean up Memory. 2023-11-02 14:25:13 -04:00
Thomas Harte
e4fdf09149 Fix PUSH SP, far call. Further simplify FlowController. 2023-11-01 23:39:52 -04:00
Thomas Harte
acb55aa4e2 Subsume repetition of arguments into a single context.
Albeit that it (temporarily?) loses some context used during test validation.
2023-11-01 17:03:23 -04:00
Thomas Harte
bc095bb9ce Slim down the flow controller. 2023-11-01 14:49:30 -04:00
Thomas Harte
097b328075 Split the preauthorised tracks. 2023-11-01 14:31:42 -04:00
Thomas Harte
ef83ac855a Fix spelling of Preauthorised, think further on return types. 2023-11-01 14:11:10 -04:00
Thomas Harte
78df0d19e4 Start experimenting with varying return types. 2023-11-01 10:03:31 -04:00
Thomas Harte
9538491ee9 Fix pushes and pops. 2023-10-31 21:55:30 -04:00
Thomas Harte
8be03be529 Add test of ::Write mode. 2023-10-31 20:28:37 -04:00
Thomas Harte
1d479ec2d7 Ensure that reads can only read, accept that source is sometimes written to. E.g. XCHG. 2023-10-31 15:06:19 -04:00
Thomas Harte
02af08ffd2 Fix counts. 2023-10-30 12:32:44 -04:00
Thomas Harte
444c5b94b9 Add summary of accepted failures. 2023-10-29 16:55:07 -04:00
Thomas Harte
8ecc9835f8 Merge branch 'master' into 8088Intentions 2023-10-29 16:10:21 -04:00
Thomas Harte
39e803aa71 Commit updated macOS version. 2023-10-29 14:47:09 -04:00
Thomas Harte
7a886f938a Propagate access types, even if incorrect. 2023-10-29 14:33:39 -04:00
Ryan Carsten Schmidt
764a7b60f4 Fix LD_RUNPATH_SEARCH_PATHS for High Sierra
See #1118
See #1143
Closes #1191
2023-10-28 08:42:26 -05:00
Thomas Harte
6da0add100 Permit 1654 failures, the current amount. 2023-10-27 16:30:30 -04:00
Thomas Harte
2d70b44303 Boil down segment ahead of time. 2023-10-27 12:54:42 -04:00
Thomas Harte
11b032fb06 Eliminate length extension. 2023-10-26 23:19:31 -04:00
Thomas Harte
3b62638b30 Remove dead DataPointerResolver and extra-conditional version of source(). 2023-10-25 14:43:58 -04:00
Thomas Harte
0c09c14baa Incorporate instruction length into offsets. 2023-10-25 13:02:43 -04:00
Thomas Harte
6dd5628dd6 Provide full pair for string conversion. 2023-10-25 11:21:11 -04:00
Thomas Harte
239ce75db6 Fix IN and OUT conversion. 2023-10-24 22:35:13 -04:00
Thomas Harte
26c2a29b99 Fix int3 mapping. 2023-10-24 15:09:25 -04:00
Thomas Harte
e36274e5c2 Add segment prefix for MOVS, LODS, etc. 2023-10-24 15:07:53 -04:00
Thomas Harte
0e027445d4 Don't offer repne for reps; print far CALLs and JMPs as h-suffix rather than 0x prefix. 2023-10-24 11:01:38 -04:00
Thomas Harte
20d7079006 Start adaptation to new test disassembly form. 2023-10-23 16:37:27 -04:00
Thomas Harte
49d87c9f27 Fix 16-bit accesses that overlap memory's end.
1654 failures remaining.
2023-10-23 10:41:58 -04:00
Thomas Harte
82c66e7433 Fix far jump with immediate operand.
1655 failures remaining.
2023-10-23 10:07:19 -04:00
Thomas Harte
569cf8bf34 Focus on remaining files with issues. 2023-10-23 10:02:13 -04:00
Thomas Harte
817a30332c Take a swing at LEA r16, r16. 2023-10-22 22:15:27 -04:00
Thomas Harte
599c123b36 Reenable all tests. 2023-10-21 22:55:10 -04:00
Thomas Harte
e3cdf113d1 Implement INS, OUTS. 2023-10-21 22:52:50 -04:00
Thomas Harte
aade91f043 Implement IN, OUT. 2023-10-21 22:37:25 -04:00
Thomas Harte
bf6fd8e5e4 Shuffle down TODO. 2023-10-20 21:57:03 -04:00
Thomas Harte
c2ebbe5ad9 Implement STOS with one failure. 2023-10-20 21:54:30 -04:00
Thomas Harte
4efc181f07 Fix memory handler, STOS. 2023-10-20 21:49:34 -04:00
Thomas Harte
93e90b09a0 Implement MOVS, STOS, revealing an issue in the memory handler. 2023-10-20 21:46:47 -04:00
Thomas Harte
dab3dcaafb Fix LODS: REP is not REPE. 2023-10-20 21:36:50 -04:00
Thomas Harte
8caad8b99d Document slightly. 2023-10-20 17:25:27 -04:00
Thomas Harte
bee094eba1 Add LODS; somehow manage to fail some of its tests. 2023-10-20 17:13:56 -04:00
Thomas Harte
0f5e0e17a4 Fix address manipulation. 2023-10-20 17:03:23 -04:00
Thomas Harte
49ac2d8e0c Improve error reporting, remove some dead TODOs. 2023-10-20 17:00:32 -04:00
Thomas Harte
a71db54212 Simplify flow slightly; uncover issues in CMPSW. 2023-10-20 16:52:47 -04:00
Thomas Harte
efb854ddfa Fix repetition. Sufficient for tests. 2023-10-19 14:40:03 -04:00
Thomas Harte
f715cd89a9 Attempt CMPS, changing storage of direction; add flags check. 2023-10-19 14:07:59 -04:00
Thomas Harte
617be7cba7 Implement PUSHes and POPs. 2023-10-18 15:59:39 -04:00
Thomas Harte
02cea3047e Implement LOOP, LOOPE, LOOPNE. 2023-10-18 14:04:21 -04:00
Thomas Harte
a8c7871b0c Implement JCXZ. 2023-10-18 13:20:28 -04:00
Thomas Harte
90f49a6e73 Implement JMP. 2023-10-18 13:15:00 -04:00
Thomas Harte
440f3bdb10 Further improve error reporting. 2023-10-16 15:47:06 -04:00
Thomas Harte
89743f0ba0 Implement RET, IRET. 2023-10-16 15:40:24 -04:00
Thomas Harte
f1779e6067 Implement SHR. 2023-10-16 12:34:11 -04:00
Thomas Harte
e38fe7dffc Implement SAL, SAR. 2023-10-14 21:42:33 -04:00
Thomas Harte
f1cba4eb78 Implement remaining rolls. 2023-10-13 22:03:54 -04:00
Thomas Harte
f45d8bcbdb Implement RCR. 2023-10-13 21:44:48 -04:00
Thomas Harte
1a0f848b21 Implement RCL. 2023-10-13 14:44:22 -04:00
Thomas Harte
bf832768e6 Implement XLAT. 2023-10-12 21:12:03 -04:00
Thomas Harte
d35377c776 Implement SALC, SETMO, SETMOC. 2023-10-12 15:52:05 -04:00
Thomas Harte
97d3a9fa78 Implement MOV. 2023-10-12 15:34:46 -04:00
Thomas Harte
da029ee344 Implement LEA. 2023-10-12 14:31:25 -04:00
Thomas Harte
cf846f501a Implement LDS, LES. 2023-10-12 14:24:28 -04:00
Thomas Harte
e948a67814 Implement SAHF, LAHF. 2023-10-12 13:54:51 -04:00
Thomas Harte
56e639e09a Add INT (including INT3), INTO. 2023-10-11 16:01:09 -04:00
Thomas Harte
e75ef70c96 Further generalise. 2023-10-11 15:08:04 -04:00
Thomas Harte
a768b101f8 Further clean up copy-and-paste mess. 2023-10-11 14:36:42 -04:00
Thomas Harte
7159366360 Collapse all flags accesses behind setters and getters. 2023-10-11 12:35:17 -04:00
Thomas Harte
fbd647080d Start factoring out useful ALU stuff. 2023-10-11 11:06:20 -04:00
Thomas Harte
4a803e2d43 Reduce ADD/ADC/SUB/SBB repetition. 2023-10-10 22:43:06 -04:00
Thomas Harte
a83b43a1ae Implement XCHG. 2023-10-10 22:34:42 -04:00
Thomas Harte
5125907048 Implement TEST. 2023-10-10 22:28:10 -04:00
Thomas Harte
08867f4970 Implement CMP. 2023-10-10 22:15:33 -04:00
Thomas Harte
d0a9b5cb81 Implement NEG, NOT. 2023-10-10 22:09:10 -04:00
Thomas Harte
0ecc319ee6 Add OR, XOR. 2023-10-10 17:12:06 -04:00
Thomas Harte
de95026076 Implement Jcc. 2023-10-10 16:27:06 -04:00
Thomas Harte
ec982444f7 Add getters to obscure internal flag storage. 2023-10-10 16:14:20 -04:00
Thomas Harte
f083eab011 Implement INC, DEC. 2023-10-10 15:57:33 -04:00
Thomas Harte
dbf7d07609 Add DIV, faulty IDIV. 2023-10-10 10:34:18 -04:00
Thomas Harte
b420d4cbd7 Collect TODOs. 2023-10-09 22:22:06 -04:00
Thomas Harte
0412890923 Add STC, STD, STI. 2023-10-09 22:16:37 -04:00
Thomas Harte
5e830781cc Implement IMUL, improve test memory footprint. 2023-10-09 22:12:15 -04:00
Thomas Harte
ff6573dd02 Implement MUL. 2023-10-09 21:50:17 -04:00
Thomas Harte
e46e42d896 This is the same test either way around. 2023-10-09 16:47:02 -04:00
Thomas Harte
f74ca8aee1 Fix SBB. 2023-10-09 16:32:01 -04:00
Thomas Harte
58aa1da649 Fix SUB. SBB still failing. 2023-10-09 16:30:47 -04:00
Thomas Harte
67d364cc89 Add faulty SUB, SBB. 2023-10-09 16:21:04 -04:00
Thomas Harte
d24fa381c7 'Implement' ESC, NOP. 2023-10-09 15:03:01 -04:00
Thomas Harte
08aed3bac5 Implement CWD. 2023-10-09 14:54:14 -04:00
Thomas Harte
6bbd896c34 Add DAS with a manageable number of failures. 2023-10-09 14:47:39 -04:00
Thomas Harte
1b9e6e8c8e Add DAA, which doesn't yet pass all tests. 2023-10-09 14:27:02 -04:00
Thomas Harte
59521f9d38 Implement CBW, CLC, CLD, CLI, CMC. 2023-10-09 11:59:38 -04:00
Thomas Harte
5a77f0c93c Implement CALL. 2023-10-09 11:46:59 -04:00
Thomas Harte
f618ca6046 Implement, test AND. 2023-10-08 22:18:40 -04:00
Thomas Harte
0a0d53103d Enable tests for all implemented operations.
Only the various AAM 00hs are failing, which I've yet to understand.
2023-10-08 22:12:22 -04:00
Thomas Harte
e3b18708c7 Handle segment-boundary word accesses.
With all ADDs and ADCs enabled, no remaining failures.
2023-10-08 22:11:05 -04:00
Thomas Harte
bd0b62232f Consider that displacements may always be signed.
Down to 1 failure.
2023-10-08 21:41:36 -04:00
Thomas Harte
dbfaef632a Fix DataPointer reference.
Down from 4521 to 1248 failures within 00.json.gz
2023-10-08 15:59:30 -04:00
Thomas Harte
6808f2c778 Attempt to catch illegal accesses ahead of time. 2023-10-08 15:44:11 -04:00
Thomas Harte
a4b1d2b00a Float out data resolution. 2023-10-08 13:34:28 -04:00
Thomas Harte
a5523c9feb Fail at scale.
108,645 current failures (!)
2023-10-07 14:37:12 -04:00
Thomas Harte
6e465b9159 Merge branch 'master' into 8088Execution 2023-10-07 14:31:09 -04:00
Thomas Harte
6d1dd218d4 Import Neskell binaries. 2023-10-07 14:29:53 -04:00
Thomas Harte
6abc3b6cd7 Collate all failures for printing at the end. 2023-10-07 14:28:44 -04:00
Thomas Harte
7d093d71b3 Avoid allocating and reallocating per test. 2023-10-07 14:23:47 -04:00
Thomas Harte
ade5828035 Add a clear, in the hope of not recreating Memory every test.
It's a big allocation, and therefore likely the bottleneck on test running.
2023-10-07 13:39:23 -04:00
Thomas Harte
cf4603cb33 Attempt to check defined flags only. 2023-10-06 16:32:35 -04:00
Thomas Harte
b6d000ac5e Add enough wiring to consolidate failure on lazy handling of flags. 2023-10-06 13:22:35 -04:00
Thomas Harte
82f0cd790f Find first failing execution, note reason. 2023-10-06 11:43:18 -04:00
Thomas Harte
2d17d9d316 Execute some tests at some facile level. 2023-10-06 11:31:45 -04:00
Thomas Harte
28c7d27cac Establish some proportion of state, ready to execute _something_. 2023-10-06 11:07:33 -04:00
Thomas Harte
6d392852d2 Hack on through to something that builds. 2023-10-05 22:27:52 -04:00
Thomas Harte
f411a961a3 Create a central location for avoiding segment conditionality. 2023-10-05 17:12:38 -04:00
Thomas Harte
eb100e3b29 Start reforming; data size plus register aren't independent in finding a source. 2023-10-05 16:49:02 -04:00
Thomas Harte
15acb1fc7c Add ADC and ADD. 2023-10-05 15:49:07 -04:00
Thomas Harte
059f300500 Start fleshing out x86 performance. 2023-10-05 14:37:58 -04:00
Thomas Harte
488fceb42b Clean up, add a TODO. 2023-10-05 11:23:58 -04:00
Thomas Harte
7f6e3cf8b7 Define the available flags. 2023-10-05 10:51:55 -04:00
Thomas Harte
f6fd49d950 Relocate all text wrangling; this isn't really test-specific. 2023-10-04 22:35:52 -04:00
Thomas Harte
40af162214 Be overt about what's here to aid with printing only. 2023-10-04 22:15:13 -04:00
Thomas Harte
92c46faf84 Add SETMO and SETMOC. 2023-09-29 22:28:23 -04:00
Thomas Harte
ff9237be9f Decode SALC. 2023-09-29 22:06:42 -04:00
Thomas Harte
6cbb434482 Deal with all dangling aliases.
Leaves just five undocumented instructions.
2023-09-29 15:36:34 -04:00
Thomas Harte
9fe6e354a6 Determine what I'm up against re: outstanding unofficial opcodes. 2023-09-29 15:29:35 -04:00
Thomas Harte
103f42f0b0 Introduce FF.7 alias. 2023-09-29 15:26:25 -04:00
Thomas Harte
f2732962d0 Add 6x 8086 aliases. 2023-09-29 15:22:05 -04:00
Thomas Harte
ef5ee8cf94 Include missing context on JMP/CALL far.
Zero failing tests amongst official opcodes.
2023-09-29 14:57:08 -04:00
Thomas Harte
1a6c8a2aed Add outputters for IN and OUT.
2 failures remaining.
2023-09-29 09:39:51 -04:00
Thomas Harte
b76899f2bc Undo broken extension-word DS assumption.
8 failures.
2023-09-28 22:17:14 -04:00
Thomas Harte
a24e17c320 Simplify debugging hook; remove outdated notes. 2023-09-28 22:04:59 -04:00
Thomas Harte
245919e67d Resolve REPNE and whitespace issues. 2023-09-28 22:01:12 -04:00
Thomas Harte
6936cf1819 Handle special case of INT3.
10 failures.
2023-09-28 15:34:33 -04:00
Thomas Harte
ae4a588de3 Adjust semantics to avoid culling end of relevant RETs. 2023-09-28 15:24:15 -04:00
Thomas Harte
960cca163e Make better guess at CALL/JMP size; apply same sizing-logic as offset for disassembly matching.
13 failures.
2023-09-28 14:52:42 -04:00
Thomas Harte
86f12f4d4c Adopt test-set's preferred pointer type for LES and LDS.
15 failures.
2023-09-28 14:16:47 -04:00
Thomas Harte
035a1265f6 Map invalid reg numbers properly for the 8086.
17 failures.
2023-09-28 13:11:15 -04:00
Thomas Harte
ff4d79e77e Add test synonym, fix operand size.
19 failures.
2023-09-28 09:43:26 -04:00
Thomas Harte
95df9bcb1e Accept SHL as a synonym of SAL.
20 failures.
2023-09-28 09:31:10 -04:00
Thomas Harte
9207de4164 Fix RegAddr macro.
26 failures.
2023-09-27 22:44:10 -04:00
Thomas Harte
c20e7ed9b6 Fix TEST.
28 failures.
2023-09-27 22:30:40 -04:00
Thomas Harte
11c747e3c4 Defer worrying about immediate sign extensions. 2023-09-27 22:18:05 -04:00
Thomas Harte
02aeec0173 Prepare for greater nuance on testing sign extensions by text. 2023-09-27 17:06:34 -04:00
Thomas Harte
2d882d2153 Switch shift/roll semantics to reduce extension words and for sanity generally.
37 failures.
2023-09-27 16:40:46 -04:00
Thomas Harte
638f3d3a53 Add special case for shifts and rolls. 2023-09-27 11:10:21 -04:00
Thomas Harte
b59eae3676 Adopt normative ESC decoding.
55 failures.
2023-09-27 10:32:22 -04:00
Thomas Harte
2cc60563e0 Resolve rep vs repe.
63 failures.
2023-09-26 17:36:22 -04:00
Thomas Harte
b03b408984 Give the decoder responsibility for sanity-checking repetitions.
This may avoid some spurious extension words.
2023-09-26 17:29:20 -04:00
Thomas Harte
cd072e1b57 LEA implies a word. Otherwise add TODOs.
So that's now 69 failures.
2023-09-26 15:41:51 -04:00
Thomas Harte
f16ac603f2 Deal with printing segment:offset.
70 failing files remaining.
2023-09-26 15:28:51 -04:00
Thomas Harte
4a38e6b4b5 Take si/di confusion and offset length off the table.
Now 74 failures of 288 tests.
2023-09-26 13:21:24 -04:00
Thomas Harte
e56a5899bd Ensure test order is deterministic. 2023-09-25 12:28:34 -04:00
Thomas Harte
87097c44b9 Curate list of known failures; apply easiest fixes.
Now at 157 failures of 288 applicable tests.
2023-09-25 11:39:12 -04:00
Thomas Harte
7fadf01e4e BP in isolation acts as a base. 2023-09-24 18:06:53 -04:00
Thomas Harte
0d65bf0c1f Take offset length off the table as a spurious cause of failures. 2023-09-24 15:26:58 -04:00
Thomas Harte
d36f785428 Include file name in error. 2023-09-22 23:04:26 -04:00
Thomas Harte
5fd98e9833 Add an ignore list.
Leaves 180 failures amongst the valid 306 instructions.
2023-09-22 22:56:33 -04:00
Thomas Harte
787e9e770e Retain baseless addresses correctly. 2023-09-22 17:27:27 -04:00
Thomas Harte
c8c0c3ca6d Default segment is ::DS if there was no base. 2023-09-22 17:03:40 -04:00
Thomas Harte
587ec81900 Improve string output, better to find actual errors.
Still at 194/324 failures, but a lot of them seem reasonable.
2023-09-22 11:24:33 -04:00
Thomas Harte
9f63db991c Capture default segments, fix base/index confusion. 2023-09-22 11:07:09 -04:00
Thomas Harte
13f49fe8bf Merge branch 'master' into 8088Tests 2023-09-22 10:45:55 -04:00
Thomas Harte
873b1122ab Correct SHA, SHX, SHY, SHS when page boundary crossed. 2023-09-21 15:31:04 -04:00
Thomas Harte
4c32fc9b11 These tests appear to be against a real 6502. 2023-09-21 10:22:04 -04:00
Thomas Harte
4a87aa06a5 Add use of AHX/TAS/SHX/SHY pagecross test. Which fails. 2023-09-21 10:07:09 -04:00
Thomas Harte
5731ab75a6 Test stack result, pass first test. 2023-09-21 10:00:26 -04:00
Thomas Harte
797ce89a26 Correct test trailer. 2023-09-21 09:52:38 -04:00
Thomas Harte
4dc7b1840c Start attempting to digest Neskell's NES 6502 tests. 2023-09-21 09:47:29 -04:00
Thomas Harte
7ebecd2f41 Add notes to self, finally figuring out segment issue. 2023-09-19 23:27:42 -04:00
Thomas Harte
406c838c39 Attempt better to print DirectAddresss. 2023-09-19 22:46:53 -04:00
Thomas Harte
6f5fcf23dc Add missing substitutions. 2023-09-19 14:00:27 -04:00
Thomas Harte
02fcaf0dbd JCXZ seems to be preferred over JPCX. 2023-09-19 13:56:48 -04:00
Thomas Harte
a7cf7d3183 Resolve LOOPNE, LOOPE, etc. 2023-09-19 13:55:19 -04:00
Thomas Harte
e5dfc882cb Agree that JZ/JNZ are clearer (for me) of the synonyms. 2023-09-19 13:38:08 -04:00
Thomas Harte
2d928199d6 Clean up, add extra breakpoint points. 2023-09-18 17:10:09 -04:00
Thomas Harte
710017ada2 Largely resolve the operation-name problem. 2023-09-18 15:57:26 -04:00
Thomas Harte
9d9194f194 Improve dumped information on a mismatch. 2023-09-17 17:09:40 -04:00
Thomas Harte
f8dc5b8ebc Attempt to get close on index + base addresses. 2023-09-17 17:05:19 -04:00
Thomas Harte
2ee028d74f Bluff through a few more simple cases. 2023-09-17 16:29:04 -04:00
Thomas Harte
2d2eda6f8c Bodge my way into passing some comparisons. 2023-09-17 16:22:17 -04:00
Thomas Harte
5b9c5e250d Increase version number. 2023-09-17 16:04:19 -04:00
Thomas Harte
c95df3cb6c Move a little towards string formation. 2023-09-15 22:28:30 -04:00
Thomas Harte
7ee5adc481 Forcing a displacement upon BP reduces to 29 failures.
(At the current limited fidelity of testing)
2023-09-15 16:09:04 -04:00
Thomas Harte
8d4393275c Add optional allow list, for ephemeral whittling. 2023-09-15 15:50:59 -04:00
Thomas Harte
9417996280 Also dump hex form of the instruction. 2023-09-14 15:40:40 -04:00
Thomas Harte
804f80d23c Provide sorted output. 2023-09-14 12:29:49 -04:00
Thomas Harte
28027385bc Attempt further to cheer via statistics.
Current opcode failure count: 164 out of 324. Just a shade more than 50%.
2023-09-14 09:33:45 -04:00
Thomas Harte
53d8322b46 Contort further for testing. 2023-09-13 16:45:39 -04:00
Thomas Harte
39840feae7 Added text to cheer myself up. 2023-09-13 16:09:58 -04:00
Thomas Harte
57087cc7c6 Provide feedback on prima facie failure. 2023-09-13 16:08:12 -04:00
Thomas Harte
a6abe3a51d Attempt actually to decode. No comparison yet. 2023-09-13 16:00:16 -04:00
Thomas Harte
aa127d9a9f Add an empty 8088 suite test class. 2023-09-13 15:53:38 -04:00
Thomas Harte
8efb6a9226 Simplify 'get_next_sequence_point' -> 'next_sequence_point'. 2023-09-10 18:00:49 -04:00
Thomas Harte
3d5a351306 Add manual rpath for macOS 10.13. 2023-09-03 15:46:35 -04:00
Thomas Harte
4d6ffa7a2e With some degree of hit and hope, correct 65C02 results. 2023-08-31 15:28:59 -04:00
Thomas Harte
39ee75d94a Clean up decimal SBC implementation. 2023-08-31 15:02:17 -04:00
Thomas Harte
139a1a2acc Clean up decimal ADC. 2023-08-30 23:04:38 -04:00
Thomas Harte
7b569b1a6c Merge branch 'master' into 65C02BCDTest 2023-08-29 21:32:25 -04:00
Thomas Harte
74b416f985 Clean up output. 2023-08-29 17:07:35 -04:00
Thomas Harte
c160482b0a Exploit test's 65C02 abilities. 2023-08-29 17:04:52 -04:00
Thomas Harte
ec8f1b0fe0 Vary seed between processors. 2023-08-29 16:55:39 -04:00
Thomas Harte
fa82fb46b9 Acknowledge ever-revolving earth. 2023-08-20 15:33:47 -04:00
Thomas Harte
90f16026bc Merge branch 'master' into Templates 2023-08-19 15:57:37 -04:00
Thomas Harte
26343148ae Use simplified control lines when appropriate. 2023-08-17 15:32:02 -04:00
Thomas Harte
fd0fe66851 Omit unsupported registers and flags. 2023-08-17 15:24:08 -04:00
Thomas Harte
0a336baae2 Perform minor generalisation. 2023-08-17 14:50:43 -04:00
Thomas Harte
5d45aa4a6a Fix seed per test. 2023-07-28 13:58:01 -04:00
Thomas Harte
1d8bc41724 Shift back to original name. 2023-06-13 15:25:51 -04:00
Thomas Harte
d36a88dd11 Collect up different dispatches. 2023-06-13 15:22:53 -04:00
Thomas Harte
de5ee8f0d0 Mildly extend test. 2023-06-13 13:26:39 -04:00
Thomas Harte
6261ac24b4 Reformat SubrangeDispatcher; test. 2023-06-13 12:46:21 -04:00
Thomas Harte
b00eac4a34 Get to building. 2023-06-12 23:16:45 -04:00
Thomas Harte
d028555361 Get code up on feet, fix most obvious transgressions. 2023-06-12 16:09:02 -04:00
Thomas Harte
c630f86f33 Attempt to generalise out from the 9918's current sense of dispatching. 2023-05-29 22:56:36 +01:00
Thomas Harte
c76048bff9 Formalise the idea of Grauw as a separate clock. 2023-05-18 16:37:48 -04:00
Thomas Harte
8578dfbf22 Eliminate various other errant spaces. 2023-05-16 16:40:09 -04:00
Thomas Harte
9342c6005f Remove dead 68000 references. 2023-05-15 10:09:39 -04:00
Thomas Harte
14ac4da813 Accept version number. 2023-05-15 10:01:38 -04:00
Thomas Harte
9b6be2571a Introduce Qt options for MSX model, MSX-MUSIC. 2023-05-15 09:50:22 -04:00
Thomas Harte
8bf3d85e36 Add .MX2 as an MSX synonym of .ROM 2023-05-14 23:42:08 -04:00
Thomas Harte
413ab42b16 Add MSX-MUSIC option for macOS. 2023-05-13 22:25:50 -04:00
Thomas Harte
50343dec43 Eliminate all whitespace-only lines. 2023-05-12 14:16:39 -04:00
Thomas Harte
28c79b2885 Eliminate redundant [space][tab] pairs. 2023-05-12 14:14:45 -04:00
Thomas Harte
60bec3d4c0 Eliminate trailing whitespace, fix tabs. 2023-05-12 14:03:38 -04:00
Thomas Harte
f6acee18cc Eliminate type-in-function-name from 6502-world. 2023-05-10 18:53:38 -05:00
Thomas Harte
a8cc74f9fe Further eliminate naming. 2023-05-10 18:46:21 -05:00
Thomas Harte
10cd2a36cf Avoid type-in-function-name, Z80 edition. 2023-05-10 18:42:19 -05:00
Thomas Harte
ea50d5bda7 Eliminate dead bit reverser. 2023-05-10 17:14:39 -05:00
Thomas Harte
809cd7bca9 Remove the 68000's Mk2 suffix. 2023-05-10 17:13:01 -05:00
Thomas Harte
e56db3c4e5 Eliminate the old 68000 implementation. 2023-05-10 17:06:27 -05:00
Thomas Harte
2b56b7be0d Simplify namespace syntax. 2023-05-10 16:02:18 -05:00
Thomas Harte
25a245e35c Flailingly switch things until tests run. 2023-05-10 15:17:00 -05:00
Thomas Harte
882384b1f3 Disambiguate Storage.hpp. 2023-05-10 15:06:39 -05:00
Thomas Harte
5cc19f436f Permit command-line parallel builds. 2023-05-10 15:02:07 -05:00
Thomas Harte
fd0eaa5788 Decline signing of all but release builds. 2023-05-10 15:01:02 -05:00
Thomas Harte
6b19bfeab2
No .cpp files remain in Components/9918 2023-05-09 17:40:14 -05:00
Thomas Harte
efe1425e8e Accept new version number. 2023-05-08 21:14:03 -04:00
Thomas Harte
8f0dc9d9a2 Eliminate use of deprecated codecvt. 2023-04-30 16:55:55 -04:00
Thomas Harte
f5c8eba843 Reduce duplication. 2023-04-23 22:02:41 -04:00
Thomas Harte
7d63a50f3e Add MSX 2 to macOS UI. 2023-03-21 20:05:10 -04:00
Thomas Harte
6d49b2e66b Merge branch 'master' into MSX2 2023-03-17 21:25:51 -04:00
Thomas Harte
363fd0f781 Add 6809 to Xcode project. 2023-03-17 21:25:31 -04:00
Thomas Harte
315e0b4545 Add experimental 6809 opcode decoder.
Just a pleasant distraction, for now.
2023-03-17 21:20:35 -04:00
Thomas Harte
d36c8df0c9 Eliminate redundant init. 2023-03-14 22:27:46 -04:00
Thomas Harte
41d57e03a6 Split out LineBuffer and Storage to make 9918Base more manageable. 2023-02-12 12:58:46 -05:00
Thomas Harte
0c8815d6a0 Retain command-engine context. 2023-01-26 11:59:27 -05:00
Thomas Harte
f6e601daff Introduce a template for numeric coding. 2023-01-17 13:26:11 -05:00
Thomas Harte
f57c2a961f Add to further project files. 2023-01-14 14:20:29 -05:00
Thomas Harte
48a4355592 Start sketching out an RP5C01. 2023-01-14 14:17:28 -05:00
Thomas Harte
5f85074caa Restore repeated lookup of timed machine.
This restores culling of abandoned parallel machines during dynamic analysis.
2023-01-13 22:02:15 -05:00
Thomas Harte
2e7e5ea12b Fleshes out most of a cleaner memory slot layout. 2023-01-12 23:01:11 -05:00
Thomas Harte
9085ba4081 Update SMS VDP tests. 2023-01-09 22:58:12 -05:00
Thomas Harte
ebc1264c2c Create a common home for timing information. 2023-01-06 22:39:46 -05:00
Thomas Harte
27d37f71ec Generalise and better factor bit reversal and TMS drawing. 2023-01-05 13:18:10 -05:00
Thomas Harte
27812fd0e2 Separate fetchers into their own header. 2023-01-01 22:26:50 -05:00
Thomas Harte
5729ece7bb Incompletely transitions towards more flexible clock ratios. 2023-01-01 14:20:45 -05:00
Thomas Harte
151f60958e Relocate the 9918 implementation file. 2023-01-01 14:01:19 -05:00
Thomas Harte
3f3c9f7491 Update version number. 2022-11-25 15:45:44 -05:00
Thomas Harte
8ccb803b08 Ensure no dangling modifiers upon shortcut keyboard switch. 2022-11-24 15:33:30 -05:00
Thomas Harte
e6ae35638b Add HDV to Info.plist. 2022-11-15 15:20:12 -05:00
Thomas Harte
9b235a8f64 Create a specific container for HDV files. 2022-11-15 13:18:54 -05:00
Thomas Harte
005f38dbff Merge branch 'master' into 68020 2022-11-11 20:35:35 -05:00
Thomas Harte
ae8f0d339e Remove usage of sprintf. 2022-11-11 20:29:59 -05:00
Thomas Harte
ccadf69630 Add test of operand_flags and operand_size; add entries for missing 68000 and 68010 instructions. 2022-10-31 15:15:05 -04:00
Thomas Harte
bbd2cd47ea Decode [MUL/DIV][U/S].l. 2022-10-30 11:32:36 -04:00
Thomas Harte
63ad2e8263 Decode EXTB.l. 2022-10-30 11:20:43 -04:00
Thomas Harte
23e4a47f8b Accept CHK.l and LINK.l decodings. 2022-10-30 11:16:32 -04:00
Thomas Harte
6ad1d74ddd Parse and record duality of CHK2/CMP2. 2022-10-29 21:32:48 -04:00
Thomas Harte
12ca79e645 Decode CAS2. 2022-10-28 14:02:49 -04:00
Thomas Harte
85df54ee7d Decode CAS. 2022-10-28 13:57:00 -04:00
Thomas Harte
2b220659dd Incorporate PACK and UNPK. 2022-10-28 13:37:30 -04:00
Thomas Harte
e79388fc02 Codify RTM, TST, TRAPcc, Bcc, BF*. 2022-10-28 13:17:35 -04:00
Thomas Harte
041eb79bf8 Move 68010 up into the verified area. 2022-10-27 10:52:26 -04:00
Thomas Harte
adbd23eaea Having verified manually, lock in 68010 instruction set. 2022-10-27 09:55:02 -04:00
Thomas Harte
8ddf20b36a Provide cleaner output. 2022-10-25 22:33:25 -04:00
Thomas Harte
fd20323c25 Refactor to permit newer-chip testing. 2022-10-25 21:27:01 -04:00
Thomas Harte
9a56d053f8 Introduce/extend 68k enums to cover 68020 instruction set. 2022-10-22 15:20:30 -04:00
Thomas Harte
7c328edd4a Use built-in install build trigger. 2022-10-21 15:28:50 -04:00
Thomas Harte
9be9e1ab0c Use built-in install build trigger. 2022-10-21 15:28:11 -04:00
Thomas Harte
ad5047dbd5 Show failing operations as strings. 2022-10-19 22:25:09 -04:00
Thomas Harte
df7f94f362 Include MacintoshVolume in test build. 2022-10-19 14:41:08 -04:00
Thomas Harte
a364499d17 Revert inadvertent commits. 2022-10-17 23:15:45 -04:00
Thomas Harte
1f19141746 Eliminate BiggerInt. 2022-10-11 16:19:47 -04:00
Thomas Harte
4d3221fc55 Enable dead code stripping; allow Xcode 14 to tag. 2022-09-16 19:53:36 -04:00
Thomas Harte
59388230a6 Record new macOS version number. 2022-09-16 16:14:59 -04:00
Thomas Harte
dc35ec8fa0 Merge branch 'master' into AppleIISCSI 2022-09-15 12:05:58 -04:00
Thomas Harte
0f017302ce Fix tests. 2022-09-13 16:33:44 -04:00
Thomas Harte
dad1d7744e Disable test generation. 2022-09-08 16:41:10 -04:00
Thomas Harte
de8ce3380c Record only 8 bits for byte accesses. 2022-09-06 20:49:45 -04:00
Thomas Harte
b848b1389a Include gaps in captured transactions, better collect final RAM state. 2022-09-06 15:08:35 -04:00
Thomas Harte
2c44ddfa95 Better bucket, and attempt to cover exceptions. 2022-09-06 11:26:38 -04:00
Thomas Harte
0fe94b2e6d Capture ::SameAddress versus ::NewAddress, for TAS recognition. 2022-09-05 22:26:30 -04:00
Thomas Harte
93c1f7fc90 Include prefetch in 68000 state. 2022-09-05 22:00:04 -04:00
Thomas Harte
b6da1019bd Bucket tests by operation, aim for ~1,000,000 total. 2022-09-05 21:52:48 -04:00
Thomas Harte
cee3f78059 Attempt to output only relevant RAM. 2022-09-03 15:45:06 -04:00
Thomas Harte
68f810883d Begin process of creating on-disk tests. 2022-09-02 16:52:27 -04:00
Thomas Harte
cd7671e8fa Merge branch 'master' into AppleIISCSI 2022-08-29 11:47:48 -04:00
Thomas Harte
330d852686 Adopt same format as the master. 2022-08-29 11:46:53 -04:00
Thomas Harte
303ea496f1 Incorporate new additional padding. 2022-08-29 11:45:11 -04:00
Thomas Harte
722e3a141d Fix types, introduce Apple II mapper. 2022-08-24 12:00:03 -04:00