z80emu
is a Rust library which provides building blocks for emulators based on
Zilog's Z80 CPU.
```text
=| |=
=| |=
=| |= ---------------- =[ Clock ]
=| |= |
=| |= |
=| |= |
=| |= |
=| |= |
=| Cpu |= |
=| |= | |
=| Z80 |= \ | |
=| |= <--------------> =| Memory+Io |=:::::
=| |= / | |
=| |= |__|
=| |=
=| |=
=| |=
=| |=
=| |=
=|__|=
```
z80emu
was developed as an attempt to create a minimalistic emulation library. It provides the necessary tools
for the retro emulators to be built upon, avoiding any assumptions about side effects of those emulators.
Please see the documentation for a full introduction.
This repository also contains an example implementation of a complete emulator program.
z80emu
requires Rustc version 1.36 or greater due to the usage of some macro features and API that was introduced
or stabilized in this version.
Starting from version 0.6.0
, the z80emu
library is released under the terms of the GNU Lesser General Public License (LGPL) version 3 or later.
Non-essential programs in this repository, i.e.: tests, examples, and benchmarks, are covered under different terms.
Please mind that each source file contains a copyright notice indicating the details.