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