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! 😆). This implementation might help you to learn basics of Game Boy spec.
- Still work in progress
- Able to run/play some Game Boy roms
- Rust
- cargo-web
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
$ rustup default nightly
$ rustup target add wasm32-unknown-unknown
$ cargo install cargo-web
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
.
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 😞
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