HamNet Packet Radio Tutorial - Part Three ----------------------------------------- by Scott Loftesness W3VS CompuServe 76703,407 I'm going to continue this series by describing the operation of the Tucson Amateur Packet Radio (TAPR) Terminal Node Controller (TNC) - and the tremendous function which has been implemented in the TNC software will become readily apparent! . . The TAPR TNC operates in one of three modes: . Command Mode . Converse Mode . Transparent Mode . . Command mode is used to modify various software operating parameters. Converse mode and Transparent mode are both data transfer modes - supporting transmission and reception of packets across the radio link. . . Command mode is automatically entered upon power-up or reset of the TNC. It can also be entered from one of the other modes by sending an appropriate control sequence from the terminal to the TNC. For example, if I'm running in Converse mode, I can get to command mode by simply entering a control-C. I can they make any operating mode parameter changes I need to, and return to Converse mode by using the CONVERS command. The flexibility the TNC provides in this regard is really outstanding. You can switch into and out of Command mode very easily - and not lose any data coming across the link. . . Many of the parameters which can be altered in Command mode are saved in the NOVRAM chip mentioned earlier in this series. This chip is an electrically erasable read-only memory - and permits me, for example, to save away my call-sign (which becomes my address in the AX.25 protocol) so that I need not reset it every time I power up. The NOVRAM really helps make the TNC startup procedure extremely simple - since most all of the parameters I have tailored have been tucked away into the NOVRAM. . . In addition to the NOVRAM, the ROM contains a set of default operating parameters which can be invoked to completely reset the NOVRAM values. This is helpful after experimenting with a number of parameters - and deciding to start over from the ground up! . . To give an example of how simple it is to get the TNC "on-the-air", the following sequence of commands will take the TNC from power-up to Converse mode: . MYCALL W3VS - Sets my callsign into the address field. . (Only necessary once!) . PERM - Save my callsign into the NOVRAM. . . CONVERS - Enter Converse mode. . . Hello Test - Sends an unaddressed packet with the text . "Hello Test". . . Ctrl-C - Returns to command mode. . . CONNECT K8MMO - Requests that I be connected to K8MMO. . Automatically enters Converse mode if . K8MMO acknowledges my CONNECT request. . . Hello Dave - Sends an addressed packet to K8MMO with . the text "Hello Dave". . . Ctrl-C - Returns to command mode. . . DISCONNECT - Disconnect from K8MMO. . . As you can see, operating the TNC is really a breeze. In fact, from power-up to being on the air is typically a matter of a few seconds. . . Among the parameters which can be altered in Command mode are several which determine how the TNC responds to what it hears on the radio link. For example, I can tell the TNC to monitor all packets it hears - including those not specifically addressed to me. This is obviously useful for "reading the mail" on the channel! In fact, I can tell it to monitor all activity, or just activity either TO or FROM a specific station. In addition, I can tell the TNC whether I want it to become a digipeater - a digital repeater which repeats what packets addressed to another station but containing my callsign as a repeater address. (It's interesting to note that the default is digipeat on - it's so automatic that I really don't know (other than by hearing my radio got on and off) that I'm being used as a digipeater! . . I can also define the specific operating parameters for the link. Items such as the length of a packet (default of 128 bytes), whether it should send a packet when it sees a specific character (default is carriage return) or send a packet after so many seconds of inactivity from my terminal. I can also cause the TNC to automatically send a beacon every so many seconds or send it after so many seconds of no activity on the packet channel. . . I've just shown a few of the features available in Command mode on the TAPR TNC. The software is extremely well done - and using the TNC is a pleasure! You immediately sense that this box was put together by folks who really understand both the hardware and the software aspects of microcomputing and communications! . . Let's talk now about Converse mode. As shown in my example, I can cause the TNC to enter Converse mode by entering the CONVERS command and also by connecting with another station. The TNC will also automatically enter Converse mode whenever another station requests a connect with me! In this case, it prints out a message saying: . . Connected to K8MMO . .and enters Converse mode. From that point on, whatever I type is sent to the other station. . . If I'm not connected to another station but enter Converse mode using the CONVERS command, my packets will be "unaddressed" and only can be copied by other stations which are monitoring all packets on the channel. This is the technique used to say "CQ" on a packet channel. For example, on my TRS-80 Model 100, I have created a CQ file which I transmit containing my name, address, callsign, station equipment, phase of the moon, etc.! To say CQ, I simply send this packet. If others are around, typically one will connect with me and our QSO has begun! . . Earlier, I mentioned the digipeating mode. I can cause my packets to automatically be sent via a repeater. I simply say: . . CONNECT K8MMO VIA WB4JFI-1 . .WB4JFI-1 is a local AMRAD repeater run by Terry Fox which is available 24 hours per day. In this case, my station sends its packets to WB4JFI-1 which verifies that they are valid packets (i.e. frame check sequence is valid) and then retransmits them to K8MMO. Neat! . . Well, we've covered Command and Converse modes pretty thoroughly. Let's now talk about Transparent mode. Transparent mode allows you to effectively turn the TNC into a modem - i.e. it will not locally echo characters, will ignore command/control character sequences, etc. The advantage of this mode is in transferring files which might contain any of those characters. In Transparent mode, it's possible to transmit a binary file to another station. With the built-in error detection and correction of the AX.25 protocol, error-free transmission is guaranteed! It's possible to exit from Transparent mode to Command mode by sending a very specific sequence of characters (default is three control-C's sent with no other data for one second before and after). Obviously, the odds of this sequence occuring in normal transmission is very, very low - which is just what's wanted in Transparent mode. . . Another use of transparent mode is in running a computer system at the other guy's station. For example, I have run the CP/M system at K1HTV in this manner - and run BASIC programs, CP/M commands such as DIR to get a file directory listing, etc. It's just like sitting at the console of that other system - with the addition of a time delay required for transmission of the packets at 1200 baud! . . Well, we've pretty well covered the operational aspects of the TAPR TNC. As you've seen, it's an extremely versatile device - and provides nearly all of the functions you'd want! . . You are probably a bit curious (I know I was) about the software package used in the TAPR TNC. This excellent package was written in a combination of Pascal and 6809 assembler by Harold Price NK6K, Dave Henderson KD4NL, and Margaret Morrison KV7D. The bulk of the code was written in Pascal while assembler was used for the interrupt handling and data buffering routines. The Pascal code effectively relies on the assembler code as device drivers for the hardware interfaces present on the TNC. The combined package is over 20K of code - stored in the ROM of the TNC. . . This concludes this section of the packet radio tutorial. Next, we'll describe some of the activites underway in the Washington, DC area with packet radio - and some of our plans for the future. . .End of Part Three.  DISTRIBUTED LOGIC 5 FOREMOST CORP