    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 <up arrow>, <down arrow>, 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 <cr> folowed by <lf>. Since <cr> and <lf> mean
		essentiallly the same thing to the PC, <cr> is normally
		stripped from the receive data stream to avoid multiple
		line spacing. If the F1 toggle is ON, <cr> 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 & <lf>"
		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.
