Skip to content

Latest commit

 

History

History
130 lines (92 loc) · 5.43 KB

README.md

File metadata and controls

130 lines (92 loc) · 5.43 KB

TI Tools

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.

Acknowledgments

This project would not be possible without the help of the following:

Installation

Build from Source

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

Pre-built binaries are available for Windows, macOS, and Linux on the releases page.

Usage

    ti-tools [COMMAND] [OPTIONS]

Commands

    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

Examples

Decode

ti-tools convert ./tests/programs/TOCCATA.8xp -p -c -o ./TOCCATA.txt
ti-tools convert ./tests/programs -o ./programs --mass

Encode

ti-tools convert ./TOCCATA.txt -p -c -o ./TOCCATA.8xp
ti-tools convert ./programs -o ./programs-other --mass

Contributing

Contributions are welcome! Feel free to fork this repository and submit pull requests.

License

This project is licensed under the MIT License - see the LICENSE file for details.