MKTIUPGRADE(1)

πŸ“¦ version 1.1.6, in nixos 26.05, nixpkgs unstable

πŸ’… mktiupgrade(1) β€” the bestie guide to building TI calculator OS upgrades πŸ’…

okay so you found the mktiupgrade(1) man page. we're making upgrade files from ROM dumps, and honestly? iconic. let's get into it, bestie. πŸ’–


🌸 NAME 🌸

mktiupgrade β€” Build Texas Instruments calculator OS upgrades from ROM dumps.

✨ SYNOPSIS ✨

mktiupgrade [options] infile outfile [pages...]

πŸ’– DESCRIPTION πŸ’–

This tool builds (and optionally signs) upgrade files to be sent to TI calculators from ROM dumps. infile should be a ROM dump with the OS, and outfile is the 73u, 8xu, or 8cu file to write the resulting upgrade to.

Each page (specified in hexadecimal) will be extracted from the ROM dump and included with the upgrade. Additional pages may be automatically included if needed. no cap, the tool handles the extra-page math so you don't have to. 🫢

πŸŽ€ OPTIONS πŸŽ€

bestie, every flag matters, so here is the whole menu:

  • -d, --device <device> β€” specifies the target device type. if you omit it, it will be inferred by the size of the ROM dump. the valid choices are:
    • TI-73
    • TI-83+
    • TI-83+SE
    • TI-84+
    • TI-84+SE
    • TI-84+CSE
  • -k, --key <key file> β€” specify the key file to sign the upgrade with. if omitted (and -s is not specified), the upgrade will be unsigned.
  • -n, --key-name <name> β€” specify the name of the key, to be written to the OS header, in hexadecimal. if not included, it will be inferred from the key file name (i.e. 0A.key). specify this option after the key file.
  • -p, --print β€” prints information about the upgrade before writing it. lowkey a vibe check for your upgrade file.
  • -r, --hw-revision <revision> β€” specify the maximum hardware revision. the default is 5.
  • -s, --signature <signature file> β€” instead of calculating the signature while writing the upgrade file, instead use this signature file. this option overrides -k. you should specify -n manually. the default value is 0A if you choose not to.
  • -v, --version <version> β€” the upgrade version, in the format "major.minor". each part can be between 0 and 255, inclusive. the default is "1.0".

πŸ¦‹ SUPPORTED DEVICES πŸ¦‹

The following Texas Instruments calculators are supported:

  • TI-73
  • TI-83+
  • TI-83+ Silver Edition
  • TI-84+
  • TI-84+ Silver Edition
  • TI-84+ Color Silver Edition

πŸ”‘ SIGNING KEYS πŸ”‘

The Texas Instruments cryptographic signing keys may be found at http://brandonw.net/calculators/keys/. These keys do not work on all calculators, and you may need to use an additional exploit to load your operating system on newer models.

An example of this process can be found in KnightOS, available at https://github.com/KnightOS/KnightOS.

⚠️ real talk: those keys do not work on all calculators, and newer models may need an additional exploit. that's not a vibe, that's just the facts.

🌈 EXAMPLES 🌈

mktiupgrade input.rom output.8xu 00 01 02 03 4F

Makes an upgrade from pages 00-03 and 4F of input.rom, then writes it to output.8xu, unsigned.

mktiupgrade -k 0A.key -v 2.3 input.rom output.8xu 00 01 02 03 4F

Builds and signs an upgrade with the 0A key, and marks it as version "2.3".

mktiupgrade -s exploit.sig -n 0F input.rom output.8cu 00 01 02 03

Builds an upgrade and uses the contents of exploit.sig as the signature, and indicates that the key is the 0F key. The result is written to output.8cu.

πŸ‘‘ AUTHORS πŸ‘‘

Maintained by Drew DeVault (sir@cmpwn.com), who is assisted by other open source contributors. For more information about mktiupgrade development, see https://github.com/KnightOS/mktiupgrade.


kisses bestie πŸ’‹ this was the mktiupgrade(1) man page, dated 01/01/1980, with the source/version footer folded into this cute sign-off. periodt. πŸŽ€βœ¨

πŸ“¦ where this page comes from