TTY VERSION 3.7 ... A HALF DUPLEX RADIOTELETYPE PROGRAM FOR THE IBM PC Written by AA4L Bob Johnson 11305 Rums Hill, Raleigh NC 27614 919/847/5606..... April 5,1985 TTY37 provides half duplex baudot and ascii radioteletype communications for the IBM PC. The program requires a 128K system, at least one disk drive SS or DS, an 80 column display mono or color, and an async com adapter installed as "COM1:". It has not been tested with any of the "compatibles." It will not run on the PC Jr. TTY37 is written in IBM PC Advanced BASIC Version 2.0 and Assembly language. It was assembled, compiled and linked using the Macro Assembler, BASIC Compiler 1.0, and Linker 2.1. The program is distributed on a DOS 2.1 single sided disk as an EXE file. The EXE file has been placed in PUBLIC DOMAIN by the author, and may be freely copied and distributed. Experienced programmers who are licensed amateurs may obtain may obtain source code from the author for use for the benefit of the Amateur Radio Service. Files used by TTY37: TTY37.EXE The program file...enter "TTY37" to run the program. TTY.TXT This documentation file MSG1 & MSG2 Standard ascii file to be transmitted by the F1 and F2 keys in transmit mode. Intended for use as "brag tapes", net callups, etc. Create these files offline using a text editor. MSG3 Default file to be transmitted by F3 key. However, the F3 key may be re-programmed from the menu to transmit a file of any name. PERSNLIZ.TXT Created from the menu. This file contains information unique to your station. It is loaded automatically whenever TTY37 is loaded. PARMS.ARF Created from the menu. Contains unique ascii transmission parameters for the "special ascii" mode. RECEIVE.TXT File to which received messages may be copied under control of the F3 key. May be renamed from the menu. TTY37 uses the COM1: async comm adapter. Pin 2 (TD) and pin 3 (RD) perform their normal functions. Pin 4 (RTS) is active in transmit mode and inactive during receive mode. It may be used for TU and transceiver control. Pin 7 is signal ground. Other pins are not used by the program. The program was not designed to interface with any particular brand of TU. The program has three modes: Receive, Transmit and Menu. Switching between modes is accomplished by the , , and F10 keys. The Menu mode is self documenting. If you switch from Receive mode to Menu mode and back to Receive, the program continues to receive while you are in Menu for up to 2048 characters. The screen will catch up when you return to Receive. Switching to Transmit mode terminates Receive. The program may seem to hang when you try to exit Transmit mode. This is normal, and is caused by the fact that characters to be transmitted are printed to the screen at the time that they are placed in the BASIC transmit buffer. Hence the screen may be 128 characters ahead of the comm adapter. Transmit mode will not terminate until the buffer is empty. When you switch to Transmit mode the program sends eight ascii DEL characters (hex 7F) if you have selected an ascii speed, or eight Baudot "ltrs" characters if you have selected Baudot code. These characters are sent for the purpose of synchronizing the receiving station's equipment. They are not displayed. The upper screen is active only in Receive mode. The lower screen, in Receive mode, displays data which may be keyed into a fifty line keyboard buffer during Receive mode. The backspace key may be used for limited editing capability when keying into the keyboard buffer. In Transmit mode the lower screen displays characters as they are accepted by the BASIC transmit buffer. Function Keys -- Receive mode F1 (Toggle) The normal communications line ending sequence is one or more folowed by . Since and mean essentiallly the same thing to the PC, is normally stripped from the receive data stream to avoid multiple line spacing. If the F1 toggle is ON, characters are printed and filed as received. F2 Toggles the printer (LPT1:) ON and OFF. F3 When ON, received data is appended to the disk file named from the menu. (The default name is RECEIVE.TXT). F4 For best copy under poor conditions, the program normally operates in the amateur standard "unshift on space & " mode. If this toggle is OFF, the unshift feature is disabled. This key has no effect in the ASCII modes. F1+ALT Select Baudot speeds 60, 75, and 100 wpm and ASCII speeds thru 110, 150,300 and the "special" speed from the file F7+ALT PARMS.ARF. Selected speed is displayed on the screen separator. F10+ALT Clears the communication screens. F9+SHIFT Clears all data from the keyboard buffer, without transmitting. Function Keys -- Transmit mode: F1 & F2 Transmits disk message files MSG1 and MSG2. F3 Transmits the message file named from the Menu. The default name is MSG3. F4 Transmits your personal CQ message. (From PERSNLIZ.TXT) F5 Transmits your personal DE message. (From PERSNLIZ.TXT) F6 Transmits a test message. F7 Transmits a date/time group. F8 A "temporary" one line message (such as the callsign of the station with whom you are in contact) may be entered from the Menu. This message remains resident until changed or until the program is terminated, and may be transmitted repeatedly by the F8 key. F9 Transmits the keyboard buffer which was generated while in Receive mode. The program will transmit and receive at baudot "60","75" and "100" speeds. In ascii mode, the embedded speeds are 110, 150 and 300 baud. However, provision is made to enter "custom" ascii speeds and protocols via file PARMS.ARF. The program has been tested from 75 to 1200 baud, but 2400, 4800 and 9600 may be entered, and will probably work in some applications. The speed currently in use is displayed at the left end of the screen separator. Speeds are selected from Receive mode. Function keys alt-F1 through alt-F7 select speeds 60 Baudot through "special" ASCII. In Receive mode, function key alt-F10 may be used to clear the screens. Menu selection <6> allows you to enter a "header" which will be transmitted whenever you enter Transmit mode. Similarly, a "trailer" may be entered which will be transmitted whenever you leave Transmit. This function was provided for use with certain types of store and forward repeaters, but it may also by used to transmit your callsign at the beginning of each transmission, and "K" or "ga pls" at the end. The header and trailer remain resident until changed or until the program session is terminated. The program contains enough error trapping routines to keep itself from crashing under normal conditions. A missing disk file, an open drive door, or a not ready printer will not dump you back to DOS. The error recovery philosophy is primarily not to disrupt communication. For instance, if the printer is out of paper, the error recovery scheme is to beep once, close the printer file, and keep going. Most (not all) missing disk files or drive not ready conditions will print out some kind of a notice. I am sure that there are some hardware or media errors that are not trapped. In this case you may receive a cryptic message from DOS or from the compiler library. These are probably "fatal errors" anyway, so do the best that you can. The program has been in use for several years on a couple of machine configurations, and most, if not all, of the software bugs have been beaten out of it. If you convince yourself that you have found a bug, let me know, but please check your hardware first. 73 GL de AA4L.