#z80 #cpu #retro #emulator #clock #8-bit #microprocessor

no-std z80emu

ZiLOG Z80 microprocessor emulation library

10 breaking releases

0.11.0 Feb 25, 2024
0.9.0 Jul 22, 2023
0.8.0 Dec 16, 2022
0.7.0 Oct 4, 2021
0.1.0 Nov 14, 2019

#18 in Emulators

Download history 2/week @ 2024-02-01 5/week @ 2024-02-08 10/week @ 2024-02-15 111/week @ 2024-02-22 47/week @ 2024-02-29 20/week @ 2024-03-07 11/week @ 2024-03-14 9/week @ 2024-03-21 29/week @ 2024-03-28 16/week @ 2024-04-04

69 downloads per month
Used in 8 crates (2 directly)

LGPL-3.0-or-later

415KB
7.5K SLoC

Z80 emu

Crate Docs Build Status Coverage Status Minimum rustc version License

z80emu is a Rust library which provides building blocks for emulators based on Zilog's Z80 CPU.

  _______
=|       |=
=|       |=                               
=|       |= ---------------- =[   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 the side effects of those emulators.

Please see the documentation for a full introduction.

The repository also contains an example implementation of a complete emulator program.

Another example built on top of z80emu is the SPECTRUSTY library that focuses on "ZX Spectrum" emulators.

Rust Version Requirements

z80emu requires Rustc version 1.66 or greater.

Licensing

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.

Dependencies

~0.7–1.3MB
~30K SLoC