Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hellebenjamin/remu80
Simple Z80 emulator written in C++
https://github.com/hellebenjamin/remu80
cpp emulator z80 z80-emulator
Last synced: about 15 hours ago
JSON representation
Simple Z80 emulator written in C++
- Host: GitHub
- URL: https://github.com/hellebenjamin/remu80
- Owner: HelleBenjamin
- License: gpl-3.0
- Created: 2024-12-01T22:26:15.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2025-01-25T22:10:43.000Z (8 days ago)
- Last Synced: 2025-01-25T23:25:10.104Z (8 days ago)
- Topics: cpp, emulator, z80, z80-emulator
- Language: C++
- Homepage:
- Size: 979 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
- License: LICENSE
Awesome Lists containing this project
README
# Remu80 - Retro Z80 Emulator
## THIS PROJECT IS A WORK IN PROGRESS. SOME FEATURES MAY BE BROKEN OR MISSING.
Remu80 is a simple Z80 emulator written in C++. Its goal is to be a fully functional emulator of the Z80 instruction set.
It also comes with a compiler for the ZC80 language. ZC80 is a C-like language, which is almost fully compatible with C(with minor exceptions) thus making it easy to port programs from C to ZC80.## Features
- Z80 instruction set (undocumented instructions will be added later)
- Same registers as the original Z80
- Port ```0x00``` is used for standard input and output
- Watchdog for detecting infinite loops, can be disabled using the ```-w``` flag
- ACIA 6850 support (Work in progress)## How to use
1. Compile the project using the command ```make```.
2. Run the emulator using the command ```./main -s ```. For debugging purposes, run with the ```-d``` flag.
3. The program will be loaded into memory and will be executed.## Options
- ```-s``` - Source program, load and run
- ```-d``` - Enable debugging mode
- ```-t``` - Run tests
- ```-p``` - Print memory after execution
- ```-r``` - Print state after execution
- ```-w``` - Disable watchdog## License
This project is released under the [GPL V3](https://www.gnu.org/licenses/gpl-3.0.en.html) license