rgy
rgy copied to clipboard
No-std cross-platform Rust GameBoy emulator library
rgy
No-std cross-platform Rust GameBoy emulator library. Rust GameboY (RGY, or Real GaY).


Usage
Once you implement OS-specific part, i.e. Hardware
trait, you will get a GameBoy emulator for your environment.
struct Hardware;
// 1. Implement `rgy::Hardware`.
impl rgy::Hardware for Hardware {
...
}
// 2. Call `rgy::run`.
fn main() {
let cfg = Config::new();
let rom = include_bytes!("rom,gb");
rgy::run(cfg, &rom, Hardware);
}
Example
$ cargo run --example pc <a ROM file>
The example runs the GameBoy emulator in UNIX environment. It depends on libasound2-dev
and libxcursor-dev
.
The ROM files can be easily downloaded from the Internet.
Projects
The following projects use this library to run a GameBoy emulator.