TI-85 Link Protocol Guide v1.0 - Screenshots
The TI-85'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 1024-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-15 define the rest of
the first row, bytes 16-31 define the second row, etc.
Example:
PC: | 05 6D 00 00 | Screenshot request |
TI: | 85 56 00 00 | Acknowledgement of request |
85 15 00 04 <1024 bytes plus 2 byte checksum> | Screen data | |
PC: | 05 56 00 00 | Acknowledgement of data |
The following figure demonstrates byte ordering of the pixels if the bitmap is in a 1024-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=14h |
2 |
|
ACK | ||
3 |
|
CTS | ||
4 |
|
ACK | ||
5 |
|
DATA (format described above). | ||
6 |
|
ACK |
Example:
TI: | 85 06 05 00 00 04 14 00 00 18 00 | Variable Header: Screenshot |
PC: | 05 56 00 00 | Acknowledgement of header |
05 09 00 00 | Clear to send header | |
TI: | 85 56 00 00 | Acknowledgement of CTS |
85 15 00 04 <1024 bytes plus 2 byte checksum> | Screen data | |
PC: | 05 56 00 00 | Acknowledgement of data |