Skip to content
forked from YushiOMOTE/rgy

No-std cross-platform Rust GameBoy emulator library

Notifications You must be signed in to change notification settings

willemolding/rgy

 
 

Repository files navigation

rgy

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

Latest version Documentation License Actions Status

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.

  • stickboy runs a GameBoy emulator on Macbook Pro (UEFI).
  • biboy runs a GameBoy emulator on BIOS PC.
  • waboy runs a GameBoy emulator on web browsers (wasm).

About

No-std cross-platform Rust GameBoy emulator library

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%