WHAT DOES THE TNC DO ==================== The TNC consists of a special purpose microcomputer, con- taining all the necessary software and hardware to communicate with your terminal, assemble a packet, operate your trans- mitter and receiver to send and receive a packet, and decode a packet. The special functions of the TNC which would be difficult to implement with an ordinary personal computer are the use of protocol to communicate with other TNC's and real-time control. The encoding and decoding of packets involves a carefully standardized set of procedures called "protocol". The proto- col basically determines the exact form of the header and tail parts of the packet. The header allows receiving TNCs to auto- matically determine the purpose of the packet, e.g., net check-in, part of a QSO, or ACK to a previous transmission. The tail contains the FCS which allows the TNC to automatically determine whether the packet was received correctly, and if so, to automatically acknowledge it. Since the protocol is pro- grammed into the TNC, the operator does not need to know exactly what his packet looks like. In particular, he does not need to know how the destination of his packet is indicated. The oper- ator communicates with other amateurs by call sign, and the TNC translates the call sign into the identification required by the protocol. The TNC is required to perform a number of tasks simultan- eously, including responding to events such as the receipt of a packet or instructions from the operator in "real time", in other words, as they happen. This makes programming in BASIC, the common language of personal computers, undesirable. This is because BASIC useĀ an "interpreter" which reads each line of the program and translates it into machine-type instructions every time the line is executed. The time required for the translation would prevent a program from responding rapidly enough in a packet radio environment. In order to meet the speed requirement, an assembly-language program or equivalent is required. While BASIC looks pretty much the same on any computer, assembly language is different for every machine. If the TNC were replaced by personal computers, program dev- elopment would have to be redone for each variety of com- puter. In addition to maintaining the right pace, the TNC also must be constantly "listening" at both ports simultaneously while putting packets together or taking them apart. The hardware of personal computers may not even be capable of this sort of multi-task application. Programming of individual TNC's must be as easy as possible, since there will inevitably be unforseen problems in the initial software. In addition, hardware changes may necessitate software changes. For this reason, TNCs are designed around erasable programmable read-only memories (EPROM's), which normally function like the ROM of a personal computer, where the vital software is storaed in an indestructible form. However, if the need arises, they can be reprogrammed by "burning in" the new program using special equipment.