Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cqb13/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.
https://github.com/cqb13/ti-tools
8xp 8xp-files texas-instruments texas-instruments-calculators ti-84 ti-basic ti-calculators tokenization
Last synced: 11 days ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/cqb13/ti-tools
- Owner: cqb13
- License: mit
- Created: 2024-06-13T00:25:46.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-08-24T17:01:28.000Z (3 months ago)
- Last Synced: 2024-10-17T11:39:47.433Z (21 days ago)
- Topics: 8xp, 8xp-files, texas-instruments, texas-instruments-calculators, ti-84, ti-basic, ti-calculators, tokenization
- Language: Rust
- Homepage: https://cqb13.github.io/ti-programs/
- Size: 408 KB
- Stars: 11
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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:
- [TI Toolkit Token Sheet](https://github.com/TI-Toolkit/tokens)
- [TI Toolkit Discord Bot](https://github.com/TI-Toolkit/DiscordBot/blob/main/tokens.json)
- [TI Basic Developer Wiki](http://tibasicdev.wikidot.com/tokens)
- [Link Protocol Guide v1.4](https://merthsoft.com/linkguide/)## Installation
### Build from Source
Clone the repository and build the project using [Cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html):
```sh
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:
```sh
cargo install --path .
```### Pre-built Binaries
Pre-built binaries are available for Windows, macOS, and Linux on the [releases page](https://github.com/cqb13/ti-tools/releases).
## Usage
```sh
ti-tools [COMMAND] [OPTIONS]
```## Commands
```
help - Prints help information
command (optional) The command you want help withversion - Prints version information
convert - Converts between 8xp/83p/82p, json, and txt
input (required) The input path to an 8xp, 83p, 82p, json or txt file
-o --output The output path to an 8xp, 83p, json, or txt file
-d --display-mode The characters to translate the tokens to [pretty, accessible, ti] | Default: accessible
-e --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 decodingsearch - Retrieves a description for a token
token (required) The token to search for
-t --type The type of token to search for [accessible, pretty, byte] | Default: accessiblerename - Renames the program name in a 8xp/82p/83p file
input (required) The input path to an 8xp/82p/83p file
-n --name The new program name (8 or less alphabetic characters)
-f --new-file Save the renamed program to a new file
-d --delete-old Delete the old filecomment - Write a custom comment to an 8xp/82p/83p file
input (required) The input path to an 8xp/82p/83p file
-c --comment The new program comment (42 or less characters)
-f --new-file Save the program with the updated comment to a new file
-d --delete-old Delete the old filelock - Lock an 8xp/82p/83p file
input (required) The input path to an 8xp/82p/83p file
-f --new-file Save the locked program to a new file
-d --delete-old Delete the old fileunlock - unlock an 8xp/82p/83p file
input (required) The input path to an 8xp/82p/83p file
-f --new-file Save the unlocked program to a new file
-d --delete-old Delete the old filearchive - Set the program to be sent to Archive
input (required) The input path to an 8xp/82p/83p file
-f --new-file Save the archived program to a new file
-d --delete-old Delete the old fileunarchive - Set the program to be sent to RAM
input (required) The input path to an 8xp/82p/83p file
-f --new-file Save the un-archived program to a new file
-d --delete-old Delete the old filedetails - Displays information about an 8xp/82p/83p file
input (required) The input path to an 8xp/82p/83p filemodels - Prints the supported TI calculator models
```## Examples
### Decode
```sh
ti-tools convert ./tests/programs/TOCCATA.8xp -p -c -o ./TOCCATA.txt
``````sh
ti-tools convert ./tests/programs -o ./programs --mass
```### Encode
```sh
ti-tools convert ./TOCCATA.txt -p -c -o ./TOCCATA.8xp
``````sh
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](LICENSE) file for details.