diff --git a/recipes/.gitignore b/recipes/.gitignore index e5730d0..f10dad4 100644 --- a/recipes/.gitignore +++ b/recipes/.gitignore @@ -3,4 +3,5 @@ *.hex *.obj *.rom +*.8xu *.sms diff --git a/recipes/ti84/Makefile b/recipes/ti84/Makefile index ca7ed63..b1338a0 100644 --- a/recipes/ti84/Makefile +++ b/recipes/ti84/Makefile @@ -1,6 +1,7 @@ TARGET = os.rom ZASM = ../../tools/zasm.sh KERNEL = ../../kernel +MKTIUPGRADE = mktiupgrade .PHONY: all all: $(TARGET) @@ -8,3 +9,9 @@ $(TARGET): glue.asm $(ZASM) $(KERNEL) < $< > $@ truncate -s 1M $@ +os.8xu: $(TARGET) + $(MKTIUPGRADE) -p -k keys/0A.key -d TI-84+ $< $@ 00 + +.PHONY: send +send: os.8xu + tilp -n --calc ti84+ --cable DirectLink $< diff --git a/recipes/ti84/README.md b/recipes/ti84/README.md index 3023662..b83d737 100644 --- a/recipes/ti84/README.md +++ b/recipes/ti84/README.md @@ -29,4 +29,29 @@ Collapse OS prompt will appear. ## Upload to the calculator -TODO +**WARNING: the instructions below will wipe all the contents of your calculator, +including TI-OS.** + +To send your ROM to the calculator, you'll need two more tools: +[mktiupgrade][mktiupgrade] and [tilp][tilp]. + +Once you have them, you need to place your calculator in "bootloader mode", +that is, in a mode where it's ready to receive a new binary from its USB cable. +To do that you need to: + +1. Shut down the calculator by removing one of the battery. +2. Hold the DEL key +3. But the battery back. +4. A "Waiting... Please install operating system now" message will appear. + +Once this is done, you can plug the USB cable in your computer and run +`make send`. This will create an "upgrade file" with `mktiupgrade` and then +push that upgrade file with `tilp`. `tilp` will prompt you at some point. +Press "1" to continue. + +When this is done, you can press the ON button to see Collapse OS' prompt! + +[knightos]: https://knightos.org/ +[z80e]: https://github.com/KnightOS/z80e +[mktiupgrade]: https://github.com/KnightOS/mktiupgrade +[tilp]: http://lpg.ticalc.org/prj_tilp/ diff --git a/recipes/ti84/keys/02.key b/recipes/ti84/keys/02.key new file mode 100644 index 0000000..de47716 --- /dev/null +++ b/recipes/ti84/keys/02.key @@ -0,0 +1,3 @@ +4081396D55C0989BC949FA30821FFE61C9441EDC3827D0E89EEE16DDEF697634B8E10B8B7F42FE7CC1A7478606D6D09F6FE96365E71E3D2AAA7C8D91068F1DFAF3 +20E1A6FD4557AB2234E92FACBBADD9E7FA2452B5C238F1EF296AFB2BFE67BACC1E +21A106BE04DC99B4F389D3B96951224E064F417E34EEF53130E9BEDC9A721EE1EB07 diff --git a/recipes/ti84/keys/04.key b/recipes/ti84/keys/04.key new file mode 100644 index 0000000..6624af4 --- /dev/null +++ b/recipes/ti84/keys/04.key @@ -0,0 +1,3 @@ +408FE528B340EB1C88B505B2354BAADF47F3616D92CB532E7E5A2A0DFF1C4E4283CEEA2B2F7AD5F28B7E4BE4F3F4C99CABA0D98A8E5F2BE15E2AAC7CED0940EF82 +20CDFF9610024DB1B7AD46D691E0E538BB00A1D840F5CCAF8EC0FED20C3A9D700B +21CB4662A9084F5076B117892EBA3FB0DF9EB24988A62A83890B5A0B4E18BD07720B diff --git a/recipes/ti84/keys/0A.key b/recipes/ti84/keys/0A.key new file mode 100644 index 0000000..53e7a32 --- /dev/null +++ b/recipes/ti84/keys/0A.key @@ -0,0 +1,3 @@ +40B11C71D4EA2C13C9AB2E501C6085FEC87FF3B88BFD783EAC43351E1B10F65AD31C79C1268F75051DC8FC008EBF593AE5912E8B653975C13127E2B60A0BEF5FEF +204DD5B4E544CACBC4EF869CDA30A6908FF7D1BDDB92B1ADE1E1C93CC614904894 +21F5E2DFBCA3D5C86F4815DC69452E4FC7D122D650374E880B62294279F21A439D01 diff --git a/recipes/ti84/keys/0F.key b/recipes/ti84/keys/0F.key new file mode 100644 index 0000000..53e7a32 --- /dev/null +++ b/recipes/ti84/keys/0F.key @@ -0,0 +1,3 @@ +40B11C71D4EA2C13C9AB2E501C6085FEC87FF3B88BFD783EAC43351E1B10F65AD31C79C1268F75051DC8FC008EBF593AE5912E8B653975C13127E2B60A0BEF5FEF +204DD5B4E544CACBC4EF869CDA30A6908FF7D1BDDB92B1ADE1E1C93CC614904894 +21F5E2DFBCA3D5C86F4815DC69452E4FC7D122D650374E880B62294279F21A439D01