.help tty
The use of a terminal with the system depends on whether or not the
terminal is known by the system to be a display. The local Data Disc and
III terminals are always known by the system as displays. Other terminals
can be marked as displays by certain monitor commands; for details on
display support in the WAITS system, type "HELP DISPLAY".

The following control characters are read by the monitor when
using a non-display terminal:
(In the following list, ^x means control-x.)

^C Stop your job (it may be necessary to type this twice).
You may continue your job by typing CONTINUE<return>.
RUBOUT Deletes last character (you may not delete past <line feed>).
^U Deletes entire line
^O Suppresses output until another ^O or TTY input is requested.
^S Suspends output until you type ^Q. Useful on CRT terminals.
^Q Resumes output that was stopped by ^S; no text is lost inbetween.
^Z End of file when treating TTY as input device.
^← Treat following character(s) as special escape command.

NOTE: Stanford display terminals use a special character set, different
from normal ASCII. In particular, the word "control" in most SAIL
documentation does not refer to the characters (below 040 octal)
generated by the control key on your non-display keyboard, but to an
extra control bit (200 octal) which you cannot type directly. The
word "meta" refers to another such bit (400 octal). The character
generated by the key which is probably labelled "ESCAPE" on your
keyboard is called "alt mode" at SAIL; the word "escape" refers here to
another display-only character. Much SAIL software relies on this
special character set, and you must understand it to use our system
effectively. The use of both display and non-display terminals is
fully explained in the Monitor Command Manual, stored online as
MONCOM.BH[S,DOC] (it's a very big file!).

The monitor command TTY is used to set the parameters of your terminal.
For example, "TTY TABS" tells the monitor that your terminal has hardware
tabs; "TTY NO TABS" will convert tabs to spaces. For a list of the
parameters which can be set in this way, type "HELP TTYCMD".

The character ^← (037 octal, control-underscore or control-leftarrow)
is used as a preface to special command sequences, e.g., to input the
special control characters (^C and so on) to your program. For more
information about these escape sequences, type "HELP TTYESC".

Exit
^C
.help display
Most of the computer terminals at the Stanford AI Lab are display
terminals; a few are vector-oriented, built by Information International,
Inc. (hereafter called IIIs) and the rest use standard TV monitors built
by Ball Miratel (hereafter called Data Discs because the controller for
them was built by Data Disc). These terminals use keyboards which
generate an extended version of the usual ASCII character set. The normal
7-bit ASCII codes are all used for graphic characters, and control
functions are provided by two extra bits generated by the CONTROL and META
keys. Thus, while the CONTROL key on a standard ASCII terminal subtracts
100 (octal) from the character code, our CONTROL key adds 200 and our META
key adds 400. Also, two special keys, ESC (escape) and BREAK, generate
special codes which are not transmitted to user programs at all, but are
directly interpreted by the timesharing monitor as special commands
affecting the terminal. These commands are explained at length in Section
2 of the Monitor Command Manual, SAILON 54.3, which is available online in
the file MONCOM.BH[S,DOC]. If you are logged in at a display terminal,
you can print a concise list of ESC and BREAK functions, and a table of
the extended ASCII character codes, on the Xerox Graphics Printer by
typing HELP DDKEY if you are using a Data Disc or HELP IIIKEY if you are
using a III. The list is designed to fit in the indentation provided for
the purpose at the top of the keyboard.

Certain other terminal types are supported as displays by the WAITS
system. For details on support and use of such terminals, read the files
DISPLA.ME[UP,DOC], DM.ME[UP,DOC], and NOEDIT.BH[UP,DOC].

For more information about Datamedias, say HELP DM. To get a crib sheet of
display commands for DMs, say HELP DMKEY. If you want to use a DM to
access the ARPAnet via the SU-TIP, say HELP TIP.

Exit
^C
.help ttycmd
The TTY command provides some of the ESC facilities for non-displays along
with some other control features. It takes as argument a keyword
specifying the thing to change. As in typing monitor commands, only
enough letters of the keyword as necessary to make it unique need be
typed. The keyword may be preceded by NO or - to reset the corresponding
switch, e.g., TTY NO TABS or TTY -TABS. The TTY command is legal from
displays as well as non-displays, but the keywords ARROW, CONVERT, ECHO,
FILL, GLASS, and WIDTH have no effect on display terminals. The TABS
keyword has no effect on displays other than Datamedias. The keyword
WIDTH also has no effect on PTYs which are not ARPA PTYs. You need not be
logged in to give the TTY command, except for the keywords UPDATE and
TIME. (The keywords BLINK, BOLD, and BS are applicable only to Datamedia
terminals.)

A command of the form TTY TTYn keyword will cause the effect of a TTY
keyword command for TTYn instead of your own TTY. This command is allowed
only if the target TTY is not in use, or is owned by your job, or if you
have the DEV privilege.

ALTEMP Requests the system to use an alternate form of text emphasis
from that usually used on your type of display terminal. Only
certain display types have an alternate, which is usually
reverse video instead of bold.

ALTOTALK Tells the system that you are at an Alto display using the
TALK program display protocol.

AMBASSADOR Tells the system your terminal is an Ann Arbor Ambassador.

ANSI Tells the system your terminal uses the ANSI display standard.

ARROW Causes character codes less than 40 octal to be echoed as
uparrow-letter (e.g., ^A for octal 001) rather than as the code
itself, except for BEL (7), TAB (11), LF (12), VT (13), FF
(14), and CR (15).

BEEP Enables automatic beeping after long computations, like ESC Z
on a display.

BLINK Tells the system to display characters in the line editor with
inverted boldness (blinking on unmodified DMs). Thus you can
identify the line editor by its boldness. This is the default.
If your DM doesn't have blink and bold interchanged, you
probably want TTY NO BLINK, which will display the line editor
just like any other text. Your terminal must already have been
declared a DM when you give this command.

BOLD Same as BLINK.

BREAK n x Same as typing BREAK n x (where x is a command letter) on a
display. Works for these command letters: F, H, I, V, X and Z.

BS Tells the system that your terminal can display a special
graphic representation for the BS (octal 177) character. Your
terminal must already have been declared a DM when you give
this command.

C100A Tells the system you are on a Concept-100, type A (a local
designation). For details on what this type is, see DON.

C100B Tells the system your have an essentially plain Concept-100,
locally designated as type B.

CONVERT Enables the SAIL-ASCII character conversions (eg braces, alt).
This is the default state except for non-ARPA PTYs, but can be
turned off with TTY NO CONVERT.

DATAMEDIA h w Tells the system you are at a DM. The number h, if used,
tells the system the number of lines your terminal can display
on its screen; this is needed only for a programmable terminal
simulating a DM. Similarly, the number w tells how many
columns your simulated DM has. TTY NO DATAMEDIA waits for all
already-queued output to be sent to your terminal, and then
sends a message to let you know you have become a non-display,
and puts the terminal in ROLL mode.

DELETE Make the DELETE key be used for backspacing (non-displays only).
This is the default. NO DELETE makes ^H used for backspaces
and the DELETE key used for inputing the ^H character.

DM h w Tells the system you are at a DM. Just like DATAMEDIA.

DM128 h w Tells the system you are at a DM which can display the ASCII
control characters (001 to 037 octal) when they are output
preceded by an ASCII escape character (033).

DM2500 h w Tells the system you are at a DM 2500. Just like DATAMEDIA.

DM3025 h w Tells the system you are at a DM 3025, which has different
padding requirements (and other slight differences) from the 2500.

DM3052 Tells the system you are at a DM 3052 display.

DMWAITS h w Tells the system you are at a DM 3025 modified with the
WAITS keyboard (has CONTROL and META keys) and microprogram.

ECHO Tells the monitor to send back to the terminal the characters
you type in.

EDIT Tells the system your display has an EDIT key (controlling the
parity bit of type-in), which thus becomes the CONTROL bit.
NO EDIT tells the system your display has no EDIT key, in which
case you get to use the protocol described in NOEDIT.BH[UP,DOC]
for typing in the CONTROL and META bits. Since TTY NO EDIT
may be hard to type if the system is interpreting your parity
as the EDIT key, you can also use just the monitor command
NOEDIT, which will work no matter what kind of parity you
are sending.

ESCAPE n x Same as typing ESC n x (where x is a command letter) on a
display. Works for these command letters: F, H, I, V, X, and
Z.

ESUN Tells the system you are at a SUN display with an EDIT key to
control the parity bit.

EXIST n0,n1,n2,... This turns on the scanner ports for TTYs n0,n1,n2,...,
and at the same time resets each of these TTYs to its default
speed. The command TTY NO EXIST n0,n1,n2,... turns off the
scanner ports for all the TTYs in the given list. If a TTY
port is off, then the system will never see any interrupts,
either for input or for output, on that TTY. This command
should not be used without good reason, since turning on a TTY
that is running wild can swamp the system with interrupts, and
turning off a working TTY will interfere with the TTY's use.
The command TTY EXIST, with no arguments, will type a list of
all the TTYs that are turned on; similarly, TTY NO EXIST
without arguments will list all the TTYs that are turned off.
From time to time, the system automatically enables or
disables certain TTYs.

FILL Tells the monitor to insert extra carriage returns when a
return is typed out at the terminal, to give the carriage time
to return to the left margin. This is used principally for 30
character per second terminals.

FULL Declares that the terminal has lower case letters, and lower
case should not be converted to upper case by the monitor.
Equivalent to ESC F on a display; NO FULL is like BREAK F.

GAG Don't allow messages from other users to be typed out. This is
the default for non-ARPA PTYs.

GLASS Echo rubout as backspace-space-backspace instead of using the
backslash notation for deleted characters.

HANG Hang up the phone line associated with the TTY. This is meant
to be used for some TTY other than your own.

HEATH19 Tells the system your terminal is a Heath 19 (or Zenith 19) display.

HIDE Tells the system to hide your terminal's input and output from
being peaked at by other users.

HP2648 Tells the system your terminal is an HP 2648. This also basically
works for HP 2621 and HP 2640 displays.

HTOGGL Tells the system to make whatever key you use for holding
typeout (on your NOEDIT display) toggle, i.e., alternate
holding and unholding. NO HTOGGLE disables this, requiring
you to use a different key to unhold output.

INITIALIZE Makes the system re-initialize your display terminal,
including re-setting any settable tabs the terminal has.

NOEDIT This command (TTY NOEDIT) tells the system that your display
(previously reported to the system) has no EDIT key. This
command may be impossible to type if the system is taking
your parity bit (out of your control) as an EDIT key. In
that case, you can type just "NOEDIT" (without the leading
"TTY"), which will work no matter what sort of parity your
terminal is generating.

PADBAUD bbbb Tells the system to compute the number of padding
characters for your display terminal assuming it is actually
running at bbbb baud.

PADCHAR ooo Tells the system to use the Octal char ooo for padding
on your display terminal. The character NULL cannot be used.

SETESC ooo Tells the system to make the Octal char ooo be an escape
character for your NO EDIT display terminal.

SPEED n Set the speed of the terminal to n, which must be one of 110,
150, or 300. Works only for low-speed dialup lines.

SUN Tells the system you are at a SUN-type display without an
EDIT key to control the parity bit.

TABS Declares that the terminal has hardware tabs, so the monitor
will not convert tabs to spaces on output.

TELERAY Tells the system that you are at a Teleray 1000 series display
that has an EDIT key controlling the parity bit of type-in.

TELERB Tells the system that you are at a Teleray 1000 series display
that does NOT have an EDIT key controlling the parity bit.

TELEVIDEO Tells the system that you are at a Televideo 912 or 920 display.

TGAG Prevent messages from other users, like GAG, but only until the
next program reset.

TIME Resets XTIME and inhibits automatic resetting, like ESC 1 X.
NO TIME, like BREAK 1 X, sets XTIME to the total run time.

UPDATE Enables automatic resetting of XTIME, like ESC X from a
display. NO UPDATE is like BREAK X.

VT102 Tells the system you are at a DEC VT102 display. Note that
the WAITS display service does NOT support the VT100 (which
lacks character insert/delete).

WAITS Tells the system that your terminal can display the WAITS
characters that occupy the same positions as the ASCII CONTROL
characters. The system must already know what basic type of
display you are on, and that type must have a known way of
displaying the WAITS graphics of ASCII CONTROL characters.

WHO Types out your job's WHO line. "TTY WHO n" will type the WHO
line for job n, "TTY WHO -n" the WHO line for the job using
TTYn. "TTY WHO 0" or "TTY -WHO" will type the system WHO line.

WIDTH n Sets the maximum number of columns for TTY output to the
decimal value n, which should be between 16 and 256.

For more details on the display-type setting commands (DM2500, C100A,
C100B, HEATH19, etc.), see the file DISPLAY.ME[UP,DOC]. In particular,
that file will explain which terminals are assumed to have EDIT keys, and
what the default parameters are for each display type.

Exit
^C
.help ttyesc
This HELP file is about escape commands used on terminals which are NOT
Stanford displays (Data Disc, III, or Datamedia). Type HELP TTY to see
more information about terminals in general.

The character ^← (octal 37, ASCII control-underscore, or control-leftarrow
or control-slash on some keyboards) is used as a prefix for special
commands, like ESC on a display. The ^← character is not echoed. The
following commands are now defined:

^←^B send an ^B (alpha, ^B) to input buffer
^←^C send a ^C (beta, ^C) to input buffer
^←^O send a ^O (partial-sign, ^O) to input buffer
^←^U send a ^U (there-exists, ^U) to input buffer
^←^Z send a ^[ (not-equal) to input buffer
^←^← send an ^← (or-sign, ^←) to input buffer

^←- negate arg for following command
^𡤀:^𡤉 decimal arg for following command

^←^W delete the last word on the input line
^𡤌 add CONTROL (200) bit to the next character
^𡤍 add Double-bucky (CONTROL-META, 600) bits to the next character
^𡤏 full character set
^←H hide terminal
^←I interrupt program
^←L delete back to next character typed
^←M add META (400) bit to the next character
^←N No-op, but undo pending bucky bits
^←R redraw the current input line
^←V force a FILES command
^←W force a TTY WHO command
^←X control XTIME, like ESC X on display
^←Z enable automatic beeping, like ESC Z on display

A more complete description of these escape commands is in Section 3.1
of the Monitor Command Manual, MONCOM.BH[S,DOC] online.

Exit
^C
.