Crate tis_100

Crate tis_100 

Source
Expand description

A TIS-100 emulator.

§Example

use tis_100::save::parse_save;
use tis_100::machine::Sandbox;

// This program reads the value from the console and simply passes it to the console output.
let src = "@1\nMOV UP DOWN\n@5\nMOV UP DOWN\n@9\nMOV UP RIGHT\n@10\nMOV LEFT DOWN\n";

let save = parse_save(src).unwrap();
let mut sandbox = Sandbox::from_save(&save);

sandbox.write_console(42);

for _ in 0..5 {
    sandbox.step();
}

assert_eq!(sandbox.read_console(), Some(42));

Modules§

core
Basic types for parsing and interpreting TIS-100 assembly code.
image
Constructs for generating images using the TIS-100.
io
Constructs for passing messages between TIS-100 execution nodes.
lex
Functions for splitting TIS-100 assembly code into lexemes.
machine
TIS-100 emulator implementations.
node
Types of nodes used in the TIS-100.
parse
Functions for parsing TIS-100 assembly code into instructions.
save
Functions for loading TIS-100 assembly code from save files.
spec
Constructs for specifying TIS-100 puzzles.