Thomas Harte
|
244b5ba3c2
|
Added a proper termination condition for Zexall and, for now, a Mhz counter.
|
2017-05-30 18:32:38 -04:00 |
|
Thomas Harte
|
960de7bd7b
|
Marginally reduced test machine costs based on usage.
|
2017-05-30 11:59:07 -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
|
9d29cefe75
|
Evicted manual memory management.
|
2017-05-29 21:44:33 -04:00 |
|
Thomas Harte
|
35f535b9a3
|
Noodled around with initial state.
|
2017-05-29 19:25:08 -04:00 |
|
Thomas Harte
|
6d22f6fcd5
|
Having decided the bus operation error on 10 is probably in the test cases, decided to allow myself to skip that one comparison. Back to zero failing cases, and with no more useful information to derive from the FUSE test set for the time being.
|
2017-05-29 17:17:17 -04:00 |
|
Thomas Harte
|
8bfaa487ce
|
Improved logging of bus operations and corrected placement of the OUT step in that repetition group; was otherwise outputting the wrong side of the B adjustment and therefore to the wrong port (if interpreted as 16 bit).
|
2017-05-29 17:13:24 -04:00 |
|
Thomas Harte
|
0d067d2f01
|
Adjusted OTI/etc timing; 23 failures outstanding.
|
2017-05-29 16:54:45 -04:00 |
|
Thomas Harte
|
d66755fd1e
|
Corrected INI/D[r] timing. Down to 45 failures.
|
2017-05-29 16:50:52 -04:00 |
|
Thomas Harte
|
267b2add9a
|
Adjusted for where FUSE nominally places timestamps. Down to 92 failures.
|
2017-05-29 16:44:07 -04:00 |
|
Thomas Harte
|
d290e3d99e
|
Corrected simple logging error. Which mysteriously moves me all the way up to 117 failures (!)
|
2017-05-29 16:35:00 -04:00 |
|
Thomas Harte
|
a6a4c5a936
|
Made an attempt to introduce checking of bus activity against the FUSE tests. Appears to suggest 54 new failures.
|
2017-05-29 15:57:27 -04:00 |
|
Thomas Harte
|
8a8f0cef20
|
With all intentional opcode entry points now covered, commuted XX into NOP to give proper meaning to otherwise undefined codes.
|
2017-05-29 12:25:10 -04:00 |
|
Thomas Harte
|
91dc0d5f4a
|
Adjusted HALT to issue never-ending M1 fetches on the next instruction.
|
2017-05-29 12:20:33 -04:00 |
|
Thomas Harte
|
ed7b07c8b1
|
Made an attempt to implement HALT as an operation that merely leaves the PC in place, adding the Z80's output line. Included that flag in FUSE tests. Discovered that it does not think that HALT acts that way. Which is probably correct.
|
2017-05-29 11:54:27 -04:00 |
|
Thomas Harte
|
3f880fa769
|
Fixed [FD/DD][74/75], which always store H or L, never IXh, IXl, IYh or IYl.
|
2017-05-29 11:44:26 -04:00 |
|
Thomas Harte
|
d83dd17738
|
[DD/FD]36 turns out to be a timing error: offset calculation overlaps with value fetch. So the FUSE test was cutting off my implementation early. Fixed.
|
2017-05-29 11:40:56 -04:00 |
|
Thomas Harte
|
9ade0dcae3
|
One failure was just PUSH AF due to throwing away the 5 & 3 flags at the start. Switched to throwing them away at comparison.
|
2017-05-29 11:06:23 -04:00 |
|
Thomas Harte
|
a329d85697
|
Instituted memory value checks, flushing out seven new failures.
|
2017-05-29 11:01:45 -04:00 |
|
Thomas Harte
|
c322410783
|
Corrected CP[I/D]R termination logic; all tests now passing to the extent of interrogation.
|
2017-05-29 10:52:54 -04:00 |
|
Thomas Harte
|
b67331e018
|
Fixing the OUT repetition group reduces the code to one failing test.
|
2017-05-29 10:48:53 -04:00 |
|
Thomas Harte
|
a47b339668
|
Made an attempt at OUT[I/D]R. 10 failures remaining. None of which, I guess, are due to unimplemented operations.
|
2017-05-29 10:28:04 -04:00 |
|
Thomas Harte
|
ad56a9215c
|
Implemented IN[I/D]x. 18 failures remaining.
|
2017-05-29 10:12:33 -04:00 |
|
Thomas Harte
|
c56a5344b9
|
Implemented CP[I/D]x.
|
2017-05-29 08:54:00 -04:00 |
|
Thomas Harte
|
1f62cbe21a
|
Reduced LD[I/D}{R} repetition.
|
2017-05-29 08:24:10 -04:00 |
|
Thomas Harte
|
47845f8c19
|
Tried to complete the LD[I/D]{R} group. 32 issues remain.
|
2017-05-28 23:55:54 -04:00 |
|
Thomas Harte
|
409c82ce73
|
Implemented RLD and RRD. 34 failures remaining.
|
2017-05-28 16:46:27 -04:00 |
|
Thomas Harte
|
dc3f5b6211
|
Fixed flag setting for LD A, I and LD A, R, and corrected typo affecting LD DE, (nn).
|
2017-05-28 16:32:10 -04:00 |
|
Thomas Harte
|
fb02b77e63
|
Implemented RETI/RETN. 40 warnings remaining.
|
2017-05-28 16:07:25 -04:00 |
|
Thomas Harte
|
f974d54c7a
|
Implemented IM. 48 failures remain.
|
2017-05-28 15:55:21 -04:00 |
|
Thomas Harte
|
68978c6e25
|
Implemented NEG and filled in the load/store and copy parts of the ED page that roll directly off the tongue. 53 issues outstanding.
|
2017-05-28 15:47:48 -04:00 |
|
Thomas Harte
|
6e83b7d6df
|
Attempted to add a proper exit condition for Zexall.
|
2017-05-28 15:13:47 -04:00 |
|
Thomas Harte
|
5a4d448cc1
|
Corrected logical flags; now down to 68 failures, all of them on the ED page.
|
2017-05-28 15:09:58 -04:00 |
|
Thomas Harte
|
743eac8c55
|
Implemented EXX to complete the base page. 83 failures.
|
2017-05-28 14:55:14 -04:00 |
|
Thomas Harte
|
6b66c8f304
|
Implemented inputs and outputs, determined how to answer port requests to please FUSE and hence reduced failures to 84.
|
2017-05-28 14:50:51 -04:00 |
|
Thomas Harte
|
c976fbfcd5
|
Implemented the base-page IN and OUT instructions, bringing FUSE test failures down to 91.
|
2017-05-28 14:20:05 -04:00 |
|
Thomas Harte
|
ed3e38ac31
|
Performed some quick tidying.
|
2017-05-28 00:12:42 -04:00 |
|
Thomas Harte
|
76f03900d2
|
Implemented EX HL, (SP) so as, allowing for indexed pages, to bring issues below the psychological 100 barrier. To 99.
|
2017-05-28 00:02:14 -04:00 |
|
Thomas Harte
|
035df316aa
|
FUSE seems to have inconsistent ideas about where b3 and b5 come from in more-complicated BIT instructions. So I'm not testing them for now. Within that reality, reduced to 102 failures.
|
2017-05-27 23:54:53 -04:00 |
|
Thomas Harte
|
9759a04c7d
|
Timing fixes: the fetch-decode-execute pattern is now per-page, since that on [DD/FD]CB not only doesn't increment R but doesn't take four cycles, so is probably a normal read cycle. Adjusted timing all around.
|
2017-05-27 23:54:06 -04:00 |
|
Thomas Harte
|
c7cb47a1d8
|
Readded and then disabled my temporary one-test-only patch. Failures are currently at 237.
|
2017-05-27 21:10:25 -04:00 |
|
Thomas Harte
|
0d2d04e17b
|
Seeking proper [F/D]DCB emulation: the offset comes before the final byte of opcode, and adding seems to overlap with the opcode fetch, which does not increment R. Also needs to duplicate the result to visible registers.
|
2017-05-27 21:06:56 -04:00 |
|
Thomas Harte
|
98423c6e41
|
Accepted FUSE's view of bits 3 & 5 from BIT and RES, reducing to 623 issues.
|
2017-05-27 16:19:15 -04:00 |
|
Thomas Harte
|
33c3fa21e3
|
Fixed (HL)/(In + d) CB page modify instructions. Reducing failures to 672.
|
2017-05-27 15:54:24 -04:00 |
|
Thomas Harte
|
2141d52794
|
Corrected typo. Now at 696 failures.
|
2017-05-27 15:41:26 -04:00 |
|
Thomas Harte
|
16b8021401
|
Made a stab at the CB pages.
|
2017-05-27 15:39:22 -04:00 |
|
Thomas Harte
|
151b09b5ca
|
Fixed various other obvious cases for indexing.
|
2017-05-26 23:37:17 -04:00 |
|
Thomas Harte
|
9bc2b48d9b
|
Found a form I like for indexed addressing, applying it only where obvious for now. Which eliminates more than a couple of hundred of remaining failures.
|
2017-05-26 23:23:33 -04:00 |
|
Thomas Harte
|
ab8a98f1df
|
Implemented RST.
|
2017-05-26 07:29:19 -04:00 |
|