TI Tools is a CLI tool designed for converting 8xp files (used by TI-83 and TI-84 calculators) to text files and vice versa. It also supports various other features for working with 8xp files.
This project would not be possible without the help of the following:
Clone the repository and build the project using Cargo:
git clone https://github.com/cqb13/ti-tools.git
cd ti-tools
cargo build --release
# The binary will be located at target/release/ti-tools
To add the binary to your PATH, run:
cargo install --path .
Pre-built binaries are available for Windows, macOS, and Linux on the releases page.
ti-tools [COMMAND] [OPTIONS]
help - Prints help information
command <COMMAND> (optional) The command you want help with
version - Prints version information
convert - Converts between 8xp/83p/82p, json, and txt
input <INPUT> (required) The input path to an 8xp, 83p, 82p, json or txt file
-o --output <OUTPUT> The output path to an 8xp, 83p, json, or txt file
-d --display-mode <DISPLAY_MODE> The characters to translate the tokens to [pretty, accessible, ti] | Default: accessible
-e --encode-mode <ENCODE_MODE> The mode used to parse tokens [min, max, smart] | Default: smart
-c --content Display the content of the input file
-p --preview Display the decoded output
-m --mass Changes input required from file to directory for mass file decoding
search - Retrieves a description for a token
token <TOKEN> (required) The token to search for
-t --type <TYPE> The type of token to search for [accessible, pretty, byte] | Default: accessible
rename - Renames the program name in a 8xp/82p/83p file
input <INPUT> (required) The input path to an 8xp/82p/83p file
-n --name <NAME> The new program name (8 or less alphabetic characters)
-f --new-file <NEW_FILE> Save the renamed program to a new file
-d --delete-old Delete the old file
comment - Write a custom comment to an 8xp/82p/83p file
input <INPUT> (required) The input path to an 8xp/82p/83p file
-c --comment <COMMENT> The new program comment (42 or less characters)
-f --new-file <NEW_FILE> Save the program with the updated comment to a new file
-d --delete-old Delete the old file
lock - Lock an 8xp/82p/83p file
input <INPUT> (required) The input path to an 8xp/82p/83p file
-f --new-file <NEW_FILE> Save the locked program to a new file
-d --delete-old Delete the old file
unlock - unlock an 8xp/82p/83p file
input <INPUT> (required) The input path to an 8xp/82p/83p file
-f --new-file <NEW_FILE> Save the unlocked program to a new file
-d --delete-old Delete the old file
archive - Set the program to be sent to Archive
input <INPUT> (required) The input path to an 8xp/82p/83p file
-f --new-file <NEW_FILE> Save the archived program to a new file
-d --delete-old Delete the old file
unarchive - Set the program to be sent to RAM
input <INPUT> (required) The input path to an 8xp/82p/83p file
-f --new-file <NEW_FILE> Save the un-archived program to a new file
-d --delete-old Delete the old file
details - Displays information about an 8xp/82p/83p file
input <INPUT> (required) The input path to an 8xp/82p/83p file
models - Prints the supported TI calculator models
ti-tools convert ./tests/programs/TOCCATA.8xp -p -c -o ./TOCCATA.txt
ti-tools convert ./tests/programs -o ./programs --mass
ti-tools convert ./TOCCATA.txt -p -c -o ./TOCCATA.8xp
ti-tools convert ./programs -o ./programs-other --mass
Contributions are welcome! Feel free to fork this repository and submit pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.