melon/
lib.rs

1#![deny(missing_docs)]
2
3//! A library for creating retro computing platforms
4//!
5//! # Introduction
6//! `melon` is like a virtual 16bit CPU. When building a retro computing platform e.g. a gaming
7//! console or old computer architecture, `melon` takes care of handling basic parts like stack
8//! management, calls, memory management and exception handling. Its most common interface, the
9//! [System][system] trait makes it possible to not only implement the CPU into any platform but
10//! makes it also really easy to extend its functionality.
11//!
12//! The [Program][program] struct takes care of loading and saving programs written for an
13//! implementation of the `melon` backend. `melon` roms are gzipped msgpack files.
14//!
15//! [system]: trait.System.html
16//! [program]: struct.Program.html
17
18#[macro_use]
19extern crate failure;
20
21mod consts;
22mod debugger;
23mod instruction;
24mod program;
25mod system;
26pub mod typedef;
27mod vm;
28
29pub use crate::debugger::*;
30pub use crate::instruction::*;
31pub use crate::program::*;
32pub use crate::system::*;
33pub use crate::vm::*;