gbemu-rs is a toy Game Boy emulator written in Rust with the purpose of learning about writing emulators and Rust at the same time. It's pretty rudimentary but it can run (at least) Tetris and Super Mario Land.
gbemu-rs.webm
- Clone the repo
git clone https://github.com/iaguis/gbemu-rs
- Build
cargo build --release
- Run
./target/release/gbemu-rs $GAME_BOY_ROM
Key | Game Boy button |
---|---|
A | B |
S | A |
G | Start |
H | Select |
Up/Down/Left/Right | Up/Down/Left/Right |
- CPU
- All instructions correct (Passes Blargg
cpu_instrs
tests) - Timings are not accurate
- All instructions correct (Passes Blargg
- GPU
- Background
- 8x8 sprites
- Keypad
- Timer
- MMU
- Games with no MBC (e.g. Tetris)
- Games with MBC1 (e.g. Super Mario Land)
- Serial
- Rudimentary debugger (gbdb)
- Refactor and clean up the code
- Audio
- GPU
- Window support
- 8x16 sprite support
- Savegames
- MBC2+
- Game Boy Color support
- Fix some bugs