Skip to content

Latest commit

 

History

History
33 lines (24 loc) · 888 Bytes

README.md

File metadata and controls

33 lines (24 loc) · 888 Bytes

👾 chip8-rs 👾

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.

Demo

Unfortunately audio was not captured, so you'll have to trust that the beeps work :)

chip8.demo.mov

Run

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

Tech

The desktop build uses SDL2 for windowing/graphics, input, and sound. The work in progress WebAssembly build uses an HTML canvas and browser primitives.