CHIP-Ahoyto πͺ
CHIP-8 emulator written in Rust π¦.
The goal of this project is purely experimental and a learning tool for rust.
The work of this emulator was inspired/started by jc-chip8.
You can check a working version of the emulator at chip-ahoyto.joao.me
- Performance π
- Separation of concerns π
- Simplicity π
- Compatibility πͺ
- Drag and drop support for ROMs
- Pallet switching
- Visual diagnostics
- Variable CPU frequency
- Multiple engine implementations (classic and neo)
- Full compliant with test CHIP-8 ROMs
- RAM snapshot saving and loading
- WebAssembly support π
Provider | Stable | URL |
---|---|---|
Cloudflare | True |
chip-ahoyto.joao.me |
Netlify | True |
chip-ahoyto.netlify.app |
Cloudflare | True |
chip-ahoyto.joao.me |
Cloudflare | True |
chip-ahoyto.pages.dev |
Cloudflare | True |
prod.chip-ahoyto.pages.dev |
Cloudflare | True |
stable.chip-ahoyto.pages.dev |
Cloudflare | False |
master.chip-ahoyto.pages.dev |
Name | Description |
---|---|
quirks |
Allows CHIP-8 quirks runtime evaluation, comes at a performance penalty. |
cargo build
cargo install wasm-pack
wasm-pack build --release --target=nodejs -- --features wasm
cargo install wasm-pack
wasm-pack build --release --target=web --out-dir=frontends/web/lib -- --features wasm
cd frontends/web
npm install && npm run build
cd dist && python3 -m http.server
And... yes this is the real inspiration behind the emulator's name:
Many articles and websites helped me in this quest to build the emulator these are some of them.
- Guide to making a CHIP-8 emulator
- Writing a CHIP-8 emulator with Rust and WebAssembly
- Wikipedia - CHIP-8
- itch.io - OctoJam 6
- CHIP-8 Archive
CHIP-Ahoyto is currently licensed under the Apache License, Version 2.0.