Cross-platform implementation of the original Chip-8 interpreter.
Find a file
2026-07-16 12:44:47 +02:00
emulator chore: work on keypad 2026-07-16 12:44:47 +02:00
libchip8 chore: work 2026-06-12 11:43:04 +02:00
.gitignore update 2025-08-26 19:23:57 +02:00
Cargo.lock chore: work 2026-06-12 11:42:39 +02:00
Cargo.toml chore: work 2026-06-12 11:42:39 +02:00
README.md chore: work on keypad 2026-07-16 12:44:47 +02:00

Rust Chip-8

Cross-platform original Chip-8 interpreter.

Installation

  1. Clone the repository
  2. Build from source with cargo build --release
  3. The resulting binary will be in ./target/release/emulator

Usage

Point the emulator to a ROM path and it should work.

emulator ./path/to/my/ROM.ch8

For more detailed help, run emulator --help.

Custom configuration

You can see the configuration options by generating a configuration file.

emulator generate-config ./emulator-config.toml

Architecture

The codebase is split into 2 crates:

  • libchip8 - core reusable Chip-8 logic
  • emulator - GUI integration with libchip8 (main application)

Testing

https://github.com/Timendus/chip8-test-suite test suite was used for testing.

Test Status
Chip-8 logo
IBM logo
corax+
flags
quirks
keypad
beep