Skip to content

Files

Latest commit

4da31b7 · Mar 18, 2024

History

History

libz80

libz80 - Z80 emulation library

The original one appears to be dead - at least nobody responded to the emulatuon bug so this is a fork that actually gets 16bit math flags correct in the corner cases where the standard version leaves Z incorrectly clear.

© Gabriel Gambetta (gabriel.gambetta@gmail.com) 2000 - 2014

Version 2.1.1

Building and Installing

The Makefile creates libz80.so, which together with z80.h make up the binary package. make install installs these files in /usr/lib and /usr/include respectively.

Emulation code itself is generated by the codegen directory. mktables.spec includes a specification of the opcodes, using regular expressions to express similar opcodes in a compact way. Binary representation of the opcodes is listed in opcodes.lst. This makes tweaking the 'processor' relatively easy, as it isn't done manually.

Pre-generated files are included - these are opcodes_decl.h, opcodes_table.h and opcodes_impl.c in the codegen directory.

The tests directory includes a simple test framework and a few tests to ensure the current behavior of the processor.

Authors

Gabriel Gambetta (gabriel.gambetta@gmail.com)

Wayne Conrad (wconrad@yagni.com) - MAJOR fixes and emulation improvements.