![]() ![]() This suite performs a series of tests to verify the MEMPTR documents ( English, Russian), which are spot on, as well as a brief run through several of the CBh/DDh/FDh opcode ranges. Tests all flags after executing bit N,(hl) after each instruction tested. Tests all flags after executing ccf after each instruction tested. Tests documented flags only, ignores registers. Tests all registers, but only officially documented flags. Each of the included programs performs an exhaustive computation using each of the tested Z80 instructions, compares the results with values obtained from a real Sinclair ZX Spectrum 48K with Zilog Z80 CPU, and reports any deviations detected. This set of programs is intended to help the emulator authors to reach the desired level of the CPU emulation authenticity. And, of course, the emulator passes the most exhaustive tests written to date, including all three major test suites: Zilog Z80 CPU Test Suite, by Patrik Rak That said, instructions, flags, memory accesses, interrupts, clock cycles, etc., are accurately emulated according to the technical documentation available, the findings made after decades of research on the Z80 and electronic simulations. Moreover, registers are modified only once per instruction and the T-state counter is normally updated after a full instruction has been executed. Instruction-level granularity implies that, except in a few well-defined cases, the execution of a given instruction cannot stop until all its internal M-cycles are processed, as instructions are not divided into micro-operations. This Z80 CPU emulator has a classic design with instruction-level granularity that delivers the best performance, whilst offering a reasonable flexibility to achieve precision down to the T-state level. ![]() The aim has been to write a well-structured, easy to understand piece of software something solid and elegant that can stand the test of time with no need for major changes. The source code is written in ANSI C for maximum portability and is extensively commented. It also has the honor of having been the first open-source project to provide full emulation of the interrupt mode 0. It emulates all that is known to date about this CPU, including the undocumented behaviors, MEMPTR, Q and the special RESET. The Z80 library implements a fast, small and accurate emulator of the Zilog Z80. ![]()
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |