1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#![cfg_attr(not(feature = "std"), no_std)]
//! This crate represents the shared logic of `olympia` across
//! all frontends.
//!
//! The best modules to start looking in are the [`gameboy`] module which contains
//! the emulation core, and [`rom`] which contains the logic for parsing ROMs
//! and handling gameboy cartridge memory controllers.
//!
//! By default, it is `no_std` compatible, and has the following optional features:
//!
//! * `std` - This feature can be enabled in a `std` environment to enable niceties
//!   like `Display`/`Error` implementations on error types.
//! * `disassembler` - This feature can be enabled in any environment to enable support
//!   for dissambling gameboy instructions.
//!
//! [`gameboy`]: gameboy/index.html
//! [`rom`]: rom/index.html

#[macro_use]
extern crate alloc;

pub use olympia_core::address;
pub use olympia_core::disasm;
pub use olympia_core::instructions;
pub use olympia_core::registers;

pub mod debug;
pub mod events;
pub mod gameboy;
pub mod instructionsn;
pub mod remote;
pub mod rom;