TI-89 Link Protocol Guide - System Backup Transfers

##

System Backup Transfers

A System Backup is one large transmission containing all user-modifiable data in the calculator. The file format that the TI-89 Graph Link software uses can be found in the file formats section of this documentation.

System backups must be transferred 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.

#### Requesting a Backup

Indeed, receiving a backup is a group of all variables of the calculator. So, it is necessary to make a directory list in order to have the list of variables to receive.

#### Sending a Backup

Indeed, sending a backup is a group of all variables of the calculator. There is just a special block transmitted before sending the group of variables.

The protocol for silently sending the special block is shown below:

Step | Direction | Packet
--- | --- | ---
1 |  |  |  | VAR with send-style backup header.
2 |  | ACK
3 |  | CTS
4 |  | ACK
5 |  | EOT
6 |  | ACK

Next, all variables are sent according to the 'Sending a variable' operation with one important exception: the type field is equal to either 1Dh (none), 26h (locked) or 27h (archived), independantly of the variable type.

Step | Direction | Packet
--- | --- | ---
1 |  |  |  | RTS (specifing the size with the extra four bytes) and with a particular type (1Dh, 26h or 27h)
2 |  | ACK
3 |  | CTS or SKIP/EXIT (see note below)
4 |  | ACK
5 |  | DATA
6 |  | ACK
7 |  | EOT - if there are several variables to transmit, steps 7 and 8 can be skipped until the last variable.
8 |  | ACK

Example (PC sending backup from TI):

PC: | `08 06 0A 00 00 00 00 00 00 1D 04 6D 61 69 6E C6 01` | Variable header: Backup ("main")
TI: | `98 56 00 00` | Acknowledgement of header
| `98 09 00 00` | Clear To Send
PC: | `08 56 00 00` | Acknowledgement of CTS
| `08 92 00 00` | End of transmission
TI: | `98 56 00 00` | Acknowledgement of data
. . . | . . . | . . .
PC: | `09 C9 0D 00 0F 00 00 00 1D 06 6D 61 69 6E 5C 66 01 9A 02` | Variable header: "main/f" (none)
TI: | `98 56 00 00` | Acknowledgement of header
| `98 09 00 00` | Clear To Send
PC: | `08 56 00 00` | Acknowledgement of CTS
| `08 15 13 00 00 00 00 00 00 0D E9 02 01 1F 08 F0 93 E5 08 00 00 00 DC 6C 04` | Variable content
TI: | `98 56 00 00` | Acknowledgement of data
PC: | `08 92 00 00` | End of transmission
TI: | `98 56 00 00` | Acknowledgement of EOT
. . . | . . . | . . .
PC: | `08 C9 10 00` `06 00 00 00 1D 09 6D 79 5F 64 69 72 5C 73 31 00 B0 03` | Variable header: "my_dir/s1"
| ... |

Silent transfers | Table of Contents | FLASH transfers

Site maintained by Romain Liévin (roms@lpg.ticalc.org) and Tim Singer (tsinger@gladstone.uoregon.edu)