Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/royaltm/rust-z80emu
A minimalistic Z80 Cpu emulation library in Rust.
https://github.com/royaltm/rust-z80emu
8-bit emulator library retro rust z80
Last synced: 2 months ago
JSON representation
A minimalistic Z80 Cpu emulation library in Rust.
- Host: GitHub
- URL: https://github.com/royaltm/rust-z80emu
- Owner: royaltm
- License: lgpl-3.0
- Created: 2019-11-14T10:14:19.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-02-25T19:42:17.000Z (10 months ago)
- Last Synced: 2024-04-25T19:21:26.958Z (8 months ago)
- Topics: 8-bit, emulator, library, retro, rust, z80
- Language: Rust
- Homepage: https://docs.rs/z80emu
- Size: 427 KB
- Stars: 20
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: COPYING
Awesome Lists containing this project
README
Z80 emu
=======[![Crate][Crate img]][Crate Link]
[![Docs][Docs img]][Docs Link]
[![Build Status][Build img]][Build Link]
[![Coverage Status][Coverage img]][Coverage Link]
[![Minimum rustc version][rustc version img]][rustc version link]
[![License][License img]][License Link]`z80emu` is a [Rust](https://www.rust-lang.org) library which provides building blocks for emulators based on
Zilog's [Z80 CPU](https://en.wikipedia.org/wiki/Zilog_Z80).```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 the side effects of those emulators.
Please see the [documentation][Docs Link] for a full introduction.
The repository also contains an [example implementation](examples/ral1243) of a complete emulator program.
Another example built on top of `z80emu` is the [SPECTRUSTY](https://royaltm.github.io/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.
[Crate Link]: https://crates.io/crates/z80emu
[Crate img]: https://img.shields.io/crates/v/z80emu.svg
[Docs Link]: https://docs.rs/z80emu
[Docs img]: https://docs.rs/z80emu/badge.svg
[Build Link]: https://github.com/royaltm/rust-z80emu/actions/workflows/ci.yml
[Build img]: https://github.com/royaltm/rust-z80emu/actions/workflows/ci.yml/badge.svg?branch=master
[rustc version link]: https://github.com/royaltm/rust-z80emu#rust-version-requirements
[rustc version img]: https://img.shields.io/badge/rustc-1.66+-lightgray.svg
[License Link]: https://www.gnu.org/licenses/#LGPL
[License img]: https://img.shields.io/crates/l/z80emu
[Coverage Link]: https://coveralls.io/github/royaltm/rust-z80emu?branch=master
[Coverage img]: https://coveralls.io/repos/github/royaltm/rust-z80emu/badge.svg?branch=master