Category: no classification
INT 14 - PhysTechSoft PTS ROM-DOS - SET PACKET
AH = 05h
CX = packet length
DX = port number
DS:SI -> packet
Return: AH = error code (0 = no error, -1 = error)
Notes: The embedded PC can send messages at any time. The managing PC may
force the embedded PC to receive messages only after causing a reset
on the remote embedded PC.
!!!from Matthias Paul:
Description of the high-level control packets:
After the reset the embedded PC will send a 4-byte packet "LOAD"
to the managing PC to indicate it is now able to receive commands.
The managing PC can send commands using 6-byte sized packets starting
with "COMM" followed by a 2-byte command code:
"01" demand setup information
"02" demand sending of diagnostic information
If diagnostic information is requested, the embedded PC will send back
a header packet starting with 4-byte "DIAG" followed by 2 bytes
indicating the count of diagnostic data packets following. Each
diagnostic data packet is sized 134 bytes, starting with the 4-byte
"DIAG", a 2-byte number packet, followed by 128 bytes of data.
If setup information is requested, the embedded PC will send back
8 bytes length packets starting with "SETP" and 2 byte of setup
information of the LOADER and BIOS. The contents varies.
If the embedded PC requests the managing PC to send a BIOS it will
send a 4 byte packet "BIOS".
The managing PC will then send back a 6-byte sized BIOS header packet
starting with "BIOS" and a 2-byte indicator of the BIOS image size
in packets.
The embedded PC will answer by sending a 6 byte packet starting with
"BIOS" followed by the running number of the demanded packet.
The managing PC will then send the requested part of the BIOS image
in a 134 byte sized packet, starting with "BIOS", the 2 byte running
number of the packet and 128 bytes of the actual BIOS info.
The embedded PC acknowledges that it received the BIOS with a 6-byte
packet "BIOS", followed by 2-bytes of 0.
If the embedded PCs requests the managing PC to send the operating
system, it will follow the same proceduce as for requesting the
BIOS. The only difference is that instead of "BIOS", the string
"PTOS" will be used in the communication.
Debug information packets have a length of 32 bytes starting with
the 4-byte "DEBU" signature, and followed by the contents of the
PCU registers in the following order: SP, SS, ES, DS, BP, DI, SI,
DX, CX, BX, AX, IP, CS, Flags. Debug information is send after
reaching the corresponding breakpoint.
Description of the low-level packet protocol:
Before sending a packet the sending side sends a byte 52h and for a
certain time (ca. 1 second for the embedded PC) waits for
confirmation (41h) from the receiving side. If no acknowledge is
received this procedure is repeated 4 more times before an error is
returned.
If acknowledge was received the following information is sent:
2 BYTEs synchronization (50h, 50h)
BYTE data packet size - 1
2 BYTEs CRC of the data
var. data
2 BYTEs synchronization (F0h, F0h)
The receiving side must acknowledge this by sending back two bytes
59h, 59h. If the sender does not receive the confirmation, it
tries 4 more times before returning an error.
SeeAlso: INT 14h/AH=06h, INT 15h/AX=E908h, INT 15h/E909h