An emulator for the Chip-8, written in Rust.
The desktop build can be found in the chip8_sdl
crate, the work in progress WASM build can be found in the chip8_wasm
crate, and the core emulator logic is in the chip8_core
crate.
Unfortunately audio was not captured, so you'll have to trust that the beeps work :)
chip8.demo.mov
nix develop # or direnv allow
# get roms
git submodule init
git submodule update
# run desktop build with sdl
cd chip8-sdl
cargo run ../roms/games/Space\ Invaders\ \[David\ Winter\].ch8
# wip: run wasm build
cd chip8-wasm
wasm-pack build
The desktop build uses SDL2 for windowing/graphics, input, and sound. The work in progress WebAssembly build uses an HTML canvas and browser primitives.