Skip to content
Snippets Groups Projects

Boytacean

A Game Boy emulator that is written in Rust 🦀.

This emulator has been written for educational purposes and shouldn't be taken to seriously. But yeahh it plays games, which is cool... 🎮

Features

  • Supports Game Boy (DMG) emulation
  • Simple navigable source-code
  • Web and SDL front-ends
  • Fullscreen mode
  • Support for multiple MBCs: MBC1, MBC2, MBC3, and MBC5
  • Variable CPU clock speed
  • Debug mode: VRAM and registers

Deployments

Provider Stable URL
Cloudfare True boytacean.pages.dev
Cloudfare True prod.boytacean.pages.dev
Cloudfare True stable.boytacean.pages.dev
Cloudfare False master.boytacean.pages.dev

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
npm install && npm run build
cd dist && python3 -m http.server

Web version

You can use some GET parameters to control the initial behaviour of the emulator.

Parameter Type Description
rom_url String The URL from which the initial ROM is going to be loaded, should support CORS.
url String The same as url.
fullscreen Boolean If the emulator should start in fullscreen mode.
debug Boolean If the "debugger" should start visible.
keyboard Boolean If the on screen keyboard should start visible.

Inspiration

Documentation

ROMs

Emulators

Videos

Other

License

Boyacian is currently licensed under the Apache License, Version 2.0.