Game Boy
A Game Boy emulator written in Rust.
This project doesn't plan to support Game Boy Color's features, but instead aims to keep the implementation simple and accurate (hopefully!
Project Status
- Still work in progress
- Able to run/play some Game Boy roms
Screenshot Gallery
How to Setup
Requirements
- Rust
- cargo-web
Setup Rust
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
$ rustup default nightly
$ rustup target add wasm32-unknown-unknown
cargo-web
Setup $ cargo install cargo-web
How to Run
Clone this repo and launch cargo-web
.
$ git clone https://github.com/rim-buei/gameboy.git
$ cd gameboy
$ cargo web start --bin wasm --target wasm32-unknown-unknown
Then, browse http://localhost:8000
.
Emulation Accuracy
Currently, this emulator passes Blargg's CPU instruction test cases (cpu_instrs
) and CPU instruction timing test cases (instr_timing
).
Meanwhile, cannot pass the other test cases
Known Issues / Missing Features
There are still known issues and missing features:
- No APU support
- No save file support
- No link cable support
- Support for MBC 2/3 are missing