A cross-platform CHIP-8 interpreter, featuring a simple UI (powered by egui). The following platforms are supported:
- Linux
- Windows
- macOS
- Web (parially)
The interpreter fully implements:
- the original COSMAC VIP CHIP-8 instruction set.
- the SUPER-CHIP 1.1 extension
I might implement support for other variants (for example, XO-CHIP).
One of my main goals with this project is for it to be as "correct" as possible, so should you discover any issues with this implementation, please feel free to open an issue.
The project can be built using the provided Nix flake.
# build
nix build github:nikoof/octarou
./result/bin/octarou --help
# ...or run it directly
nix run github:nikoof/octarou
Building for Windows is done via cross-compilation with Nix on a Linux host.
nix build github:Nikoof/octarou#x86_64-pc-windows-gnu
The resulting binary is at result/bin/octarou.exe
.
Alternatively, you can clone the repo and compile the project natively on all major platforms, provided you have all dependencies for egui installed.
git clone https://github.com/nikoof/octarou && cd octarou
cargo run --release
This project would not have been possible without Tobias Langhoff's Guide and Timendus' Test Suite. I am extremely grateful to both authors for these amazing resources.
Resources used:
- Tobias Langhoff's Guide
- Timendus' Test Suite and Documentation
- CHIP-8 Research Facility
- Octo Documentation
- Revival Studios ROMs
- Gulrak's Opcode Table
- SUPER-CHIP 1.1 Documentation (Erik Bryntse)
Copyright (c) Nicolas-Ștefan Bratoveanu, 2023-2024, licensed under the EUPL-1.2-or-later.