Trailing-Edge
-
PDP-10 Archives
-
steco_19840320_1er_E35
-
10,5676/teco/newsrc/tectbl.mac
There are 5 other files named tectbl.mac in the archive. Click here to see a list.
SUBTTL Introduction
; Copyright (c) 1980, 1981 Stevens Institute of Technology, Hoboken, New Jersey
; 07030.
; This software may be used and copied provided that this copyright notice
;is included, and provided that copies of all modifications are sent to:
;
; TECO Project
; Computer Center
; Stevens Institute of Technology
; Castle Point Station
; Hoboken, New Jersey 07030
;
;
; The information in this software is subject to change without notice
; and should not be construed as a commitment by Stevens Institute of
; Technology.
; Search needed universals
SEARCH TECUNV ; TECO universal file
; Generate the prologue
TECVER==200 ; Major version number
TECMIN==1 ; Minor version number
TECEDT==1163 ; Edit level
TECWHO==0 ; Last editor
PROLOGUE(TBL,<TECO Command and Video tables>) ; Generate the TITLE and other stuff
$CODE ; Put into code PSECT
SUBTTL Table of Contents
;+
;.pag.lit
; Table of Contents for TECTBL - Command and video tables
;
;
; Section Page
; 1. Introduction . . . . . . . . . . . . . . . . . . . . . 1
; 2. Revision History . . . . . . . . . . . . . . . . . . . 3
; 3. Character dispatch table
; 3.1. Main. . . . . . . . . . . . . . . . . . . . . 4
; 3.2. E Commands. . . . . . . . . . . . . . . . . . 6
; 3.3. F Commands. . . . . . . . . . . . . . . . . . 7
; 4. E Commands
; 4.1. EV processing
; 4.1.1. Terminal tables. . . . . . . . . . . 8
; 5. End of TECTBL. . . . . . . . . . . . . . . . . . . . . 10
;.end lit.pag
;-
SUBTTL Revision History
COMMENT |
1000 Start of this version
1001 By: Nick Bush On: 15-July-1980
Fix table entry to allow EH commands without an argument.
Avoid %TECSUP messages when doing an EB/INPLACE.
Modules: TECTBL,TECFIL
1025 By: Nick Bush On: 20-August-1980
Finish support for DEC VT-100 terminals. There are two flavors.
EVVT100$ uses ANSI mode sequences for 80 character wide VT-100.
EVVT132$ uses ANSI mode sequences for 132 character wide VT-100.
Modules: TECTBL,TECDUM,TECDEC
1046 By: Nick Bush On: 16-October-1980
Add support for Hazeltine 1420 terminal.
Modules: TECHZL,TECTBL
1061 By: Nick Bush On: 18-December-1980
1) Finish and debug Tektronix 4025 support.
2) Add FW command.
3) Add capability of logging screen update info in log file.
Modules: TECUNV,TECTEK,TECSRH,TECTBL,TECECM,TECVID,TECERR
1062 By: Nick Bush On: 18-December-1980
Add n^D command to go down one screen line staying in the same column.
Also add ^D as an immediate command to do a 1^D and ^U to do a -1^D.
Modules: TECPRS,TECTBL,TECMVM
1124 By: Robert McQueen On: 31-August-1981
Incorporate the VT61 support (written by Nick Tamburri from DEC) and the
corrected VT05 support (by Vern Brownell).
Modules: TECTBL,TECDEC
Start of Version 200A(1126)
1133 By: Nick Bush On: 11-December-1981
Remove delete/insert character flag from entry for VT-61 since it is nearly
impossible to do it right.
Add control-C intercept flag for Tektronics 4025 to reset the command sequence
to the expected thing.
Modules: TECTBL
1151 By: Nick Bush On: 24-March-1982
Add Q-register 'EXIT-BUFFER' to be executed whenever TECO is exiting.
Also remove the string to set VT-100's to smooth scroll on exit. This
can now be done by putting the correct macro in 'EXIT-BUFFER'.
Modules: TECUNV,TECECM,TECPRS,TECTBL,TECDEC
1161 By: Nick Bush On: 13-May-1982
Add new code to support peek-ahead for immediate (FC table) commands and
for a new form of the control-T command.
Add the new form of the control-T command to allow macros to peek at
input, and to make use of timed input. Also add the Q-register
TERMINAL-INPUT-BUFFER to hold the text being peeked at, with the side
effect of allowing macros to store text into the Q-register, and have
it be treated as input typed on the terminal.
Also change the space command to just pass through the arguments unless
EO is set to 4 or less.
Modules: TECUNV,TECVID,TECUPD,TECMVM,TECPRS,TECTRM,TECCMD,TECTBL
1163 By: Nick Bush On: 19-May-1982
Fix ill mem ref when terminal length is set so that command buffer is
not displayed.
Also add VK100 (GIGI) support from Nick Tamburri at DEC.
Modules: TECUPD,TECTBL,TECDEC
|
SUBTTL Character dispatch table -- Main
; The following is the command dispatch table. This table also includes
; various flags to denote the type of character that is being processed.
; For a complete description of the flags in this table see the character
; flags section under flags.
DEFINE TSTQRG(VALUE)<
IFDEF .QR'VALUE,<
$$F==$$F!CF.QRG+<INSVL.(.QR'VALUE,CD.QRI)>
>
>
DEFINE PARITY (CHARACTER,SHIFT)
<IFE <SHIFT><1>+IFN <SHIFT><<<CHARACTER>&1>^!<PARITY(<CHARACTER_-1>,<SHIFT-1>)>>>
DEFINE COMMAND(XXX),<
DEFINE CHRENT(ARG1,ARG2,POSTARG,FLAGS,CHR,DSP),<
$$F== 0
.XCREF $$F
IFNB <FLAGS>,<IRP <FLAGS>,<$$F==$$F+CF.'FLAGS>>
$$$VAL==CHR
IFN CF.LC&$$F,<$$$VAL==$$$VAL-40>
TSTQRG(\$$$VAL)
TABENT CHR,$$F!<INSVL.(<PARITY(\<CHR>,7)>,CF.PAR)>!<INSVL.(.CP'POSTARG,CD.PST)>!<INSVL.($CA'ARG1,CD.AG1)>!<INSVL.($CA'ARG2,CD.AG2)>
>; End of CHRENT macro definition
DEFINE CHRLCE(ARG1,ARG2,POSTARG,FLAGS,CHR,DSP),<
$$F== 0
.XCREF $$F
IFNB <FLAGS>,<IRP <FLAGS>,<$$F==$$F+CF.'FLAGS>>
$$$VAL==CHR
TSTQRG(\$$$VAL)
TABENT CHR,$$F!<INSVL.(<PARITY(\<CHR>,7)>,CF.PAR)>!<INSVL.(.CP'POSTARG,CD.PST)>!<INSVL.($CA'ARG1,CD.AG1)>!<INSVL.($CA'ARG2,CD.AG2)>
TABENT <CHR+40>,$$F!<INSVL.(<PARITY(\<CHR+40>,7)>,CF.PAR)>!CF.LC!<INSVL.(.CP'POSTARG,CD.PST)>!<INSVL.($CA'ARG1,CD.AG1)>!<INSVL.($CA'ARG2,CD.AG2)>
>; End of CHRLCE macro definition
TABDEF XXX'FLG ; Define the table
CHRS ; Generate the table
TABEND ; End of the table
DEFINE CHRENT(ARG1,ARG2,POST,A,CHR,COMMAND),<
$$F==0
.XCREF $$F
IRP <A>,<IFIDN <A>,<ECA>,<$$F==-1>>
IFE $$F,<
TABENT CHR,<INSVL. (COMMAND,CD.CMD)>
> ; End of IFE $$F
IFN $$F,<
TABENT CHR,<INSVL. (<[XWD COMMAND'FLG,COMMAND'TBL]>,CD.CMD)>
> ; End of IFN $$F
>
DEFINE CHRLCE(ARG1,ARG2,POST,A,CHR,COMMAND),<
$$F==0
.XCREF $$F
IRP <A>,<IFIDN <A>,<ECA>,<$$F==-1>>
IFE $$F,<
TABENT CHR,<INSVL. (COMMAND,CD.CMD)>
TABENT <CHR+40>,<INSVL. (COMMAND,CD.CMD)>
> ; End of IFE $$F
IFN $$F,<
TABENT CHR,<INSVL. (<[XWD COMMAND'FLG,COMMAND'TBL]>,CD.CMD)>
TABENT <CHR+40>,<INSVL. (<[XWD COMMAND'FLG,COMMAND'TBL]>,CD.CMD)>
> ; End of IFN $$F
>
TABDEF XXX,,ERRILC
CHRS
TABEND
>; End of COMMAND macro definition
DEFINE CHRS,<
XLIST ;; Remove this octal
CHRENT (NON,NON,NON,,.CHNUL,ERRILC) ;; Null
CHRENT (NON,NON,DEL,,.CHCNA,CMNT) ;; Control A
CHRENT (NON,NON,NON,<1ST>,.CHCNB,ERRILC) ;; Control B
CHRENT (NON,NON,NON,,.CHCNC,STOP) ;; Control C
CHRENT (DF1,NON,NON,<1ST>,.CHCND,CDCMD) ;; Control D
CHRENT (NON,NON,NON,,.CHCNE,FFEED) ;; Control E
CHRENT (OPN,NON,NON,,.CHCNF,LAT) ;; Control F
CHRENT (OPN,OPN,NON,,.CHBEL,BELDMP) ;; Control G (Bell)
CHRENT (NON,NON,NON,1ST,.CHCNH,GTIME) ;; Control H
CHRENT (NON,NON,INS,,.CHTAB,TAB) ;; Control I (Tab)
CHRENT (OSN,OSN,NON,1ST,.CHLFD,PASRET) ;; Control J (Line Feed)
CHRENT (NON,NON,NON,,.CHVTB,ERRILC) ;; Control K (Vertical Tab)
CHRENT (NON,NON,NON,1ST,.CHFFD,FFDCMD) ;; Control L (Form Feed)
CHRENT (OSN,OSN,NON,,.CHCRT,PASRET) ;; Control M (Carriage Return)
CHRENT (NON,NON,NON,,.CHCNN,EOF) ;; Control N
CHRENT (NON,NON,NON,,.CHCNO,OCTIN) ;; Control O
CHRENT (OPN,NON,NON,,.CHCNP,QPAGE) ;; Control P
CHRENT (NON,NON,NON,,.CHCNQ,ERRILC) ;; Control Q
CHRENT (NON,NON,NON,,.CHCNR,ERRILC) ;; Control R
CHRENT (NON,NON,NON,,.CHCNS,ERRILC) ;; Control S
CHRENT (OPN,OPN,NON,,.CHCNT,SPTYI) ;; Control T
CHRENT (MBN,NON,NON,1ST,.CHCNU,IUSET) ;; Control U
CHRENT (OPN,NON,NON,1ST,.CHCNV,LOWCAS) ;; Control V
CHRENT (OPN,NON,NON,1ST,.CHCNW,STDCAS) ;; Control W
CHRENT (OPN,NON,NON,,.CHCNX,SETMCH) ;; Control X
CHRENT (OPN,NON,NON,,.CHCNY,QYANK) ;; Control Y
CHRENT (NON,NON,NON,,.CHCNZ,DECDMP) ;; Control Z
CHRENT (OSN,OSN,NON,EOL,.CHESC,ALTMOD) ;; Control [
CHRENT (NON,NON,NON,,.CHCBS,ERRILC) ;; Control \
CHRENT (NON,NON,NON,,.CHCRB,ERRILC) ;; Control ]
CHRENT (NON,NON,CHR,,.CHCCF,CNTRUP) ;; Control ^
CHRENT (NON,NON,NON,,.CHCUN,ERRILC) ;; Control _
CHRENT (ARG,ARG,NON,<1ST>,.CHSPC,SPCCMD) ;; Space
CHRENT (OPN,OPN,DEL,,<"!">,EXCLAM) ;; "!"
CHRENT (OSN,OSN,NON,<ECA>,"""",QCM) ;; Double quote
CHRENT (ARG,ARG,NON,,"#",COR) ;; "#"
CHRENT (NON,NON,NON,SYM,"$",ERRILC) ;; "$"
CHRENT (OPN,NON,QRG,SYM,"%",PCNT) ;; "%"
CHRENT (ARG,ARG,NON,,"&",CAND) ;; "&" (And)
CHRENT (NON,NON,NON,,"'",SQUOTE) ;; "'" (Single Quote)
CHRENT (NON,NON,NON,,.CHLPR,OPENP) ;; "("
CHRENT (MBN,NON,NON,,.CHRPR,CLOSEP) ;; ")"
CHRENT (ARG,ARG,NON,<1ST>,"*",TIMES) ;; "*"
CHRENT (ARG,ARG,NON,,"+",PLUS) ;; "+"
CHRENT (MNS,NON,NON,<CLN>,<",">,COMMA) ;; ","
CHRENT (ARG,ARG,NON,,"-",MINUS) ;; "-"
CHRENT (NON,NON,NON,,".",PNT) ;; "."
CHRENT (ARG,ARG,NON,1ST,"/",SLASH) ;; "/"
CHRENT (ARG,ARG,NON,<SYM,NUM>,"0",CDNUM) ;; Numeric 0
CHRENT (ARG,ARG,NON,<SYM,NUM>,"1",CDNUM) ;; Numeric 1
CHRENT (ARG,ARG,NON,<SYM,NUM>,"2",CDNUM) ;; Numeric 2
CHRENT (ARG,ARG,NON,<SYM,NUM>,"3",CDNUM) ;; Numeric 3
CHRENT (ARG,ARG,NON,<SYM,NUM>,"4",CDNUM) ;; Numeric 4
CHRENT (ARG,ARG,NON,<SYM,NUM>,"5",CDNUM) ;; Numeric 5
CHRENT (ARG,ARG,NON,<SYM,NUM>,"6",CDNUM) ;; Numeric 6
CHRENT (ARG,ARG,NON,<SYM,NUM>,"7",CDNUM) ;; Numeric 7
CHRENT (ARG,ARG,NON,<SYM,NUM>,"8",CDNUM) ;; Numeric 8
CHRENT (ARG,ARG,NON,<SYM,NUM>,"9",CDNUM) ;; Numeric 9
CHRENT (NON,NON,NON,<CLN>,":",COLON) ;; ":"
CHRENT (OPN,NON,NON,<1ST>,<";">,SEMICL) ;; ";"
CHRENT (OPN,NON,NON,,.CHLAB,LSSTH) ;; Left angle bracket
CHRENT (MNS,OPN,NON,,"=",PRNT) ;; "="
CHRENT (OSN,OSN,NON,,.CHRAB,GRTH) ;; Right angle bracket
CHRENT (NON,NON,NON,1ST,"?",QUESTN) ;; "?"
CHRENT (NON,NON,AT,AT,"@",ATSIGN) ;; "@"
CHRLCE (OPN,OPN,NON,<SYM,ALP>,"A",ACMD) ;; Upper Case A
CHRLCE (NON,NON,NON,<SYM,ALP>,"B",RETZER) ;; Upper Case B
CHRLCE (DF1,NON,NON,<SYM,ALP>,"C",CHARAC) ;; Upper Case C
CHRLCE (DF1,NON,NON,<SYM,ALP>,"D",DELETE) ;; Upper Case D
CHRLCE (OSN,OSN,NON,<SYM,ALP,ECA>,"E",ECM) ;; Upper Case E
CHRLCE (OSN,OSN,NON,<SYM,ALP,ECA>,"F",FCM) ;; Upper Case F
CHRLCE (NON,NON,QRG,<SYM,ALP>,"G",QGET) ;; Upper Case G
CHRLCE (NON,NON,NON,<SYM,ALP>,"H",HOLE) ;; Upper Case H
CHRLCE (OSN,NON,INS,<SYM,ALP>,"I",INSERT) ;; Upper Case I
CHRLCE (OPN,NON,NON,<SYM,ALP>,"J",JMP) ;; Upper Case J
CHRLCE (DF1,OPN,NON,<SYM,ALP>,"K",KILL) ;; Upper Case K
CHRLCE (DF1,NON,NON,<SYM,ALP>,"L",LINE) ;; Upper Case L
CHRLCE (OSN,OSN,QRG,<SYM,ALP>,"M",MAC) ;; Upper Case M
CHRLCE (DF1,NON,SRH,<SYM,ALP>,"N",N$CMD) ;; Upper Case N
CHRLCE (NON,NON,ALT,<SYM,ALP>,"O",OG) ;; Upper Case O
CHRLCE (OPN,OPN,PW,<SYM,ALP>,"P",PUNCHA) ;; Upper Case P
CHRLCE (NON,NON,QRG,<SYM,ALP>,"Q",QREG) ;; Upper Case Q
CHRLCE (DF1,NON,NON,<SYM,ALP>,"R",REVERS) ;; Upper Case R
CHRLCE (DF1,OPN,SRH,<SYM,ALP>,"S",SERCH) ;; Upper Case S
CHRLCE (DF1,OPN,NON,<SYM,ALP>,"T",TYPE) ;; Upper Case T
CHRLCE (MNS,OSN,QRG,<SYM,ALP>,"U",USE) ;; Upper Case U
CHRLCE (DF1,OPN,NON,<SYM,ALP>,"V",VCMD) ;; Upper Case V
CHRLCE (OSN,OSN,QRG,<SYM,ALP>,"W",MJRST) ;; Upper Case W
CHRLCE (DF1,OPN,QRG,<SYM,ALP>,"X",XCMD) ;; Upper Case X
CHRLCE (NON,NON,NON,<SYM,ALP>,"Y",YANKER) ;; Upper Case Y
CHRLCE (NON,NON,NON,<SYM,ALP>,"Z",END1) ;; Upper Case Z
CHRENT (OSN,OSN,QRG,,"[",OPENB) ;; "["
CHRENT (OPN,NON,NON,,"\",BAKSL) ;; "\"
CHRENT (NON,NON,QRG,,"]",CLOSEB) ;; "]"
CHRENT (ARG,ARG,CHR,,"^",UAR) ;; "^"
CHRENT (DF1,NON,SRH,,"_",LARR) ;; "_"
CHRENT (NON,NON,AT,AT,"`",ATSIGN) ;; Lower Case "`"
CHRENT (ARG,ARG,SAG,,"{",STRARG) ;; "{"
CHRENT (NON,NON,NON,,"|",ERRILC) ;; "|"
CHRENT (NON,NON,NON,,"}",ERRILC) ;; "}"
CHRENT (NON,NON,NON,,"~",ERRILC) ;; "~"
CHRENT (NON,NON,NON,,.CHDEL,ERRILC) ;; Rubout
LIST ;; Turn the listing back on
>;; End of CHRS macro definition
MAX==.CHDEL ; Max character
COMMAND CHR ; Generate the table
ERRILC: ERROR E.ILC ; Illegal character
SUBTTL Character dispatch table -- E Commands
; The following is the disptach table for the E commands
DEFINE CHRS,<
XLIST ;; Remove from the listing
CHRENT (NON,NON,QRG,<RST>,.CHLAB,E$LANG) ;; E Left angle bracket
CHRENT (NON,NON,QRG,<RST>,.CHRAB,E$RANG) ;; E Right angle bracket command
CHRENT (MBN,MBN,QRG,<RST>,"$",SETWIN) ;; E$ Command
CHRENT (NON,NON,QRG,<RST>,".",SWTBUF) ;; E. Command
CHRENT (OPN,NON,ALT,<RST>,"?",EQUEST) ;; E? Command
CHRLCE (NON,NON,ALT,<RST>,"A",OPNWRA) ;; EA Command
CHRLCE (NON,NON,ALT,<RST>,"B",EBCMD) ;; EB Command
CHRLCE (OPN,NON,NON,<RST>,"C",ECCMD) ;; EC Command
CHRLCE (NON,NON,ALT,<RST>,"D",EDCMD) ;; ED Command
CHRLCE (NON,NON,ALT,<RST>,"E",EECMD) ;; EE Command
CHRLCE (NON,NON,NON,<RST>,"F",CLOSEF) ;; EF Command
CHRLCE (NON,NON,NON,<RST>,"G",EGCMD) ;; EG Command
CHRLCE (OPN,NON,NON,<RST>,"H",ERRSET) ;; EH Command
CHRLCE (OSN,OSN,ALT,<RST>,"I",EICMD) ;; EI Command
CHRLCE (OPN,NON,QRG,<RST>,"J",EJCMD) ;; EJ Command
CHRLCE (NON,NON,NON,<RST>,"K",EKILL) ;; EK Command
CHRLCE (OPN,NON,ALT,<RST>,"L",MAKLOG) ;; EL Command
CHRLCE (MBN,NON,NON,<RST>,"M",EMTAPE) ;; EM Command
CHRLCE (NON,NON,ALT,<RST>,"N",ENCMD) ;; EN Command
CHRLCE (OPN,NON,NON,<RST>,"O",OLDMOD) ;; EO Command
CHRLCE (NON,NON,ALT,<RST>,"P",EPCMD) ;; EP Command
CHRLCE (NON,NON,ALT,<RST>,"Q",EQCMD) ;; EQ Command
CHRLCE (NON,NON,ALT,<RST>,"R",OPNRD) ;; ER Command
CHRLCE (OPN,NON,NON,<RST>,"S",AUTOTY) ;; ES Command
CHRLCE (OPN,NON,NON,<RST>,"T",TYOCTL) ;; ET Command
CHRLCE (OPN,NON,NON,<RST>,"U",TYCASE) ;; EU Command
CHRLCE (OPN,OPN,ALT,<RST>,"V",VIDEO) ;; EV Command
CHRLCE (NON,NON,ALT,<RST>,"W",OPNWR) ;; EW Command
CHRLCE (NON,NON,NON,<RST>,"X",FINISH) ;; EX Command
CHRLCE (NON,NON,NON,<RST>,"Y",YANK) ;; EY Command
CHRLCE (NON,NON,ALT,<RST>,"Z",ZERDIR) ;; EZ Command
LIST ;; Turn the listing back on
> ; End of CHRS macro definition
COMMAND ECM
SUBTTL Character dispatch table -- F Commands
; The following is the dispatch table for the F commands
DEFINE CHRS,<
XLIST ;; Turn the listing off
CHRLCE (NON,NON,ALT,<RST>,"C",FCCMD) ;; FC command
CHRLCE (DF1,OPN,SRH,<RST>,"D",FDSRCH) ;; FD command
CHRLCE (NON,NON,ALT,<RST>,"I",FICMD) ;; FI command
CHRLCE (DF1,OPN,SRH,<RST>,"K",FKSRCH) ;; FK command
CHRLCE (DF1,OPN,SIN,<RST>,"N",FNSRCH) ;; FN command
CHRLCE (DF1,OPN,SIN,<RST>,"S",FSSRCH) ;; FS command
CHRLCE (DF1,NON,NON,<RST>,"W",FW$CMD) ;; FW command
LIST ;; Turn the listing back on
> ; End of CHRS macro definition
COMMAND FCM ; Generate the F command table
SUBTTL Character dispatch table -- " Commands
; The following is the dispatch table for the double quote commands.
DEFINE CHRS,<
XLIST ;; Turn off the listing
CHRENT (MBN,NON,NON,<RST>,.CHLAB,DQ.L) ;; " left angle bracket command
CHRENT (MBN,NON,NON,<RST>,"=",DQ.E) ;; "= command
CHRENT (MBN,NON,NON,<RST>,.CHRAB,DQ.G) ;; " right angle bracket command
CHRLCE (MBN,NON,NON,<RST>,"A",DQ.A) ;; "A command
CHRLCE (MBN,NON,NON,<RST>,"C",DQ.C) ;; "C command
CHRLCE (MBN,NON,NON,<RST>,"D",DQ.D) ;; "D command
CHRLCE (MNS,OSN,NON,<RST>,"E",DQ.E) ;; "E command
CHRLCE (MBN,NON,NON,<RST>,"F",DQ.F) ;; "F command
CHRLCE (MNS,OSN,NON,<RST>,"G",DQ.G) ;; "G command
CHRLCE (MNS,OSN,NON,<RST>,"L",DQ.L) ;; "L command
CHRLCE (MNS,OSN,NON,<RST>,"N",DQ.N) ;; "N command
CHRLCE (MBN,NON,NON,<RST>,"S",DQ.S) ;; "S command
CHRLCE (MBN,NON,NON,<RST>,"T",DQ.T) ;; "T command
CHRLCE (MBN,NON,NON,<RST>,"U",DQ.U) ;; "U command
CHRLCE (MBN,NON,NON,<RST>,"V",DQ.V) ;; "V command
CHRLCE (MBN,NON,NON,<RST>,"W",DQ.W) ;; "W command
LIST ;; Turn the listing back on
> ; End of CHRS macro definition
COMMAND QCM ; Generate the quote command table
SUBTTL E Commands -- EV processing -- Terminal tables
; The following is a macro that is expanded to produce
; the different entries in the CRT tables.
DEFINE CRTS,<
VT TTY, <TTY,RUB> ,VTTY ;; normal TTY
VT CRT, <WAP,RUB,CRT> ,VCRT ;; Any CRT
VT ACT4, <CRT,WAP> ,VACT4 ;; ACT-4
VT ACT5, <CRT,WAP> ,VACT5 ;; ACT-5
VT ADD580, <CRT> ,VADD5 ;; ADDS Consul 580
VT ADM2, CRT ,VADM2 ;; ADM2 CRT
VT ADM3, <WAP,CRT> ,VADM3 ;; ADM3 CRT
VT ADM3A, <WAP,CRT> ,VAD3A ;; ADM3A
VT BEE, CRT ,VBEE ;; Beehive CRT
VT CDC, CRT ,VCDC ;; ???
VT DM1520, <WAP,CRT,NWPTAB>,V1520 ;; Datamedia 1520
VT DPT, <WAP,CRT> ,VDPT ;; Datapoint CRT
VT H19, <DIC,DIL,CRT,WAP,TAB>,VH19 ;; Heathkit H19 (VT52 compat)
VT H19A, <DIC,DIL,CRT,WAP,TAB>,VH19A ;; Heathkit H19 (Native mode)
VT H1200, CRT ,VHZL1 ;; H1200
VT H1500, CRT ,VHZL5 ;; H1500
VT H1420, <CRT,DIL,WAP> ,VHZ14 ;; Hazeltine 1420
VT H2000, CRT ,VHZL2 ;; H2000
VT HMOD1, <CRT,WAP> ,VHM1 ;; Hazeltime MOD-1
VT HMOD1I, <CRT,DIL,WAP> ,VHM1 ;; Hazeltime MOD-1 with insert/delete line
VT HP2621, <DIC,DIL,CRT,WAP>,VHP21 ;; HP-2621
VT HP2640, <WAP,CRT> ,VHP26 ;; HP-2640
VT HP2648, <DIC,DIL,CRT,WAP>,VHP21 ;; HP-2648 (same)
VT RGNT25, <WAP,CRT> ,VRG25 ;; ADDS REGENT 25
VT TELRAY, <CRT,DIC,DIL> ,VTR10 ;; Teleray-10/1061
VT TELVID, <CRT,DIC,DIL> ,VTVI ;; TELEVID 912/920
VT TK4025, <WAP,DIC,DIL,CRT>,VT25 ;; Tektronic 4025
VT VT05, <WAP,CRT> ,VVT05 ;; DEC VT05
VT VT100, <CRT,DIL,SCR>,VV100 ;; DEC VT100
VT VK100, <CRT,TAB,WAP,RLF>,VK100 ;; DEC VK100 GIGI
VT VT50, <WAP,CRT> ,VVT50 ;; VT50
VT VT52, <CRT,TAB,RLF> ,VVT52 ;; DEC VT52
VT VT61, <DIL,WAP,TAB,CRT>,VVT61 ;; DEC VT61
>
DEFINE VT(A,B,C),<
EXP SIXBIT /A/
>
CRTTAB: CRTS ; Generate the sixbit
NUMCRT==.-CRTTAB
DEFINE VT(A,B,C),<
IFIDN <A>,<CRT>,<CRTGEN:> ;;General CRT
$$F==CR$NRM
IFNB <B>,<IRP <B>,<$$F==$$F+CR$'B>>
EXP <$$F+C'FLG##+C'TBL##> ;;GENERATE FLAGS,,ADDRESSS
>
CRTDSP: CRTS
SUBTTL End of TECTBL
END ; End of TECTBL