Last updated:
0 purchases
boytacean 0.10.13
Boytacean
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... 🕹️
Features
Game Boy (DMG) and Game Boy Color (CGB) emulation
Simple navigable source-code
Web, SDL and Libretro front-ends
Audio, with a pretty accurate APU
Serial Data Transfer (Link Cable) support
Game Boy Printer emulation
Support for multiple MBCs: MBC1, MBC3, and MBC5
Save state support using the BESS Specification for cross-compatibility with other emulators
Cheat support using Game Genie and GameShark codes
Variable CPU clock speed
Accurate PPU - passes dmg-acid2 and cgb-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
Rumble emulation and haptic feedback
Cool bespoke display palettes built by TheWolfBunny64.
Fullscreen browser mode
Debug mode - VRAM and registers
What's still missing...
Low-level cycle accurate system emulation
Game Boy Camera emulation
NetPlay gaming support
Deployments
Provider
Stable
URL
Cloudflare
True
boytacean.joao.me
Cloudflare
True
boytacean.pages.dev
Cloudflare
True
prod.boytacean.pages.dev
Cloudflare
True
stable.boytacean.pages.dev
Cloudflare
False
master.boytacean.pages.dev
Build
Library
cargo build
Python Library
pip install .
or
python setup.py install
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
Web front-end
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.
Configuration
You can use some GET parameters to control the initial behavior 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 rom_url.
fullscreen
Boolean
If the emulator should start in fullscreen mode.
fs
Boolean
The same as fullscreen.
debug
Boolean
If the "debugger" should start visible and information shown in verbose mode.
verbose
Boolean
If information should be shown in verbose mode.
keyboard
Boolean
If the on-screen keyboard should start visible.
palette
String
The name of the palette to be set at startup( eg: christmas, hogwards, mariobros, etc.).
Palettes
The palettes offered in the web version were provided by TheWolfBunny64.
Inspiration
To get some information about the resources that inspired me through the emulation creation journey check Inspiration.
Contributing
Love Gameboy emulation? Want to contribute to Boytacean? That's awesome! Your contributions are what make the open-source community such an amazing place to learn, inspire, and create.
To get started, please take a look at our Contributing Guidelines. Whether you're fixing bugs, adding new features, or helping with documentation, every contribution is valuable and greatly appreciated!
Don't hesitate to reach out if you have any questions. Join us in making Boytacean the best Gameboy emulator out there!
License
Boytacean is currently licensed under the Apache License, Version 2.0.
Build Automation
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.