-
Notifications
You must be signed in to change notification settings - Fork 0
Home
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
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
-
If you decoded the program into pretty tokens, encoding may not work correctly as there are duplicate pretty tokens.
- To fix this, decode the program into accessible tokens and then encode it.
-
If you decoded a program from a different source, and the encoded version does not match the original, try using a different encoding mode.
- The
smart
encoding mode is used by default by this program but not all programs do. - List of other programs and their encoding modes:
- SourceCoder:
max
- TokenIDE:
max
- TI Connect CE:
smart
- TI Planet Project Builder:
smart
- ti_vars_lib_cpp:
smart
- ti_vars_lib_py:
smart
- SourceCoder:
- If you are still having issues, please open an issue with the decoded and encoded programs.
- The
-
If there is any error loading the program, ensure that you are using a valid file type,
8xp
,83p
or82p
when decoding andtxt
orjson
when encoding. -
If there is an error encoding the program, ensure that the file matches the formatting detailed in txt File Structure.
-
If you are still having issues, please open an issue with the program that is causing the error.
-
If you are getting a syntax error when running the program on the calculator, ensure that you used the correct model when encoding the program.
-
If you are still having issues, please open an issue with the program that is causing the error.
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.