/gameboy

A GAMEBOY emulator written in Rust.

Primary LanguageRust

GameBoy

A GAMEBOY emulator written in Rust.

Getting started

# SDL2 is the only dependency not fetched as a crate
brew install sdl2 sdl2_image sdl2_gfx
# ^ Mac OS-specific
# See https://github.com/Rust-SDL2/rust-sdl2 for Windows, Linux instructions

cargo run
# Or
cargo run -r tetris.gb # Optional: Defaults to running tetris.gb

cargo doc --open # To see docs in your browser

Controls

A = Z
B = X
Start = Enter
Select = Right shift
Up, Down, Left, Right (What you'd expect)

Screenshots

Features

  • CPU (implemented enough to play Tetris but only tested with Tetris)
  • PPU (no double-size sprite support yet)
  • MMU (no memory bank switching yet)
  • Input
  • Runs at 60fps :)
  • No unsafe blocks
  • Sound
  • Serial port