Skip to content
Snippets Groups Projects

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.

Goals

  • Performance 🏎️
  • Separation of concerns 🖖
  • Simplicity 😀
  • Compatibility 🪛

Features

  • 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 🌐

Build

WASM for Node.js

cargo install wasm-pack
wasm-pack build --release --target=nodejs -- --features wasm

WASM for Web

cargo install wasm-pack
wasm-pack build --release --target=web --out-dir=examples/web/lib -- --features wasm
cd examples/web
python3 -m http.server

Reason

And... yes this is the real inspiration behind the emulator's name:

Chips Ahoy

Inspiration

License

CHIP-Ahoyto is currently licensed under the Apache License, Version 2.0.