Gameboy
Full featured Cross-platform GameBoy emulator. Forever boys!.
You can start a game with the following command, here with a built-in game "Boxes" as an example:
$ cargo run --release -- "./res/boxes.gb"
The following options are supported:
-a, --enable-audio Enable audio, default is false
-x, --scale-factor Scale the video by a factor of 1, 2, 4, or 8
Gameboy is developed by Rust, and fully tested on Windows, Ubuntu and Mac.
Control
_n_________________
|_|_______________|_|
| ,-------------. |
| | .---------. | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | `---------' | |
| `---------------' |
| _ GAME BOY |
Up | _| |_ ,-. | ----> Z
Left/Right <--- ||_ O _| ,-. "._,"|
Down | |_| "._," A | ----> X
| _ _ B |
| // // |
| // // \\\\\\ | ----> Enter/BackSpace
| ` ` \\\\\\ ,
|________...______,"
Tests
Thanks for Blargg's Gameboy hardware test ROMs, I can simply verify my code. Run tests by:
$ cargo run --example blargg
Test Name | Result |
---|---|
cpu_instrs | |
instr_timing |
Reference
- Gbdev
- Open Game Boy Documentation Project
- LR35902 Opcodes
- LR35902 Opcodes Table
- Game Boy Memory Map
- Game Boy Technical Data
- awesome-gbdev
- List of MBC roms
- Roms download
Licenses
WTFPL.