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

Goals

Features

Deployments

| Provider | Stable | URL | | --------- | ------- | -------------------------------------------------------------------- | | Netlify | True | chip-ahoyto.netlify.app | | Cloudfare | True | chip-ahoyto.pages.dev | | Cloudfare | True | prod.chip-ahoyto.pages.dev | | Cloudfare | False | master.chip-ahoyto.pages.dev |

Crate Features

| Name | Description | | -------- | ------------------------------------------------------------------------ | | quirks | Allows CHIP-8 quirks runtime evaluation, comes at a performance penalty. |

Build

WASM for Node.js

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

WASM for Web

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

Reason

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

Chips Ahoy

Inspiration

Many articles and websites helped me in this quest to build the emulator these are some of them.

Documentation

Articles

License

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