DOS65 applications: TERMINAL

TERM 0.31 Andrew Gregory

Terminal emulator for serial, special versions for Junior and Atari, sources

DOS65 TERMINAL version 0.3x
These notes describe Terminal, a terminal emulator program for DOS65
1) How to configure Terminal.

Terminal is configured to suit the host computer by means of options
given in the command line. Frequently used configurations are conveniently
called from text command files. The syntax is:

TERMinal -CJKLMPVX +u,v,w,x,y,z

A brief description of the options can be obtained with the help
utility or by typing TERM without giving any options. A more detailed one
is given here.

Option: -C : Causes unknown control characters to be printed on the
screen in square brackets, so for example control-A is
printed as [A].
-J : This has three effects:
(i) – Cancels the delay (see +u) between the
transmission of characters except when
transferring files.
(ii) – Normally when transferring files the delay +u
elapses from the time that the last character is
transmitted. But when this option is in use it
is elapses from the time that a character is
transmitted OR received.
(iii) – No attempt is made to prevent receiver
This option is intended for use when the host is an
Elektor Junior computer, a machine which uses a software
UART which has no handshaking at all and is not able to
transmit and receive simultaneously. (ii) gives more
rapid file transfer then would otherwise be possible
while (i) makes it possible break the Junior
transmission from the DOS65 keyboard.
-K : Keep local copy of transmitted characters.
-L : Transmit CR as CRLF.
-M : Convert received CR to CRLF.
-P : Send CRLF to printer as CR.
-V : VT52 protocol. Not yet available. Wait for V0.31!
-X : Xon/Xoff handshaking.

+u : A forced delay between transmissions. (Measured in units
of the transmit time of one character). Except at very
low baud rates a value of about 3 is recommended to give
reliable transmission.
+v : Transmit baud rate.
1-External 2-50 3-75 4-110 5-134 6-150 7-300 8-600
9-1200 10-1800 11-2400 12-3600 13-4800 14-7200
15-9600 16-19200
+w : Word length.
1-8 bits 2-7 bits 3-6 bits 4-5 bits
+x : Parity bit.
1-None 2-Odd 3-Even 4-Mark 5-Space
+y : Stop bits.
1-1 bit 2-1 1.5 or 2 bits (depends on w and x)
+z : Receive baud rate.
0-same as transmitter 1-unset 2-50 3-75 4-110 5-134
6-150 7-300 8-600 9-1200 10-1800 11-2400 12-4800
Options 1 to 12 require a hardware modification (see

Options +u,v,w,x,y are mandatory. If they are not all given then
Terminal will give an error message.
2) The command menus.

When first run Terminal will come on ‘ON-LINE’. Everything typed will
be sent to the host through the RS232 with one exception, the control-C
key. On typing control-C Terminal goes to an ‘OFF-LINE’ condition and the
main menu appears on the top line of the screen. Through this the input
and output file menus can be called. They function as follows:

i) Main Menu:-

Q-Quit : Quit Terminal and return to DOS.
O-Online : Puts Terminal back on-line.
C-[C] : Sends control C and puts Terminal back on-line.
X-xreset : If the -X option was used then this command sends
Xon to the host and if there is room for more
received characters it makes the RS232 receiver
ready. Useful in the event of a hang-up.
I-In : Calls input file menu.
U-Out : Calls output file menu.
Y-Yes : Printer on.
N-No : Printer off.
K-Kill : Printer off and erase buffer.

ii) Input file menu:-

F-File open/close : Open or close a disc file to which receive
characters are sent after control and escape codes
have been removed with a filter. If the -K (keep
local copy) option was selected then all transmitted
characters (from file or keyboard) are also sent to
the disc file as well as the screen. CRLF is
automatically converted to CR.
R-Return : Return to main menu.

iii) Output file menu:-

A-Ascii : Transmit an ASCII file, unfiltered.
B-Binary : Transmit a binary file without addresses in Junior PM
format (A9.00.20. etc)
W-With addresses : As B but sending load addresses as four ASCII
characters terminated by a space.
R-Return : Return to main menu.

The top line of the screen is also used for displaying error messages.
The current status of the Terminal is shown on the bottom line of the
screen (the status line). Various markers may appear here. These are:

X – Xon/Xoff handshaking in use.
P – Printer on.
F – Input file on.
S – DSR line is true.
D – DCD line is true.

When about to go off-line Terminal will display the message ‘Waiting for
queues’ while it waits for the the transmit and file-screen buffers to
empty. This condition can be escaped from by typing control-C.
3) Hardware modification for split baud rates.

If the +z option has a value from 2 to 12 VIAB is programmed to produce
a separate clock for the receiver. To make use of this facility connect
VIAB pin 17 (PB7) to ACIA pin 5. The operation of the beeper is unaltered
by this. These baud rates are not exact and become less accurate the
higher they are. They also depend on the CPU frequency which in the
version of Terminal supplied is assumed to be 2.0MHz.
4) Some comments about the program.

Parity/Overrun/Framing errors.

If one of these errors is encountered a flag is set which at a later
time causes a beep to be emitted. The character is still read. But if it
is a control character it is replaced by a ‘|’. Unfortunately there can be
errors when the status line is re-drawn, presumably because the I/O65
routine sets the interrupt mask for too long.

Xon/ Xoff.

While the disc is being accessed there is a danger of received
characters being lost. To counteract this when Xon/Xoff handshaking is in
use an Xoff is sent before the disc is accessed. This seems to be
completely effective. It is even possible to have input and output files
simultaneously without any losses. When there is no handshaking characters
are inevitably lost.

Previous versions.

Previous versions (0.23, 0.24, 0.25 and 0.26) did not have the Xon/Xoff
handshaking facility or display markers in the status line. There have
been numerous changes in version 0.30 and so it is not possible to patch
the earlier versions.
Andrew Gregory
1st January 1988

6502 kenner article 0.28

Sources and executables in floppy collection