Beware: in the worst case, a FLASH operation can
completely
lock up your calculator and there is no way than returning the
calcultator
to Texas Instruments in this case.
We (Tim. Singer and Romain Liévin) can not be responsible of
this.
Personnaly, I (Romain) have crashed a FLASH OS several times without
crashing the calculator but you have been warned !
A last remark: the link cables which are the more reliable and
efficient for these operations (especially OS flashing) are RS232
cables such as Grey TIGL, fastAVRlink (even at 4x = 38400 bauds) or
PIClink (not tested but should work). The SilverLink is slower than
others for FLASHing (strange, don't ask us why !).
There are 2 kinds of FLASH transfers:
- FLASH applications which are variables stored in the FLASH memory of
the calculator.
- AMS (Advanced Mathematic Software) which is the Operating System
of the calculator.
A Flash transfer is a one (large) transmission containing data (up
to 2 Mb for AMS). The file format that the TI-89 Graph Link software
uses
can be found in the file formats
section
of this documentation.
A FLASH OS must be transferred silently whereas FLASH apps can be transferred manually or silently. Silent transfers can only be done between a computer and a calculator, and require that the computer make the request or request-to-send.
This section does not cover sending of certificates or applications sold by TI.
Step | Direction | Packet | ||
---|---|---|---|---|
|
|
|
|
REQ special: 00 68 00 00. |
|
|
ACK: either 98 56 00 10 (not upgraded), either 98 56 10 04 (upgraded). |
Note: the 04h value seems to be a revision value. AMS208 returns 0Ch.
Example:
PC: | 00 68 00 00 | Check whether the calc has been FLASHed |
TI: | 98 56 00 10 | TI89 with AMS 1.00 |
PC: | 00 68 00 00 | Check whether the calc has been FLASHed |
TI: | 98 56 04 10 | TI89 with AMS 2.05 |
PC: | 00 68 00 00 | Check whether the calc has been FLASHed |
TI: | 98 56 0C 10 | TI89 with AMS 2.08 |
The protocol for silently receiving the ID list is shown below:
Step | Direction | Packet | ||
---|---|---|---|---|
|
|
|
|
REQ with expected header including the folder name, if necessary |
|
|
ACK (see note below) | ||
|
|
VAR (specifing the size without the extra four bytes) with actual header and no folder name | ||
|
|
ACK | ||
|
|
CTS | ||
|
|
ACK | ||
|
|
DATA with an extra four bytes at the beginning of the packet | ||
|
|
ACK | ||
|
|
EOT | ||
|
|
ACK |
Example (PC receiving IDlist from TI):
PC: | 08 A2 06 00 00 00 00 00 22 00 22 00 | Request the ID list |
TI: | 98 56 00 00 | Acknowledgement of request |
98 06 0D 00 12 00 00 00 22 06 I D L I S T 00 6A 00 | Variable Header: String "IDLIST" | |
PC: | 08 56 00 00 | Acknowledgement of variable header |
08 09 00 00 | Clear to send variable | |
TI: | 98 56 00 00 | Acknowledgement of CTS |
98 15 16 00 00 00 00 00 01 00 0E 00 30 33 30 36 39 44 31 42 41 33 46 46 41 42 24 00 | Variable data: "03069-D1BA3-FFAB" | |
PC: | 08 56 00 00 | Acknowledgement of variable data |
TI: | 98 92 00 00 | End Of Transmission |
PC: | 08 56 00 00 | Acknowledgement of EOT |
The protocol for silently sending a FLASH file is shown below:
Step | Direction | Packet | ||
---|---|---|---|---|
|
|
|
|
RTS with expected header including the FLASH application name and size. |
|
|
ACK | ||
|
|
CTS | ||
|
|
ACK | ||
|
|
DATA | ||
|
|
ACK | ||
|
|
CONT or EOT - if CONT, then go to step 2. | ||
|
|
ACK or ERR (if certificate is rejected) |
Example (PC sending a free FLASH application to TI):
PC: | 08 C9 0C 00 59 85 00 00 24 05 54 49 46 52 41 01 7D 02 | Send the "TIFRA" flash application |
TI: | 98 56 00 00 | Acknowledgement of request |
98 09 00 00 | Clear to send variable | |
PC: | 08 56 00 00 | Acknowledgement of variable header |
08 15 00 00 <... 65536 bytes of data ...> CHK | Data block: 64 Kbytes | |
TI: | 98 56 00 00 | Acknowledgement of CTS |
PC: | 08 78 00 00 | Continue transmission |
|
|
|
TI: | 98 56 00 00 | Acknowledgement of request |
98 09 00 00 | Clear to send variable | |
PC: | 08 56 00 00 | Acknowledgement of variable header |
08 15 00 00 <... 65536 bytes of data ...> CHK | Data block: 64 Kbytes | |
TI: | 98 56 00 00 | Acknowledgement of CTS |
PC: | 08 78 00 00 | Continue transmission |
|
|
|
TI: | 98 56 00 00 | Acknowledgement of request |
98 09 00 00 | Clear to send variable | |
PC: | 08 56 00 00 | Acknowledgement of variable header |
08 15 59 85 <... 34137 bytes of data ...> CHK | Data block: 34137 bytes of remaining data for instance | |
TI: | 98 56 00 00 | Acknowledgement of CTS |
PC: | 08 92 00 00 | End Of Transmission |
TI: | 98 56 00 00 | Acknowledgement of EOT |
The protocol for silently receving a FLASH file is shown below:
Step | Direction | Packet | ||
---|---|---|---|---|
|
|
|
|
REQ with expected header including the application name |
|
|
ACK (see note below) | ||
|
|
VAR (specifing the size) with actual header and no folder name | ||
|
|
ACK | ||
|
|
CTS | ||
|
|
ACK | ||
|
|
DATA | ||
|
|
ACK | ||
|
|
CONT/EOT - if CONT, then go to step 4. | ||
|
|
ACK |
Example (PC receiving a free FLASH application to TI):
PC: | 08 A2 0E 00 00 00 00 00 24 08 54 49 43 41 42 46 52 41 68 02 | Request to Send the "TICABFRA" flash application |
TI: | 98 56 00 00 | Acknowledgement of request |
98 06 0F 00 8D
1D 00 00 24 08 54 49 43 41 42 46 52 41 04 16 03 |
Application Header: String "TICABFRA" | |
|
|
|
PC: | 08 56 00 00 | Acknowledgement of variable header |
08 09 00 00 | Clear to send variable | |
TI: | 98 56 00 00 | Acknowledgement of CTS |
98 15 B6 06 <block of data> 24 00 | Variable data | |
PC: | 08 56 00 00 | Acknowledgement of variable data |
TI: | 98 78 00 00 | End Of Transmission |
|
|
|
PC: | 08 56 00 00 | Acknowledgement of variable header |
08 09 00 00 | Clear to send variable | |
TI: | 98 56 00 00 | Acknowledgement of CTS |
98 15 FE 03 <block of data> 24 00 | Variable data | |
PC: | 08 56 00 00 | Acknowledgement of variable data |
TI: | 98 78 00 00 | End Of Transmission |
|
|
|
PC: | 08 56 00 00 | Acknowledgement of variable header |
08 09 00 00 | Clear to send variable | |
TI: | 98 56 00 00 | Acknowledgement of CTS |
98 15 19 02 <block of data> 24 00 | Variable data | |
PC: | 08 56 00 00 | Acknowledgement of variable data |
TI: | 98 92 00 00 | Acknowledgement of EOT |
PC: | 08 56 00 00 | End Of Transmission |
Silent transfers |
Table of Contents |
Clock |