A Chip-8 emulator built using Rust.
$ cargo run --release --bin chimp_desktop roms\PUZZLE
You can find the static host here.
Alternatively you can build it from the source:
- install
wasm-pack
$ cargo install wasm-pack
- while being in
chimp_wasm
directory, run:
$ wasm-pack build --target web
that will produces a pkg
folder. we need 2 files from that folder:
- `chimp_wasm.js`
- `chimp_wasm_bg.wasm`
We have a symbolic link in the web
folder for them, so there is no need to copy them.
- server the
web
folder using python:
$ python -m http.server --directory web
or use miniserve
$ miniserve web
- (optional) If we want to add more roms to the web dropdown list instead of using the browse version. First, we need put them inside the
web/roms
directory. Then, while we are inside theweb/roms
directory, we run:
$ python ../../generate_rom_list.py -d .
This will generate a new rom_list.txt
which will be read from the javascript and auto-populate the dropdown list.
My main reference is Austin Bricker's Introduction to Chip-8 book.
But for my previous attempts I used these references:
- Chip-8 Wikipedia Entry.
- Cowgod's Chip-8 Technical Reference.
- Mat Mikolay's Chip-8 Technical Reference.
The game packs are from Zophar's Domain.