From 8d4dd44f4d2b1d2737827db26ebbf2c5ecbb81bc Mon Sep 17 00:00:00 2001 From: Yushi OMOTE Date: Sat, 14 Dec 2019 19:06:19 +0900 Subject: [PATCH 1/2] 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). From b4d483eafa9edb56f9948d0957e70ffdbc1de835 Mon Sep 17 00:00:00 2001 From: Yushi OMOTE Date: Sat, 14 Dec 2019 19:37:22 +0900 Subject: [PATCH 2/2] No need to build readme --- .github/workflows/rust.yml | 12 +++--------- core/Cargo.toml | 3 +-- core/src/lib.rs | 4 ---- 3 files changed, 4 insertions(+), 15 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 108b877..6169efd 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -21,14 +21,8 @@ jobs: toolchain: nightly override: true - name: Build (nightly) - run: | - cd core - cargo build --verbose --features readme + run: cargo build --verbose - name: Build examples (nightly) - run: | - cd core - cargo build --verbose --examples --features readme + run: cargo build --verbose --examples - name: Test (nightly) - run: | - cd core - cargo test --verbose --features readme + run: cargo test --verbose diff --git a/core/Cargo.toml b/core/Cargo.toml index 4ee4b15..810657c 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -9,7 +9,7 @@ homepage = "https://github.com/yushiomote/rgy" repository = "https://github.com/yushiomote/rgy" documentation = "https://docs.rs/rgy" license = "MIT" -readme = "README.md" +readme = "../README.md" [dependencies] lazy_static = { version = "1.2", features = ["spin_no_std"] } @@ -29,4 +29,3 @@ core_affinity = "0.5" [features] default = [] color = [] -readme = [] diff --git a/core/src/lib.rs b/core/src/lib.rs index f2e2b16..3d4ce07 100644 --- a/core/src/lib.rs +++ b/core/src/lib.rs @@ -104,12 +104,8 @@ //! ``` #![no_std] -#![cfg_attr(feature = "readme", feature(external_doc))] #![warn(missing_docs)] -#[cfg_attr(feature = "readme", doc(include = "../../README.md"))] -type _Doctest = (); - extern crate alloc; mod alu;