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.