mirror of
https://github.com/PDP-10/its.git
synced 2026-01-13 15:27:28 +00:00
434 lines
15 KiB
Plaintext
434 lines
15 KiB
Plaintext
Copyright (c) 1999 Massachusetts Institute of Technology
|
||
See the COPYING file at the top-level directory of this project.
|
||
------------------------------
|
||
|
||
ITS TTY Variables:
|
||
|
||
This file attempts to maintain up-to-date documentation on all
|
||
the TTY variables. Those wonderful souls who update this information
|
||
in anyway (additions, deletions, corrections) should describe their
|
||
modifications in a brief note to INFO-ITS so that interested parties
|
||
can correct their copies or conceptions without needing to print or read
|
||
the entire file again. For example:
|
||
|
||
:MAIL INFO-ITS I added documentation on the FOO variable to TTYVAR.^C
|
||
----------------------------------------------------------------------
|
||
|
||
For a more complete description of TTY handling see the file
|
||
.INFO.;ITS TTY. This file exists primarily to facilitate lookup via
|
||
the DOC program. Use :DOC TTYVAR <name> to read the documentation
|
||
of a specific variable.
|
||
|
||
The system calls for reading and setting TTY variables are:
|
||
CNSGET, CNSSET, OPEN, RCPOS, RFNAME, RSSIZE, SCML, SCPOS, STYGET,
|
||
TTYGET, TTYSET, and TTYVAR.
|
||
|
||
BIT names:
|
||
|
||
Bit names begin with %Tx where x specifies which variable. Byte
|
||
pointer names begin with $Tx. Here is a list of the prefixs in use
|
||
and where they're found:
|
||
|
||
%TA TTYSTA
|
||
%TB .TTY
|
||
%TC TTYCOM
|
||
%TD output buffers (these are characters, not bits)
|
||
%TF ?
|
||
%TG TTYST1 and TTYST2
|
||
%TI IOCHNM (for input channels)
|
||
%TJ IOCHNM (for output channels)
|
||
%TN TCTYP (these are codes, not bits)
|
||
%TO TTYOPT LH
|
||
%TP TTYOPT RH
|
||
%TQ TTYSMT LH
|
||
%TR TTYSMT RH
|
||
%TS TTYSTS
|
||
%TT TTYTYP LH
|
||
%TX input buffers
|
||
%TY TTYTYP RH
|
||
|
||
HEIGHT: Screen Height (per-TTY)
|
||
|
||
HEIGHT contains the number of lines on the screen. For printing
|
||
terminals it is usually some large number.
|
||
|
||
This variable can be read with the CNSGET, RSSIZE, and TTYVAR system
|
||
calls and set with the CNSSET and TTYVAR system calls.
|
||
|
||
IDLTIM: Idle Time (per-TTY)
|
||
|
||
IDLTIM contains the length of time since the last input character
|
||
character was typed on the TTY, in 30'ths of a second.
|
||
|
||
This variable can be read with the TTYVAR system call.
|
||
|
||
IOCHNM: I/O channel bits (per-channel)
|
||
|
||
Some of the control bits set first time options and some are per-channel.
|
||
Those which are per-channel are marked below with a *. The standard names
|
||
for these bits are also given.
|
||
|
||
Control bits on input:
|
||
2.6 * %TIECH Read even if char needs pi echoing
|
||
2.5 * %TIPEK Don't remove char from buffer (peek)
|
||
2.3 * %TIACT Don't wait for activation char
|
||
2.2 * %TIINT Read even if char is an interrupt
|
||
char and hasn't interrupted yet.
|
||
2.1 * %TINWT Do not wait for input. If no input is
|
||
available, return -1 in unit mode, or
|
||
return a partially filled block in block mode.
|
||
1.9 * %TIFUL Use the full TV character set if possible.
|
||
In this mode, characters have this form:
|
||
2.3 %TXTOP Top.
|
||
2.2 Obsolete. Used to be Shift lock.
|
||
2.1 %TXSUP Super. Used to be Shift.
|
||
1.9 %TXMTA Meta.
|
||
1.8 %TXCTL Control.
|
||
1.7-1.1 %TXASC Ascii part of character.
|
||
Of course, for non-TV's only %TXASC
|
||
will be non-zero.
|
||
1.6 Set up 3 line echo area (like SCML of 3).
|
||
1.4 "DDT" mode. Initially clear the %TGPIE and
|
||
%TGMPE bits for carriage return, line feed,
|
||
and tab, thus causing them not to echo.
|
||
1.3 Image mode. Initially clear the %TGPIE
|
||
and %TGMPE bits for all characters.
|
||
1.2 0 = unit mode, 1 = block mode. In block mode,
|
||
^C causes a block mode end of file.
|
||
1.1 0 = input.
|
||
|
||
Control bits on output:
|
||
|
||
2.6 * %TJECH Echo mode output.
|
||
2.5 * %TJCTN Don't do line continuation.
|
||
2.4 * %TJSTP Channel is hung in **MORE**.
|
||
Unusual in that the system modifies this bit.
|
||
2.3 * %TJDIS Recognize ^P cursor codes.
|
||
2.2 * %TJSIO Super-image output. No padding
|
||
or cursor control is performed.
|
||
2.1 * %TJMOR Do not do **MORE** processing.
|
||
1.9 * %TJPP2 Output in the echo area if it exists.
|
||
1.6 Same as 2.2 - turns on %TJSIO.
|
||
1.5 Same as 2.3 - turns on %TJDIS.
|
||
1.4 Turns on %TJECH, %TJPP2, %TJMOR.
|
||
1.3 Image mode. Initially set %TGIMG bits
|
||
for all characters.
|
||
1.2 0 = unit mode, 1 = block mode. In block mode
|
||
output all ^C's are ignored.
|
||
1.1 1 = output.
|
||
|
||
The I/O channel word for a TTY channel can be read with RFNAME. It
|
||
is set by the OPEN call.
|
||
|
||
ISPEED: Input Speed (per-TTY)
|
||
|
||
ISPEED is the input speed of the terminal. It refers to the input
|
||
speed code stored in the TTYTYP variable. However, it is not a speed
|
||
code, but rather the speed in bits per second. Also, you are allowed to
|
||
set the ISPEED variable, while you are not allowed to set the whole TTYTYP
|
||
variable.
|
||
|
||
This variable can be read and set with the TTYVAR system call.
|
||
|
||
OSPEED: Output Speed (per-TTY)
|
||
|
||
OSPEED is the output speed of the terminal. It refers to the output
|
||
speed code stored in the TTYTYP variable. However, it is not a speed
|
||
code, but rather the speed in bits per second. Also, you are allowed to
|
||
set the OSPEED variable, while you are not allowed to set the whole TTYTYP
|
||
variable.
|
||
|
||
This variable can be read and set with the TTYVAR system call.
|
||
|
||
TCTYP: Terminal type code (per-TTY)
|
||
|
||
0 %TNPRT Printing terminal.
|
||
1 %TNDP Good Datapoint.
|
||
2 %TNODP Bad Datapoint ("loser").
|
||
3 %TNIML Imlac.
|
||
4 %TNTEK Tektronix.
|
||
5 %TNTV PDP-11 TV.
|
||
6 %TNMEM Memowreck.
|
||
7 %TNSFW Software terminal (accepts internal
|
||
ITS display codes, such as live in
|
||
internal terminal output buffers;
|
||
see ITS TTY for details).
|
||
10 %TNTRM Terminet.
|
||
11 %TNESC Display using ASCII standard display codes.
|
||
12 %TNDTM Datamedia.
|
||
13 %TNRAY Teleray 1061
|
||
14 %TNHDS Concept 100
|
||
15 %TNH19 Zenith H19
|
||
16 %TNAAA Ann Arbor Ambassador
|
||
|
||
This variable can be read with the CNSGET and TTYVAR system calls
|
||
and set with the CNSSET and TTYVAR system calls.
|
||
|
||
TTYCOM: Com-link bits (per-TTY)
|
||
|
||
4.9 Communicate mode.
|
||
4.8 %TCLFT Local feed through (my job sees his typing).
|
||
4.7 %TCRFT Remote feed through (his job sees my typing).
|
||
4.6 %TCICO Input comm override (my job sees my typing).
|
||
4.5 %TCOCO Output comm override (I see my job's typing).
|
||
4.4 %TCRFS Refuse comm messages.
|
||
4.3 %TCQRY Query me if comm attempted to me.
|
||
4.2 %TCMTR The tty's motor is off, and must be
|
||
turned on before next output.
|
||
(Currently only Terminets get turned off.)
|
||
4.1 %TCECH The last output to this tty was PI echo.
|
||
3.9 %TCINP Someone waited for input since last home-up.
|
||
3.8 %TCDET Console's tree detached by top level interrupt.
|
||
3.7 %TCDNG Type bell (input buffer full).
|
||
3.6 %TCCBK Reading uname or tty number after ^_K.
|
||
3.5 %TCCBS Reading uname or tty number after ^_S.
|
||
3.4 %TCFPD First part of an output code sequence is done.
|
||
3.3 %TCTPN Type ^_N on leaving comm (unless user types it).
|
||
3.2 %TCPAD 0 => padding necessary on datapoint.
|
||
3.1 %TCHNG Done flag seems to be fried - time out quickly.
|
||
2.9-1.1 -1 if not in comm mode; otherwise number of
|
||
next tty in circular list of those in comm mode
|
||
together.
|
||
|
||
Only the %TCICO, %TCOCO, %TCRFS, %TCQRY, %TCMTR, and %TCINP bits may
|
||
be set.
|
||
|
||
This variable can be read with the CNSGET and TTYVAR system calls
|
||
and set with the CNSSET and TTYVAR system calls.
|
||
|
||
TTYOPT: TTY capability and option bits (per-TTY)
|
||
|
||
4.8 %TOALT Standardize altmodes.
|
||
4.7 %TOCLC Convert lower case input to upper case.
|
||
4.6 %TOERS This tty can selectively erase.
|
||
4.5 %TOHDX This tty is half-duplex.
|
||
4.4 %TOMVB This tty can backspace directly.
|
||
4.3 %TOSAI This tty handles SAIL characters.
|
||
4.2 %TOSA1 Used to initialize %TSSAI for new jobs.
|
||
4.1 %TOOVR This tty can overprint correctly.
|
||
3.9 %TOMVU This tty can move its cursor upward.
|
||
3.8 %TOMOR Used to initialize %TSMOR for new jobs.
|
||
3.7 %TOROL Used to initialize %TSROL for new jobs.
|
||
3.6 %TORAW Don't optimize cursor motion.
|
||
3.5 %TOLWR This tty has a lower case keyboard.
|
||
3.4 %TOFCI This tty's keyboard has the full TV character set.
|
||
3.3 %TOIML This tty acts like an IMLAC.
|
||
3.2 %TOLID This tty can insert/delete lines.
|
||
3.1 %TOCID This tty can insert/delete characters.
|
||
2.9-2.7 $TPPLF How to pad line feeds:
|
||
0 Don't.
|
||
1 Two pad chars (Memorex, 2741).
|
||
2 Terminet.
|
||
2.6-2.4 $TPPCR How to pad carriage returns:
|
||
0 Don't. 4 Execuport.
|
||
1 Normal. 5 2741.
|
||
2 Double. 6 Memorex.
|
||
3 Unused. 7 Unused.
|
||
For a Datapoint, number of pad chars before
|
||
each string of cursor motion commands.
|
||
For a Terminet, 0=no padding, 1,2,3,4,5
|
||
correspond to 10,15,30,60,120 cps.
|
||
2.3-2.1 $TPPTB How to pad tabs:
|
||
0 Tabs not allowed.
|
||
<n> Use <n-1> pad chars.
|
||
On displays,
|
||
0 don't use tabs.
|
||
1 use tabs.
|
||
2 use VT52-style absolute positioning.
|
||
1.9 %TPMTA Treat bit 1.8 of input characters as the meta bit.
|
||
this is for terminals such as Telerays which have Edit keys.
|
||
1.8 %TPPRN interchange ( with [, and ) with ], on input.
|
||
1.7 %TPTEL Treat CRLF input as CR for TELNET protocol.
|
||
1.6 %TPCBS The ^\ intelligent terminal protocol is enabled.
|
||
1.5 %TP11T PDP-11 TV. Reflects %TY11T.
|
||
1.4 %TPORS Output reset really does something.
|
||
1.3 %TPRSC This tty can do region scrolling.
|
||
1.2 %TPIBC Oddball 2741-like tty. ;no longer defined
|
||
1.1 %TPIBM It really is a 2741. ;no longer defined
|
||
|
||
This variable can be read with the CNSGET and TTYVAR system calls
|
||
and set with the CNSSET and TTYVAR system calls.
|
||
|
||
TTYROL: Scroll count (per-TTY)
|
||
|
||
TTYROL contains the number of lines the TTY moves up when it scrolls.
|
||
Scrolling occurs when a LF is sent while the cursor is on the last line.
|
||
|
||
This variable can be read and set with the TTYVAR system call.
|
||
|
||
TTYSMT: Smarts (per-TTY)
|
||
|
||
Bits marked with a * are pertain to the graphics protocol. If %TQGRF is 0,
|
||
they should all be 0.
|
||
|
||
4.9-4.7 %TQMCH CPU type. 0 => unknown or uninteresting.
|
||
1 => PDP11. 2 => IMLAC PDS4. 3 => IMLAC PDS1.
|
||
4.6-4.2 * %TQHGT Character height in dots.
|
||
4.1-3.7 * %TQWID Character width in dots.
|
||
3.6 * %TQVIR Terminal implements virtual coordinates.
|
||
3.5 * %TQBNK Terminal implements blinking.
|
||
3.4 * %TQXOR Terminal implements XOR mode.
|
||
3.3 * %TQREC Terminal implements the rectangle commands.
|
||
3.2 * %TQSET Terminal implements multiple sets.
|
||
3.1 * %TQGRF Terminal understands the graphics protocol.
|
||
(Used to be called %TQGPH.)
|
||
2.9 * %TRGIN Terminal provides graphic input.
|
||
2.8 * %TRGHC Terminal provides has graphic hardcopy.
|
||
2.7 %TRLED Terminal supports the local-editing protocol.
|
||
(See SUPDUP doc)
|
||
2.6 * %TRSCN Terminal implements scan-line output.
|
||
2.5-2.3 %TRLSV Nonzero means terminal can save about 4**n lines.
|
||
(See SUPDUP doc)
|
||
2.2-1.7 %TRTIM Signed offset from GMT minus 20. A value of zero
|
||
means don't know, don't care, or user program
|
||
hasn't implemented it yet.
|
||
|
||
This variable can be read and set with the TTYVAR system call.
|
||
|
||
TTYSTA: Console Status
|
||
|
||
4.9 %TACFM Tty does not need a console free message
|
||
eventually (hasn't been in use since
|
||
the last one).
|
||
4.8 %TAC.Z Tty is being ^Z'd. Shouldn't be on with
|
||
%TACFM. If %TACFM and %TAC.Z are both 0,
|
||
the tty is being freed and a console free
|
||
message is immanent.
|
||
4.7 %TANJS This ^Z is being flushed because no job
|
||
slots are available. If set, %TAC.Z
|
||
will be 1 and %TACFM will be 0.
|
||
4.6-4.3 %TANEC Number of following chars to inhibit echo and ints for.
|
||
This is used for the arg chars that follow Top-E,
|
||
Top-S, Top-Y, etc.
|
||
|
||
This variable can be read with the STYGET system call.
|
||
|
||
TTYST1: Activation and Echo control word 1 (per-job)
|
||
|
||
This variable contains six groups of six bits.
|
||
Each group is as follows:
|
||
1.6 %TGMPE Echo at main program level (when IOT'ed).
|
||
1.5 %TGPIE Echo at interrupt level (when typed).
|
||
1.4 %TGIMG Echo in image mode.
|
||
1.3 %TGSPC Special hack: convert lower case to upper.
|
||
1.2 %TGACT Activation character.
|
||
1.1 %TGINT Interrupt character.
|
||
|
||
The character groups are:
|
||
4.9-4.4 ^@-^F ^K ^L ^N-^R ^T-^Z ^\-^_
|
||
4.3-3.7 Upper and lower case letters.
|
||
3.6-3.1 Digits.
|
||
2.9-2.4 ! " # $ % & ' , . : ; ? @ \ ` | ~
|
||
2.3-1.7 + * - / = ^ _
|
||
1.6-1.1 < > ( ) [ ] { }
|
||
|
||
This variable can be read with the TTYGET system call and set
|
||
with the TTYSET system call.
|
||
|
||
TTYST2: Activation and Echo control word 2 (per-job)
|
||
|
||
This variable contains six more groups of six bits.
|
||
Each group is as follows:
|
||
1.6 %TGMPE Echo at main program level (when IOT'ed).
|
||
1.5 %TGPIE Echo at interrupt level (when typed).
|
||
1.4 %TGIMG Echo in image mode.
|
||
1.3 %TGSPC Special hack: convert lower case to upper.
|
||
1.2 %TGACT Activation character.
|
||
1.1 %TGINT Interrupt character.
|
||
|
||
The character groups are:
|
||
4.9-4.4 ^G ^S
|
||
4.3-3.7 ^I ^J (tab, linefeed)
|
||
3.6-3.1 altmode (33)
|
||
2.9-2.4 ^M (carriage return)
|
||
2.3-1.7 rubout (177)
|
||
1.6-1.1 space, ^H (backspace)
|
||
|
||
This variable can be read with the TTYGET system call and set
|
||
with the TTYSET system call.
|
||
|
||
TTYSTS: TTY option bits (per-job)
|
||
|
||
4.9 %TSFRE Free console (not in use).
|
||
4.8 %TSCLE ^L should echo as "^L" (normally
|
||
clears screen on displays).
|
||
4.7 %TSHDX Same as %TOHDX. Vestigial.
|
||
4.6 %TSFCO Use full 12-bit TV char set for output and
|
||
echoing: echo CONTROL as ALPHA, echo META
|
||
as BETA, echo SUPER as EPSILON, and use
|
||
Sail graphics if TOP is set.
|
||
4.5 %TSALT Do not standardize altmodes.
|
||
4.4 %TSROL Scroll mode.
|
||
4.3 %TSSAI Echo and ascii output use SAIL
|
||
character set.
|
||
4.2 %TSACT Next input IOT shouldn't wait
|
||
for an activation character.
|
||
4.1 %TSNEA Don't echo in echo area; echo in M.P. Area.
|
||
3.9 %TSINT Next input character should
|
||
interrupt even if it ordinarily
|
||
would not (%TGINT = 0).
|
||
3.8 %TSMOR Inhibit **MORE** processing.
|
||
3.7 %TSATY Set whenever an .ATTY executed by
|
||
some superior returns the tty to
|
||
the job.
|
||
3.4 %TSNOE Defer echoing.
|
||
3.3 %TSLCZ Last character typed was ^Z.
|
||
This bit causes .ATTY's to fail.
|
||
3.2 %TSSII Super-image input. The special
|
||
actions of ^Z and ^_ are suppressed.
|
||
3.1 %TSCNS This is a console, not a device.
|
||
2.9-1.1 The user index of the job which controls
|
||
the tty, or -1 if the tty is free.
|
||
|
||
%TSFRE, %TSHDX, %TSLCZ, %TSCNS, and the RH may not be altered.
|
||
|
||
This variable can be read with the TTYGET system call and set
|
||
with the TTYSET system call.
|
||
|
||
TTYTYP: Semi-permanent stuff (per-TTY)
|
||
|
||
This variable may not be set, just read (but see ISPEED and OSPEED).
|
||
|
||
4.9 %TTLCL Local tty (i.e. right near the PDP-10).
|
||
4.8 %TT340 Near the 340 or a 340 slave.
|
||
4.7 %TT3HP High priority for grabbing 340.
|
||
4.3 %TTPAR Tty needs a parity bit generated by software.
|
||
4.2 %TTDDI Don't ding bell on excess input.
|
||
4.1 %TTIBM Datel (2741) line.
|
||
3.8-3.5 $TTISP Input speed code:
|
||
0 = unknown 6 = 1800 baud 13 = 40K baud
|
||
1 = 600 baud 7 = 2400 baud 14 = 50K baud
|
||
2 = 110 baud 10 = 4800 baud 15 = 80K baud
|
||
3 = 150 baud 11 = 9600 baud 16 unused
|
||
4 = 300 baud 12 = 25K baud 17 unused
|
||
5 = 1200 baud
|
||
3.4-3.1 $TTOSP Output speed code, as above.
|
||
2.9 %TYDPK Datapoint controller line.
|
||
2.8 %TYSTY Alter ego to a STY.
|
||
2.7 %TYNVA Nova tty (requiescat in pace).
|
||
2.6 %TYMTY Morton controller line.
|
||
2.5 %TYDIL Dial-up line.
|
||
2.4 %TY11T PDP-11 TV tty.
|
||
2.3 %TYDL DL-10 tty.
|
||
2.2 %TYOTY KA-10 console tty.
|
||
2.1 %TYETY DTE-20 tty.
|
||
1.9 %TYNTY TK-10 tty.
|
||
1.8 %TYMDM Dial-up line with modem control.
|
||
1.7 %TYKST KS-10 console tty.
|
||
1.6 %TYDZT DZ-11 tty on a KS-10.
|
||
1.5 %TYRLM ROLM data switch tty.
|
||
|
||
This variable can be read with the CNSGET and TTYVAR system calls.
|
||
|
||
WIDTH: Screen width (per-TTY)
|
||
|
||
WIDTH contains the no. of usable print positions on a line for the
|
||
TTY. It is usually one or two less than the actual no. of columns to allow
|
||
room for a "!" in the last column to indicate typeout being continued on
|
||
the next line (two columns are required when the terminal loses by
|
||
automatically performing a CRLF operation when a character is output to
|
||
the last column).
|
||
|
||
This variable can be read with the CNSGET, RSSIZE and TTYVAR system
|
||
calls and set with the CNSSET and TTYVAR system calls.
|