Asynchronous Protocols¶
Note
In this section, ‘host’ means the device communicating with HUNTER, whether it be computer, printer, modem or otherwise.
These protocols may be used by Basic application programs, user assembly code, CP/M programs or directly in ‘Terminal Emulation’ mode.
NONE¶
XON/XOFF (DC1/DC3)¶
If an XOFF or stream of XOFFs are received then transmission is stopped as soon as the character being transmitted is finished. The protocol requires an XON to restart transmission. This protocol procedure strips ‘XON’ or ‘XOFF’ Control characters, thus returning only valid data.
It should be noted that following the host transmitting an XOFF, it is possible, depending on data link speed, to have a further two characters sent out by HUNTER. This is due to the time taken to receive the XOFF and the possibility of just missing the start of the next character.
At the start of transmission a received XON is assumed, to avoid lock-up.
ETX/ACK¶
RECEPTION In this protocol HUNTER will send an ACK character (06 Decimal or Control F) after reception of an ETX character terminating a line that has been ready by Basic. The ETX is stripped from incoming data and not sent to Basic. This protocol causes the host device to wait at the end of each block of data, which should not exceed 130 characters, for an acknowledgement that the block has been read. The ETX/ACK acknowledgement is only transmitted when the block has been fetched from the buffer by Basic.
The ACKs are not returned to the user program.
By the very nature of this protocol, indeterminate handshaking situations may occur if any conditions are altered during transmission.
ACK/NAK¶
If the block is error-free then the received block is sent character by character to Basic. When the carriage return is sent to Basic an ACK (06 Decimal or Control F) is sent out to the host to indicate successful data block reception.
Systime¶
HUNTER to Systime communications Protocol Specification¶
This protocol is provided to facilitate communication between HUNTER and Systime model S500 minicomputers. The protocol embodies a checksum in addition to parity checks.
Data is sent in the form of messages which are subdivided into one or more fixed length blocks. Each block is individually checked and acknowledged before any further blocks are sent.
DATA BLOCKS
The purpose of each character group is as follows:-
Handshaking Each block of data must be acknowledged by the receiving device. After a successful reception and if the receiver is ready to receive another block, then it returns an ACK (06 Decimal). If the transfer is deemed unsuccessful for any of the following reasons:-
parity fault on any character
Incorrect start or end characters
wrong number of characters
checksum error
timeout (waiting for characters for 4 secs)
then a failure is returned as a NAK (21 Decimal). If the receiver accepts the block, but is not ready for further data, then a wait acknowledge WACK (19 Decimal) character delaying the transmitter’s time out is transmitted. Further delays can be accumulated by transmitting WACK’s at the rate of one every 2 secs. The message is finally accepted with an ACK.
Communications Failure¶
If a failure occurs on transmission and a timeout activates then HUNTER will display ‘Communications Failure’ on the top line of the display. This message may be overriden by pressing ‘X’ on the keyboard. This will force transmission for ETX/ACK or XON/XOFF; in the case of ACK/NAK then the buffer will be sent another three times.
A timeout can be prevented from occurring after a transmission failure by re-initialising the communications.