{"id":16180849,"url":"https://github.com/cqb13/ti-tools","last_synced_at":"2026-01-07T05:49:46.515Z","repository":{"id":246292207,"uuid":"814404035","full_name":"cqb13/ti-tools","owner":"cqb13","description":"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.","archived":false,"fork":false,"pushed_at":"2025-01-09T14:37:35.000Z","size":421,"stargazers_count":11,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-28T13:49:50.937Z","etag":null,"topics":["8xp","8xp-files","texas-instruments","texas-instruments-calculators","ti-84","ti-basic","ti-calculators","tokenization"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cqb13.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-13T00:25:46.000Z","updated_at":"2025-01-22T23:48:14.000Z","dependencies_parsed_at":"2024-06-27T03:03:18.868Z","dependency_job_id":"48c2d91b-494b-499d-bd82-18254405f445","html_url":"https://github.com/cqb13/ti-tools","commit_stats":null,"previous_names":["cqb13/ti-tools"],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cqb13%2Fti-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cqb13%2Fti-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cqb13%2Fti-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cqb13%2Fti-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cqb13","download_url":"https://codeload.github.com/cqb13/ti-tools/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243960361,"owners_count":20375102,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["8xp","8xp-files","texas-instruments","texas-instruments-calculators","ti-84","ti-basic","ti-calculators","tokenization"],"created_at":"2024-10-10T06:10:25.052Z","updated_at":"2026-01-07T05:49:41.477Z","avatar_url":"https://github.com/cqb13.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TI Tools\n\nTI 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.\n\n## Acknowledgments\n\nThis project would not be possible without the help of the following:\n\n- [TI Toolkit Token Sheet](https://github.com/TI-Toolkit/tokens)\n- [TI Toolkit Discord Bot](https://github.com/TI-Toolkit/DiscordBot/blob/main/tokens.json)\n- [TI Basic Developer Wiki](http://tibasicdev.wikidot.com/tokens)\n- [Link Protocol Guide v1.4](https://merthsoft.com/linkguide/)\n\n## Installation\n\n### Build from Source\n\nClone the repository and build the project using [Cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html):\n\n```sh\ngit clone https://github.com/cqb13/ti-tools.git\ncd ti-tools\ncargo build --release\n# The binary will be located at target/release/ti-tools\n```\n\nTo add the binary to your PATH, run:\n\n```sh\ncargo install --path .\n```\n\n### Pre-built Binaries\n\nPre-built binaries are available for Windows, macOS, and Linux on the [releases page](https://github.com/cqb13/ti-tools/releases).\n\n## Usage\n\n```sh\n    ti-tools [COMMAND] [OPTIONS]\n```\n\n## Commands\n\n```\n    help - Prints help information\n        command       \u003cCOMMAND\u003e                     (optional) The command you want help with\n\n    version - Prints version information\n\n    convert - Converts between 8xp/83p/82p, json, and txt\n        input         \u003cINPUT\u003e                       (required) The input path to an 8xp, 83p, 82p, json or txt file\n        -o            --output       \u003cOUTPUT\u003e                  The output path to an 8xp, 83p, json, or txt file\n        -d            --display-mode \u003cDISPLAY_MODE\u003e            The characters to translate the tokens to [pretty, accessible, ti] | Default: accessible\n        -e            --encode-mode  \u003cENCODE_MODE\u003e             The mode used to parse tokens [min, max, smart] | Default: smart\n        -c            --content                                Display the content of the input file\n        -p            --preview                                Display the decoded output\n        -m            --mass                                   Changes input required from file to directory for mass file decoding\n\n    search - Retrieves a description for a token\n        token         \u003cTOKEN\u003e                       (required) The token to search for\n        -t            --type         \u003cTYPE\u003e                    The type of token to search for [accessible, pretty, byte] | Default: accessible\n\n    rename - Renames the program name in a 8xp/82p/83p file\n        input         \u003cINPUT\u003e                       (required) The input path to an 8xp/82p/83p file\n        -n            --name         \u003cNAME\u003e                    The new program name (8 or less alphabetic characters)\n        -f            --new-file     \u003cNEW_FILE\u003e                Save the renamed program to a new file\n        -d            --delete-old                             Delete the old file\n\n    comment - Write a custom comment to an 8xp/82p/83p file\n        input         \u003cINPUT\u003e                       (required) The input path to an 8xp/82p/83p file\n        -c            --comment      \u003cCOMMENT\u003e                 The new program comment (42 or less characters)\n        -f            --new-file     \u003cNEW_FILE\u003e                Save the program with the updated comment to a new file\n        -d            --delete-old                             Delete the old file\n\n    lock - Lock an 8xp/82p/83p file\n        input         \u003cINPUT\u003e                       (required) The input path to an 8xp/82p/83p file\n        -f            --new-file     \u003cNEW_FILE\u003e                Save the locked program to a new file\n        -d            --delete-old                             Delete the old file\n\n    unlock - unlock an 8xp/82p/83p file\n        input         \u003cINPUT\u003e                       (required) The input path to an 8xp/82p/83p file\n        -f            --new-file     \u003cNEW_FILE\u003e                Save the unlocked program to a new file\n        -d            --delete-old                             Delete the old file\n\n    archive - Set the program to be sent to Archive\n        input         \u003cINPUT\u003e                       (required) The input path to an 8xp/82p/83p file\n        -f            --new-file     \u003cNEW_FILE\u003e                Save the archived program to a new file\n        -d            --delete-old                             Delete the old file\n\n    unarchive - Set the program to be sent to RAM\n        input         \u003cINPUT\u003e                       (required) The input path to an 8xp/82p/83p file\n        -f            --new-file     \u003cNEW_FILE\u003e                Save the un-archived program to a new file\n        -d            --delete-old                             Delete the old file\n\n    details - Displays information about an 8xp/82p/83p file\n        input         \u003cINPUT\u003e                       (required) The input path to an 8xp/82p/83p file\n\n    models - Prints the supported TI calculator models\n```\n\n## Examples\n\n### Decode\n\n```sh\nti-tools convert ./tests/programs/TOCCATA.8xp -p -c -o ./TOCCATA.txt\n```\n\n```sh\nti-tools convert ./tests/programs -o ./programs --mass\n```\n\n### Encode\n\n```sh\nti-tools convert ./TOCCATA.txt -p -c -o ./TOCCATA.8xp\n```\n\n```sh\nti-tools convert ./programs -o ./programs-other --mass\n```\n\n## Contributing\n\nContributions are welcome! Feel free to fork this repository and submit pull requests.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcqb13%2Fti-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcqb13%2Fti-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcqb13%2Fti-tools/lists"}