Protocol 7.00 Screenstreaming packet format¶
This document defines the packet formats for Protocol 7.00 Screenstreaming.
Note
In places, most notably in some subheaders and with the checksum, the protocol uses the same ASCII-HEX encoding as for Protocol 7.00; see ASCII-HEX for more information.
Fields represented using ASCII-HEX will reference the section from Protocol 7.00 packet format directly.
All packets with Protocol 7.00 Screenstreaming packet have the
The packet mode for this mode is the following:
Offset |
Size |
Field name |
Description |
Values |
---|---|---|---|---|
0 (0x00) |
1 B |
Type (T) |
Basic purpose of the packet |
0x00 to 0x1F |
1 (0x01) |
5 B |
Subtype (ST) |
Subtype for the packet. |
5-char ASCII string depending on the type. |
6 (0x06) |
N B |
Payload (D) |
Payload, for which the format depends on the format. |
|
6 + N (0x06 + N) |
2 B |
Checksum (CS) |
Checksum for the packet. |
2-char ASCII-HEX value, e.g. |
The checksum is computed the same way as for Protocol 7.00, that is to say, it is obtained by summing all bytes from ST to D included (i.e. the entire packet except T and CS), and adding 1 to its bitwise complement.
The interpretation of the packet depends on the value of T. See the following sections for more information.
Note
The header does not specify the total size of the packet, which implies that it must be computed using the type, subtype and eventual subheader. This, unfortunately, makes it more susceptible to corruption.
0x06
– Acknowledgement packet¶
The acknowledgement packet can be used to accept a synchronization, so that the sender starts sending frame packets instead of check packets. See Acknowledge a Sender for more information.
The only known subtype of this packet is 02001
.
0x0B
– Frame packet¶
The frame packet contains a frame of the screen.
TYP01
frame format¶
Such packets are sent by the fx-9860G and compatible on screenstreaming mode, and are of the following format:
Offset |
Size |
Field name |
Description |
Values |
---|---|---|---|---|
6 (0x06) |
1024 B |
Frame (F) |
Frame data, as a 128x64 1-bit monochrome picture; see 1bpp monochrome picture format for more information. |
TYPZ1
frame format¶
Such packets are sent by the fx-CG series on screenstreaming modes, and are of the following format:
Warning
In this table, the offset starts at 6 instead of 0. The subheader itself is only 18 bytes long!
Offset |
Size |
Field name |
Description |
Values |
---|---|---|---|---|
6 (0x06) |
6 B |
Frame Length (FL) |
Length of the F field. |
6-char ASCII-HEX value, e.g. |
12 (0x0C) |
4 B |
Height (H) |
Height of the frame, in pixels. |
4-char ASCII-HEX value, e.g. |
16 (0x10) |
4 B |
Width (W) |
Width of the frame, in pixels. |
4-char ASCII-HEX value, e.g. |
20 (0x14) |
4B |
Frame Format (FF) |
Format of the frame, i.e. picture encoding in use. |
|
24 (0x18) |
FL B |
Frame (F) |
Frame data. |
The frame formats are the following:
FF field value |
Format |
Expected size |
---|---|---|
|
|
|
|
|
|
|
|
TYPZ2
frame format¶
Such packets can also be sent by the fx-CG series on screenstreaming modes, and are of the following format:
Warning
In this table, the offset starts at 6 instead of 0. The subheader itself is only 20 bytes long!
Offset |
Size |
Field name |
Description |
Values |
---|---|---|---|---|
6 (0x06) |
8 B |
Frame Length (FL) |
Length of the F field. |
8-char ASCII-HEX value, e.g. |
14 (0x0E) |
4 B |
Height (H) |
Height of the frame, in pixels. |
4-char ASCII-HEX value, e.g. |
18 (0x12) |
4 B |
Width (W) |
Width of the frame, in pixels. |
4-char ASCII-HEX value, e.g. |
22 (0x16) |
4B |
Frame Format (FF) |
Format of the frame, i.e. picture encoding in use. |
|
26 (0x1A) |
FL B |
Frame (F) |
Frame data. |
Note
This is roughly equivalent to the TYPZ1 frame format, with the FL field having been changed from 6 to 8 chars to allow larger frames.
The frame formats are the same as for TYPZ1 frame format.
0x16
– Check packet¶
Check packets are sent by the sender to request an acknowledgement from the receiver. See Acknowledge a Sender for more information.
The only known subtype for this mode is CAL00
.