Skip to content

theodoreleebrant/gbrust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gbrust: a Gameboy emulator built in Rust

This is a Gameboy emulator, built in Rust with sdl2 for sound processing. Made this with a friend solely to learn Rust and emulation.

Requirements

You will need to install Rust, as well as sdl2 with headers.
Instruction to install Rust can be seen at the Rust installation guide
Instruction to install sdl2:

Homebrew

brew install sdl2

Or using apt

sudo apt-get install libsdl2-dev libsdl2-gfx-dev

Run the program

Running a gameboy game is done through the following command

cargo build --release
cargo run filename

For example:

cargo build --release
cargo run somegame.gb

Please obtain your ROMs legally.

Controls

This emulator takes in input from the following keyboard keys: Directional keys: Arrow Keys (Up, Down, Left, Right) A button: Spacebar B button: Left Control Start button: Enter Select button: Right Shift

Credits

This project is indebted to the numerous documentations as well as other similar projects. In particular, we have taken reference from:
Awesome Gameboy Documentation List - One-stop documentation, has most of the below inside.
Pandocs - "The single, most comprehensive technical reference to Game Boy available to the public".
Gameboy Complete Technical Reference - Nicely formatted reference to start building the emulator.
Nintendo's Gameboy Programming Manual - The official Nintendo manual for Gameboy / GBC / GBA for game makers.
DMG Memory Map - A nice visual reference for map addresses in the Gameboy
opcode table - Also a nice visual for opcode table
Natesh's Dev Blog - Used it to understand LCD controller for the Gameboy

Other Gameboy emulators written in Rust:
by simias
by ev-wilt
by dimitribobkov

Other projects: Blargg's test suite - Used for testing components of the Gameboy.
Yet another CHIP-8 Rust Emulator - Used to model the structure of this emulator

About

Gameboy emulator in Rust

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published