51 lines
1.3 KiB
Plaintext
51 lines
1.3 KiB
Plaintext
File formats
|
|
============
|
|
|
|
tests.in
|
|
--------
|
|
|
|
Each test has the format:
|
|
|
|
<arbitrary test description>
|
|
AF BC DE HL AF' BC' DE' HL' IX IY SP PC MEMPTR
|
|
I R IFF1 IFF2 IM <halted> <tstates>
|
|
|
|
<halted> specifies whether the Z80 is halted.
|
|
<tstates> specifies the number of tstates to run the test for, in
|
|
decimal; the number actually executed may be higher, as the final
|
|
instruction is allowed to complete.
|
|
|
|
Then followed by lines specifying the initial memory setup. Each has
|
|
the format:
|
|
|
|
<start address> <byte1> <byte2> ... -1
|
|
|
|
eg
|
|
|
|
1234 56 78 9a -1
|
|
|
|
says to put 0x56 at 0x1234, 0x78 at 0x1235 and 0x9a at 0x1236.
|
|
|
|
Finally, -1 to end the test. Blank lines may follow before the next test.
|
|
|
|
tests.expected
|
|
--------------
|
|
|
|
Each test output starts with the test description, followed by a list
|
|
of 'events': each has the format
|
|
|
|
<time> <type> <address> <data>
|
|
|
|
<time> is simply the time at which the event occurs.
|
|
<type> is one of MR (memory read), MW (memory write), MC (memory
|
|
contend), PR (port read), PW (port write) or PC (port contend).
|
|
<address> is the address (or IO port) affected.
|
|
<data> is the byte written or read. Missing for contentions.
|
|
|
|
After that, lines specifying AF, BC etc as for .in files. <tstates>
|
|
now specifies the final time.
|
|
|
|
After that, lines specifying which bits of memory have changed since
|
|
the initial setup. Same format as for .in files.
|
|
|