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