Z80 Instruction Exerciser for the Spectrum |
MDFS::Software.Z80.Exerciser.Spectrum | Search |
ZEXALL.COM
and ZEXDOC.COM
file for CPM systems.
I then created a modified version to run on the Spectrum. The changes made
are:
The following files are supplied here:
zexall.src | zexdoc.src | 42K | ZEXALL and ZEXDOC source for Spectrum. |
zexall | zexdoc | 8K | ZEXALL and ZEXDOC binaries, load=&8000, exec=&8000. |
zexall.tap | zexdoc.tap | 8K | Spectrum Tapefile. LOAD "" will start zexall or zexdoc.
|
ZEXALL and ZEXDOC test the Z80 CPU implementation against a set of empirical results. That is, it compares the excution against results found from running ZEXALL/ZEXDOC on an actual hardware Z80. ZEXALL/ZEXDOC is not intended to identify implementation errors, it just identifies that there is an implementation error.
A test that passes will be displayed as:
<adc,sbc> hl,<bc,de,hl,sp>...OK
A test that fails will be displayed as:
<adc,sbc> hl,<bc,de,hl,sp>...
CRC:xxxxxxxx expected:xxxxxxxx
There are 68 tests, each of which take about 3 to 4 minutes, so the whole program can take over four and a half hours! It will be useful if you can get your system to make a screen snapshot every five minutes or so, or spool the output, for later perusal.
Another point to bear in mind is that if any of the instructions that make
up the test code aren't implemented correctly, then the testing will give
incorrect results. For instance, if RRCA
actually does
RLCA
, then the calculation of the instruction CRCs will fail.
Hardware | Speculator | Z80Em | MZXSpeccy | Spec128 |
Z80/WinZ80 | Z80Tube | MyZ80 | Z80mu |