tihle (pronounced like "tile") is a freely usable emulator of the TI-83 Plus graphing calculator, and maybe other calculators in the future.
Try the in-browser demo to see what it can do, download a release to get a copy to run on your computer, read more about why it exists, or continue on in this document to learn how to use or modify it.
tihle currently supports loading 8xp program images, which get loaded into
RAM and executed directly. You can specify the path to a file on the command
line when launching it (tihle phoenix.8xp
) or drag-and-drop a file onto
the display window after launching the emulator.
You can control logging by setting the RUST_LOG
environment variable,
which can set what messages are printed to the console. A value like
RUST_LOG=warn
will show only warnings and errors; refer to the logging
library documentation
for details.
Not all of the calculator keys are currently bound to key bindings so you can press them on your keyboard, but the basics are configured. The arrow keys are mapped to the arrows on the calculator, Shift is 2nd and Ctrl is Alpha. Numbers, +, - *, / and digits are mapped to the keyboard keys with those labels (they're pretty obvious), as is Enter (or Return) mapped to the calculator's enter key. Backspace is mapped to Clear.
Compiling tihle requires a Rust toolchain, C toolchain (for building the CPU core), and spasm (to build the OS image).
Use cargo
to build the program; in the simplest form:
cargo build --bins
will emit a binary to target/debug/
that you can run.
You can also turn on features in some of the libraries that the program uses, particularly around getting a copy of SDL. Unless you're developing tihle, it may also be useful to create a release build with more optimizations (though this compiles slower too). Try this invocation to make a binary with no external dependency on SDL and optimizations:
cargo build --bins --release --features=sdl2/static-link,sdl2/bundled
This binary will be output to target/release
.