TI-82 Link Protocol Guide v1.0 - Screenshots

##

Screenshots

The TI-82's screenshot ability is "silent," which means that the calculator does not need to be put in a special mode. Screenshots can be taken any time the calculator is ready to accept a keypress.

The protocol used for getting a screenshot is shown below. For information on packet formats, click here.

Step | Direction | Packet
--- | --- | ---
1 |  |  |  | SCR
2 |  | ACK
3 |  | DATA - Format described below.
4 |  | ACK

The data packet contains a 768-byte monochrome bitmap (1 bit per pixel). Each bit has a value of 1 if the corresponding pixel is dark or a value of 0 if the corresponding pixel is light.

The pixel order is left-to-right, then top-to-bottom (See figure below).
Byte 0 defines the first 8 pixels in the left side of the top row of the screen. Bytes 1-11 define the rest of the first row, bytes 12-23 define the second row, etc.

Example:

PC: | `02 6D 00 00` | Screenshot request
TI: | `82 56 00 00` | Acknowledgement of request
| `82 15 00 03` <768 bytes plus 2 byte checksum> | Screen data
PC: | `02 56 00 00` | Acknowledgement of data

The following figure demonstrates byte ordering of the pixels if the bitmap is in a 768-element array data[]:

Note that this format is different from the standard Windows bitmap format, which specifies a value of 1 if the pixel is light and bottom-to-top row order.

Alternately, the TI-82 may send the screenshot by executing the PrintScreen command. In that case, this protocol is used:

Step | Direction | Packet
--- | --- | ---
1 |  |  |  | VAR with Type ID=0Eh
2 |  | ACK
3 |  | CTS
4 |  | ACK
5 |  | DATA (format described above).
6 |  | ACK

The data format is the same as in the above transfer.

Example:

TI: | `82 06 0B 00` `00 03 0E 00 00 00 00 00 00 00 00 11 00` | Variable Header: Screenshot
PC: | `02 56 00 00` | Acknowledgement of header
| `02 09 00 00` | Clear to send header
TI: | `82 56 00 00` | Acknowledgement of CTS
| `82 15 00 04` <768 bytes plus 2 byte checksum> | Screen data
PC: | `02 56 00 00` | Acknowledgement of data

Packet Formats | Table of Contents | Manual Transfers

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