A simple, fast, and full-featured Chip-8 emulator built in Rust using the raylib library for graphics and clap for command-line argument parsing.
-
Full Chip-8 instruction set emulation.
-
Real-time drawing using the
raylibwindowing and graphics library. -
Graceful error handling for file operations and invalid opcodes via
anyhow. -
Clean command-line interface using
clapfor easy ROM loading. -
Accurate timer and sound timer decrement logic.
To build and run this emulator, you need:
-
Rust and Cargo: The official Rust toolchain.
-
Raylib Dependencies: Since this project uses the
raylibcrate, you may need system-level dependencies forraylib's underlying graphics framework (like common C/C++ build tools and necessary libraries for X11/Wayland on Linux, or development libraries on macOS/Windows).
Clone the repository and build the project using Cargo. Building in release mode is recommended for performance.