Thomas Harte
|
b3ae920746
|
Converted the DPLL and disk controller classes to be ClockReceiver s.
|
2017-07-24 21:04:47 -04:00 |
|
Thomas Harte
|
e6578defcd
|
It turns out that quite a few tests still rely on CSTestMachine6502JamOpcode. Though since it no longer works, that'll need to be fixed. In the meantime, fixed the test build process at least, as it's not really what this branch is meant to be invested in.
|
2017-07-23 22:22:50 -04:00 |
|
Thomas Harte
|
ace8e30818
|
Bubbled the Z80's move into clock receiver territory up into the Z80 test machine.
|
2017-07-23 22:21:39 -04:00 |
|
Thomas Harte
|
b0c2325adc
|
Corrected run call, and accepted that jam handling is gone forever.
|
2017-07-22 22:21:26 -04:00 |
|
Thomas Harte
|
7b5f93510b
|
Fixed the DigitalPhaseLockedLoopBridge bridge, once again fixing tests.
|
2017-07-16 20:55:57 -04:00 |
|
Thomas Harte
|
8ddd686049
|
Removed redundant variable.
|
2017-07-16 19:04:03 -04:00 |
|
Thomas Harte
|
2fb0aea990
|
Updated the C1540 test vessel to the new world.
|
2017-07-16 17:00:39 -04:00 |
|
Thomas Harte
|
95a6b0f85c
|
Introduced an NMI/wait interrupt timing test, and adjusted the Z80 to conform to information posted by Wilf Rigter.
|
2017-06-22 21:09:26 -04:00 |
|
Thomas Harte
|
0e0ce379b4
|
Renamed MachineCycle to PartialMachineCycle given that it mostly no longer intends to describe an entire machine cycle.
|
2017-06-21 20:38:08 -04:00 |
|
Thomas Harte
|
36e8a11505
|
Sought to simplify the way partial machine cycles are communicated, for ease of machine implementation. Also implemented the wait line.
|
2017-06-21 20:32:08 -04:00 |
|
Thomas Harte
|
108da64562
|
Fixed LD H, (HL) and LD L, (HL) by ensuring that whatever the subclass does goes to a temporary place before updating the address. Corrected the LD (IX+d), n machine cycle test for my new best-guess timing. This should leave only interrupt timing as currently amiss.
|
2017-06-20 22:25:00 -04:00 |
|
Thomas Harte
|
184b371649
|
Attempted to get to 'proper' timing for LD (IX+d),n, albeit that proper is a guess.
|
2017-06-20 21:48:50 -04:00 |
|
Thomas Harte
|
27ac342928
|
Corrected conditional call timing, and its test.
|
2017-06-20 20:57:23 -04:00 |
|
Thomas Harte
|
6752f165db
|
Added failing tests for both kinds of CALL.
|
2017-06-19 22:03:29 -04:00 |
|
Thomas Harte
|
e05076b258
|
Added tests for everything except CALL. All passing.
|
2017-06-19 22:00:04 -04:00 |
|
Thomas Harte
|
fadbfdf801
|
Added DJNZ test.
|
2017-06-19 21:31:56 -04:00 |
|
Thomas Harte
|
cb277b8d1e
|
Added JP and JR tests.
|
2017-06-19 21:27:23 -04:00 |
|
Thomas Harte
|
234f14dbbe
|
Tests were at fault; all passing now.
|
2017-06-19 21:14:40 -04:00 |
|
Thomas Harte
|
99ede3a9ef
|
BIT/SET (IX+d) were incorrectly encoded. Hence fixed BIT (IX+d).
|
2017-06-19 21:04:14 -04:00 |
|
Thomas Harte
|
378233f53d
|
Extended to BITs and SETs, accruing three new failures.
|
2017-06-19 21:01:30 -04:00 |
|
Thomas Harte
|
f903408980
|
Caught up on comments.
|
2017-06-19 20:53:22 -04:00 |
|
Thomas Harte
|
b684254908
|
Introduced further tests down to a failing attempt at RLC (IX+d). Made an initial attempt to fix, failed.
|
2017-06-19 20:33:34 -04:00 |
|
Thomas Harte
|
351d90ca55
|
Added tests down to INC IX. No additional failures yet, though I've yet to reach conditional CALL.
|
2017-06-19 20:04:55 -04:00 |
|
Thomas Harte
|
23177df26a
|
Added various tests of the basic ALU ops.
|
2017-06-19 19:53:26 -04:00 |
|
Thomas Harte
|
ba15371948
|
Introduced timing tests for LDI[R] and CPI[R], fixing a latent issue in the rejig of LD BC, nn while I'm here.
|
2017-06-19 19:47:00 -04:00 |
|
Thomas Harte
|
8d60734737
|
Added tests for EXX, EX (SP), HL and EX (SP), IX. The latter two currently being incorrect.
|
2017-06-19 19:17:54 -04:00 |
|
Thomas Harte
|
002098d496
|
The final two tests were at fault — expecting POPs to write rather than read. Fixed, so the subset of timing tests as-yet implemented now passes. Which means it's time to slog through further tests.
|
2017-06-19 07:45:41 -04:00 |
|
Thomas Harte
|
85c5c4405a
|
Ensured that wait states don't appear unless requested (TODO: requesting), and made the output of my timing tests a little easier to parse.
|
2017-06-19 07:30:01 -04:00 |
|
Thomas Harte
|
d668879ba6
|
Started trying to wade back to passing tests. Working on the new timing tests first, and focussing on getting the Objective-C test machine to compile bus operations into machine cycles, which means indicating phase to all-RAM delegates.
|
2017-06-18 22:03:13 -04:00 |
|
Thomas Harte
|
e1a2580b2a
|
Renamed BusOperation to MachineCycle::Operation.
|
2017-06-17 21:53:45 -04:00 |
|
Thomas Harte
|
b6f51474ff
|
Ensured that -description can handle the newly-captured bus actions.
|
2017-06-17 18:20:30 -04:00 |
|
Thomas Harte
|
0f18768091
|
Disabled attempts at bus activity matching within the FUSE tests, at least until I settle on exactly what I intend to do.
|
2017-06-17 18:19:25 -04:00 |
|
Thomas Harte
|
50cd617bd9
|
Ensured test raises only the intentional failure exceptions.
|
2017-06-15 22:33:46 -04:00 |
|
Thomas Harte
|
838b818cd3
|
Finished transcribing first page of machine cycle documentation; several failures contained.
|
2017-06-15 22:19:49 -04:00 |
|
Thomas Harte
|
cf795562bf
|
Continued filling in tests, fleshing out what the test machine captures as a result.
|
2017-06-15 20:59:59 -04:00 |
|
Thomas Harte
|
ac37424878
|
Set up a test class to allow me to discover which of the machine cycle sequences I'm in error on.
|
2017-06-15 19:06:59 -04:00 |
|
Thomas Harte
|
aed2827e7b
|
Implemented a rudimentary way to test that instructions take as long as the FUSE tests think they should. Hence discovered that the (HL)-accessing BIT, RES and SET weren't. Corrected.
|
2017-06-12 22:22:00 -04:00 |
|
Thomas Harte
|
50be3a24fe
|
Sought to ensure that Mode 1 interrupts aren't happening early. Which they seem not to be.
|
2017-06-11 13:30:08 -04:00 |
|
Thomas Harte
|
2190f60a89
|
Reinstated manual-by-stealth secondary usage of the Zexall test as a benchmarking tool.
|
2017-06-04 15:46:35 -04:00 |
|
Thomas Harte
|
0eebfdb4cc
|
Expanded emulation of memptr, though still incomplete. Reverted zexall tests to zexdoc. Will probably leave memptr until I've an emulated machine as test suites seem to exist, but they're machine-dependant, so figuring out how to isolate them from an architecture will be a lot easier if and when I have functioning machines.
|
2017-06-04 15:39:37 -04:00 |
|
Thomas Harte
|
7811374b0f
|
Started sneaking in memptr emulation, hopefully to get to a working BIT (hl).
|
2017-06-04 15:07:07 -04:00 |
|
Thomas Harte
|
87095b0578
|
Undid consciously discard for bits 3 and 5 in the FUSE tests. Back to 100 failures.
|
2017-06-04 14:04:26 -04:00 |
|
Thomas Harte
|
b642d9f712
|
Eliminates the 6502's specialised jam handler in favour of the generic trap handler, and simplifies the lookup costs of that as it's otherwise doubling execution costs.
|
2017-06-03 21:54:42 -04:00 |
|
Thomas Harte
|
fd6623b5a5
|
Attempted to bring a common hierarchy to the Z80 and 6502 test machines, particularly with a view to eliminating the special-case Jam stuff on the 6502.
|
2017-06-03 21:22:16 -04:00 |
|
Thomas Harte
|
b3da16911f
|
Tweaked timing of mode 0, per contradictory information. Wrote a failing test of mode 2.
|
2017-06-03 18:42:54 -04:00 |
|
Thomas Harte
|
e52892f75b
|
Added a test of interrupt mode 1.
|
2017-06-03 18:16:13 -04:00 |
|
Thomas Harte
|
8c41a0f0ed
|
Added a test to confirm interrupts are disabled, and a response to the interrupt cycle within the all-RAM machine.
|
2017-06-03 17:53:44 -04:00 |
|
Thomas Harte
|
3e9212aaff
|
Plumbed through to allow interrupt tests, wrote an NMI test, corrected the error revealed.
|
2017-06-03 17:41:45 -04:00 |
|
Thomas Harte
|
d14902700a
|
Minor syntax and wiring fixes.
|
2017-06-01 22:33:05 -04:00 |
|
Thomas Harte
|
c95c32a9fe
|
Implemented the reset line program and disabled fictitious automatic power-on reset for the Z80 test machine.
|
2017-06-01 22:31:04 -04:00 |
|