GitHub

Z80 (or libZ80) is a small library that implements a fast and accurate emulator of the Zilog® Z80™ CPU. It is written in ANSI C for maximum portability and is distributed under the GNU LGPL v3 (or later).

What it offers

Install

Debian, Ubuntu and other Debian-based Linux distributions

First, add the zxe repository and update the package index:

sudo mkdir -pm700 /root/.gnupg
sudo mkdir -pm755 /etc/apt/keyrings
sudo gpg --no-default-keyring --keyring /etc/apt/keyrings/zxe-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys FE214A38D6A0C01D9AF514EE841EA3BD3A7E1487
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/zxe-archive-keyring.gpg] https://zxe.io/repos/apt stable main" | sudo tee /etc/apt/sources.list.d/zxe.list
sudo apt update

Next, install the library package:

sudo apt install libz80

To build software that requires the Z80 library, install the development package too:

sudo apt install libz80-dev

Gentoo

First, add and sync the zxe overlay:

eselect repository add zxe git https://github.com/redcode/zxe-gentoo-overlay.git
emaint sync --repo zxe

Then install the library:

emerge emulation-libs/z80

Homebrew

brew install redcode/zxe/z80

Language bindings

The Z80 library is written in C, but its also available to various programming languages through bindings: