From 8d4dd44f4d2b1d2737827db26ebbf2c5ecbb81bc Mon Sep 17 00:00:00 2001 From: Yushi OMOTE Date: Sat, 14 Dec 2019 19:06:19 +0900 Subject: [PATCH] Update readme --- README.md | 41 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ee48f17..9342df4 100644 --- a/README.md +++ b/README.md @@ -7,5 +7,42 @@ No-std cross-platform Rust GameBoy emulator library. Rust GameboY (RGY, or Real [![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT) [![Actions Status](https://github.com/YushiOMOTE/rgy/workflows/Rust/badge.svg)](https://github.com/YushiOMOTE/rgy/actions) -![demo](https://raw.github.com/wiki/YushiOMOTE/gbr/media/demo.gif) -![screens](https://raw.github.com/wiki/YushiOMOTE/gbr/media/demo_screens.jpg) + + + +### Usage + +Once you implement OS-specific part, i.e. `Hardware` trait, you will get a GameBoy emulator for your environment. + +```rust +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 +``` + +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](https://github.com/yushiomote/stickboy) runs a GameBoy emulator on Macbook Pro (UEFI). +* [biboy](https://github.com/yushiomote/biboy) runs a GameBoy emulator on BIOS PC. +* [waboy](https://github.com/yushiomote/waboy) runs a GameBoy emulator on web browsers (wasm).