Packet format for the CASIOLINK protocol¶
All packets in the CASIOLINK protocol are introduced by a single byte, which defines the basic purpose of the packet, and defines the kind of payload that follows it.
Value |
Name |
Description |
Payload |
---|---|---|---|
|
|
The receiver accepts the data packet, confirms overwrite, or the sender confirms overwrite. |
(none) |
|
|
The receiver acknowledges connection establishment. |
(none) |
|
|
The sender requests an interactive connection, or aborts overwrite if an overwrite confirmation is requested. |
(none) |
|
|
The sender requests a non-interactive connection. |
(none) |
|
|
The receiver requests overwrite confirmation from the sender. |
(none) |
|
|
The receiver rejects the data packet due to an invalid data type, or because it is out of memory. |
(none) |
|
|
The received rejects the packet due to an invalid checksum. The transfer aborts. |
(none) |
|
|
Header payload. |
One of:
|
|
|
Data payload. |
Packet containing data related to a previously accepted header with the CAS100 variant of the protocol. |
|
|
The receiver aborts the transfer due to errors in the header. |
(none) |
CAS40 header format¶
This data payload uses the same format as CASIOLINK CAS40 main memory files; see CAS40 main memory file format for more information.
CAS50 header format¶
This data payload uses the same format as CASIOLINK CAS50 main memory files; see CAS50 main memory file format for more information.
CAS100 header format¶
This header format covers headers used with the AlgebraFX / Graph 100. Such headers are 39-bytes long (excluding the basic purpose byte), but transferred at higher speeds.
The format of such headers is the following:
Offset |
Size |
Field name |
Description |
Values |
---|---|---|---|---|
0 (0x00) |
4 B |
Type (T) |
Basic content of the packet |
|
4 (0x04) |
34 B |
Type-specific data |
Data for which the format is specific to the type. |
See the type description for the format of this component.
If the type-specific data is less than 34 bytes, the rest is filled
with |
38 (0x26) |
1 B |
Checksum (CS) |
Checksum for the packet. |
ADN1
headers¶
These packets seem to be used to send data.
Offset |
Size |
Field name |
Description |
Values |
---|---|---|---|---|
0 (0x00) |
4 B |
Data Type (DT) |
|
|
4 (0x04) |
4 B |
? |
Integer (little endian), e.g. |
|
8 (0x08) |
4 B |
? |
Integer (little endian), e.g. |
|
12 (0x0C) |
4 B |
? |
Integer (little endian), e.g. |
ADN2
headers¶
Unknown purpose.
Offset |
Size |
Field name |
Description |
Values |
---|---|---|---|---|
0 (0x00) |
4 B |
Data Type (DT) |
|
|
4 (0x04) |
4 B |
? |
Integer (little endian), e.g. |
|
8 (0x08) |
4 B |
? |
Integer (little endian), e.g. |
BKU1
headers¶
Unknown purpose.
Offset |
Size |
Field name |
Description |
Values |
---|---|---|---|---|
0 (0x00) |
4 B |
Data Type (DT) |
|
|
4 (0x04) |
4 B |
? |
Big endian 32-bit integer, e.g. |
END1
headers¶
These packets are sent at the end of the communication.
They do not use additional data.
FCL1
headers¶
Unknown purpose.
Offset |
Size |
Field name |
Description |
Values |
---|---|---|---|---|
0 (0x00) |
4 B |
Data Type (DT) |
|
FMV1
headers¶
Unknown purpose.
Offset |
Size |
Field name |
Description |
Values |
---|---|---|---|---|
0 (0x00) |
4 B |
Data Type (DT) |
|
|
4 (0x04) |
8 B |
Data Type 2 (DT2) |
|
MCS1
headers¶
These packets contain main memory data.
Offset |
Size |
Field name |
Description |
Values |
||||
---|---|---|---|---|---|---|---|---|
0 (0x00) |
3 B |
Reserved |
Set to |
|||||
3 (0x03) |
2 B |
File size |
Big-endian 16-bit integer (?). |
|||||
5 (0x05) |
1 B |
Data type |
8-bit integer, among the following:
|
|||||
6 (0x06) |
8 B |
Data name |
|
|||||
14 (0x0E) |
8 B |
Group name |
|
MDL1
headers¶
These packets contain initialization data for the CAS100 variant of the CASIOLINK protocol, with calculator model information.
Offset |
Size |
Field name |
Description |
Values |
---|---|---|---|---|
0 (0x00) |
6 B |
Model Identification (M) |
|
|
6 (0x06) |
6 B |
Baud speed (BS) |
? |
ASCII-DEC, e.g. |
12 (0x0C) |
1 B |
Parity (PAR) |
? |
|
13 (0x0D) |
4 B |
OS Version (VER) |
|
|
17 (0x11) |
4 B |
Flash ROM capacity |
Little endian 32-bit integer, e.g. |
|
21 (0x15) |
4 B |
RAM capacity |
Little endian 32-bit integer, e.g. |
|
25 (0x19) |
4 B |
Unknown |
Little endian 32-bit integer, e.g. |
|
29 (0x1D) |
4 B |
Unknown |
4-char string, e.g. |
REQ1
headers¶
These packets seem to be used to request information.
Offset |
Size |
Field name |
Description |
Values |
---|---|---|---|---|
0 (0x00) |
4 B |
Data Type (DT) |
|
REQ2
headers¶
Unknown purpose.
Offset |
Size |
Field name |
Description |
Values |
---|---|---|---|---|
0 (0x00) |
4 B |
Data Type (DT) |
|
|
4 (0x04) |
4 B |
? |
Integer (little endian), e.g. 0. |
|
8 (0x08) |
4 B |
? |
Integer (little endian), e.g. |
SET1
headers¶
Unknown purpose.
Offset |
Size |
Field name |
Description |
Values |
---|---|---|---|---|
0 (0x00) |
2 B |
? |
|
|
2 (0x02) |
8 B |
? |
|