Experimental Gameboy Emulator implementation in Rust.
This emulator is not production ready and mainly a emulation exploration project. At this point it is capable of processing the Original Gameboy Bootstrap ROM.
Test No. | Result | Remark |
---|---|---|
01-special | ✅ | Passed |
02-interrupts | ✅ | Passed |
03-op sp,hl | ✅ | Passed |
04-op r,imm | ✅ | Passed |
05-op rp | ✅ | Passed |
06-ld r,r | ✅ | Passed |
07-jr,jp,call,ret,rst | ✅ | Passed |
08-misc instrs | ✅ | Passed |
09-op r,r | ✅ | Passed |
10-bit ops | ✅ | Passed |
11-op a,(hl) | ✅ | Passed |
Passing --debug
starts a simple debugger,
this feature is WIP and might just not work.
romoulade 0.1.0
gcarq <[email protected]>
Experimental GB Emulator
USAGE:
romoulade [FLAGS] <ROM>
FLAGS:
--debug Enable debugger
-h, --help Prints help information
--no-fps-limit Disable fps limit for debugging purposes
-V, --version Prints version information
ARGS:
<ROM> Path of the ROM to load
$ git clone https://github.com/gcarq/romoulade
$ emerge media-libs/libsdl2 # pacman -S sdl2; apt install libsdl2-dev
$ cd romoulade
$ cargo run -- <path_to_rom>
This repository is open to contributions. The code should follow the Rust style guideline.
- Rust
- SDL2-2.0
- ROM banking: Implement MBC2+
- Increase instruction test coverage
- Finish Pixel Processing Unit
- Implement Sound Processing Unit
- Pass Test ROMs
- ...