rgy

Crates.iorgy
lib.rsrgy
version0.1.0
sourcesrc
created_at2019-12-14 10:54:35.765554
updated_at2019-12-14 10:54:35.765554
descriptionNo-std Rust GameBoy emulator library
homepagehttps://github.com/yushiomote/rgy
repositoryhttps://github.com/yushiomote/rgy
max_upload_size
id189331
size375,253
Yushi OMOTE (YushiOMOTE)

documentation

https://docs.rs/rgy

README

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).
Commit count: 198

cargo fmt