rim-buei / gameboy

:video_game: Game Boy emulator written in Rust

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Travis-CI

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! 😆). This implementation might help you to learn basics of Game Boy spec.

Project Status

  • Still work in progress
  • Able to run/play some Game Boy roms

Screenshot Gallery

image image

image image

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

Setup cargo-web

$ 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).

image image

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

About

:video_game: Game Boy emulator written in Rust

License:MIT License


Languages

Language:Rust 99.6%Language:HTML 0.4%