30 releases (6 breaking)
|0.7.2||Mar 4, 2023|
|0.6.12||Feb 21, 2023|
|0.6.6||Dec 4, 2022|
|0.6.5||Nov 27, 2022|
|0.3.0||Jul 10, 2022|
#19 in Emulators
179 downloads per month
A Game Boy emulator that is written in Rust 🦀.
This emulator has been written for educational purposes and shouldn't be taken too seriously. But yeahh it plays most Game Boy games, which is cool... 🕹️
- Game Boy (DMG) emulation
- Simple navigable source-code
- Web and SDL front-ends
- Audio, with a pretty accurate APU
- Support for multiple MBCs: MBC1, MBC2, MBC3, and MBC5
- Variable CPU clock speed
- Accurate PPU - passes dmg-acid2 tests
For the Web front-end...
- Mobile first experience
- Transparent RAM saving using Web Storage API
- GamePad support using Web Gamepad API
- Unobstructive and effective on-screen GamePad
- Cool bespoke display palettes built by TheWolfBunny64.
- Fullscreen browser mode
- Debug mode - VRAM and registers
- Game Boy Color (GBC) emulation
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=frontends/web/lib -- --features wasm cd frontends/web npm install && npm run build cd dist && python3 -m http.server
The Web front-end makes use of EmuKit which is a UI toolkit that provides the required infrastructure for the creation of interfaces for emulation in a Web context.
You can use some GET parameters to control the initial behavior of the emulator.
||String||The URL from which the initial ROM is going to be loaded, should support CORS.|
||String||The same as
||Boolean||If the emulator should start in fullscreen mode.|
||Boolean||The same as
||Boolean||If the "debugger" should start visible.|
||Boolean||If the on-screen keyboard should start visible.|
||String||The name of the palette to be set at startup( eg:
The palettes offered in the web version were provided by TheWolfBunny64.
To get some information about the resources that inspired me through the emulation creation journey check Inspiration.
Boytacean is currently licensed under the Apache License, Version 2.0.