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/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).
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;