TI-82 Link Protocol Guide v1.0 - 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.
Step | Direction | Packet | ||
---|---|---|---|---|
1 |
|
|
|
VAR with Type ID=0Eh |
2 |
|
ACK | ||
3 |
|
CTS | ||
4 |
|
ACK | ||
5 |
|
DATA (format described above). | ||
6 |
|
ACK |
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 |