Google
 

Trailing-Edge - PDP-10 Archives - BB-KL11M-BM_1990 - t20src/execca.mac
There are 64 other files named execca.mac in the archive. Click here to see a list.
; Edit= 4448 to EXECCA.MAC on 22-May-90 by GSCOTT
;Default the directory for SET DIRECTORY commands, validate account for the
;SET DIRECTORY ACCOUNT-DEFAULT command, and add SET FILE [NO] PERMANENT, SET
;FILE [NO] SAVED-BY-BACKUP-SYSTEM, SET FILE [NO] TEMPORARY, and SET FILE [NO]
;UNDELETABLE. 
; Edit= 4429 to EXECCA.MAC on 25-Sep-89 by GSCOTT
;Change references from "ARPANET" to "INTERNET", keeping old commands around
;with the invisible bit for CMDs, CTLs, and habitual users.
; Edit= 4427 to EXECCA.MAC on 27-Apr-89 by GSCOTT
;Add support for ENABLE/DISABLE NOT-LOGGED-IN-SYSTAT command in SETSPD. 
; Edit= 4424 to EXECCA.MAC on 9-Mar-89 by GSCOTT
;Support terminal type IDEAL. 
; Edit= 4412 to EXECCA.MAC on 13-Dec-88 by RASPUZZI
;Add new commands, features and support for security enhancements.
; UPD ID= 4111, RIP:<7.EXEC>EXECCA.MAC.7,   7-Mar-88 18:21:38 by GSCOTT
;TCO 7.1255 - Update copyright notice.
; UPD ID= 18, RIP:<7.EXEC>EXECCA.MAC.6,  22-Sep-87 11:15:37 by EVANS
; More TCO 7.1061 - Fill in TCO numbers around edits and add header line.
; UPD ID= 11, RIP:<7.EXEC>EXECCA.MAC.4,  22-Sep-87 10:46:13 by EVANS
; TCO 7.1061 - Implement SET REMOTE-PRINTING CHARACTERISTIC and INFORMATION
;		(ABOUT) REMOTE-PRINTING.
; UPD ID= 9, RIP:<7.EXEC>EXECCA.MAC.3,   4-Aug-87 17:00:22 by EVANS
; TCO 7.1031 - Add table entries for new remote printing feature.
; *** Edit 3060 to EXECCA.MAC by EVANS on 1-Apr-87
; Make sure we find VT300 in BLNKTB: 
; *** Edit 3056 to EXECCA.MAC by EVANS on 18-Mar-87
; Fix typo (extraneous line) in 3055
; *** Edit 3055 to EXECCA.MAC by EVANS on 11-Mar-87
; Add VT300 - dependent monitor edits 7423 and 7424. 
; *** Edit 3050 to EXECCA.MAC by EVANS on 29-Oct-86, for SPR #00092
; Reset STATSW to zero to prevent mulitply defined symbols when linking with
; distributed PCL and MIC modules; remove the STAT code so we don't do the
; statistics.
; *** Edit 3028 to EXECCA.MAC by EVANS on 17-Mar-86, for SPR #21084 (TCO none)
; In BLNKTB, treat H19/Z19 like a VT52, not like a VT100.
; Edit 3006 to EXECCA.MAC by EVANS on 7-Aug-85
; Answer QAR 838574 by adding a leading space to the entry for terminal type
; VT200-SERIES. 
; UPD ID= 271, SNARK:<6.1.EXEC>EXECCA.MAC.21,  28-Jun-85 08:55:54 by PRATT
;More TCO 6.1.1404 - Allow SET EDIT xxx
; UPD ID= 259, SNARK:<6.1.EXEC>EXECCA.MAC.20,  21-Jun-85 12:44:55 by EVANS
;More TCO 6.1.1404 - Add RECALL; make REDO and AGAIN invisible.
; UPD ID= 255, SNARK:<6.1.EXEC>EXECCA.MAC.19,  20-Jun-85 14:21:34 by EVANS
;More TCO 6.1.1404 - Set NOSAVE flag for REDO, AGAIN, and INFO HISTORY
; UPD ID= 250, SNARK:<6.1.EXEC>EXECCA.MAC.18,  19-Jun-85 14:41:49 by PRATT
;More TCO 6.1.1404 - Int level for cmd editor should be LV.CED, not 1
; UPD ID= 221, SNARK:<6.1.EXEC>EXECCA.MAC.17,  10-Jun-85 08:42:53 by DMCDANIEL
; UPD ID= 210, SNARK:<6.1.EXEC>EXECCA.MAC.15,  31-May-85 09:16:06 by EVANS
;More TCO 6.1.1404 - Put label CSAVE under conditional
; UPD ID= 202, SNARK:<6.1.EXEC>EXECCA.MAC.14,  24-May-85 14:13:31 by EVANS
;TCO 6.1.1404 - Add command editor stuff.
; UPD ID= 165, SNARK:<6.1.EXEC>EXECCA.MAC.13,   3-May-85 08:29:51 by DMCDANIEL
;Update copyrights for 6.1.
; UPD ID= 144, SNARK:<6.1.EXEC>EXECCA.MAC.12,  15-Mar-85 13:22:43 by PRATT
;TCO 6.1.1068 - Update tables for more terminal types
; UPD ID= 118, SNARK:<6.1.EXEC>EXECCA.MAC.11,   4-Jan-85 15:47:16 by EVANS
;TCO 6.1.1107 - Add INFO CLUSTER command
; UPD ID= 112, SNARK:<6.1.EXEC>EXECCA.MAC.10,  12-Dec-84 14:15:12 by PRATT
;TCO 6.1.1085 - Rename SET JFN-WATCH to SET STATUS-WATCH
; UPD ID= 110, SNARK:<6.1.EXEC>EXECCA.MAC.9,  12-Dec-84 13:52:51 by PRATT
;TCO 6.1.1083 - Fix PR change in edit 6.1.1042, make it invisible
; UPD ID= 108, SNARK:<6.1.EXEC>EXECCA.MAC.8,  11-Dec-84 15:24:17 by MOSER
;TCO 6.1.1077 - ADD STAT STUFF
; UPD ID= 82, SNARK:<6.1.EXEC>EXECCA.MAC.6,  12-Nov-84 12:39:50 by EVANS
;TCO 6.2222 - yet again - use the hyphen.
; UPD ID= 59, SNARK:<6.1.EXEC>EXECCA.MAC.5,  12-Nov-84 03:43:39 by MERRILL
;TCO 6.1.1042 - Update for the latest PCL we have
;  Make PR be a unique abbreviation for PRINT again
;  Add INFORMATION DEFAULT DECLARE
;  Add dummy NPCLIO and .IDDCL routines under NOPCLF
; UPD ID= 21, SNARK:<6.1.EXEC>EXECCA.MAC.4,   1-Oct-84 17:12:41 by PRATT
;TCO 6.1.1017 - Add the SET HOST command
; UPD ID= 15, SNARK:<6.1.EXEC>EXECCA.MAC.3,  29-Sep-84 16:36:22 by PRATT
;TCO 6.1.1016 - Add the JFN-WATCH command
; UPD ID= 14, SNARK:<6.1.EXEC>EXECCA.MAC.2,  29-Sep-84 16:34:40 by PRATT
;TCO 6.1.1015 - Add the INFO SUPERIORS command
; UPD ID= 447, SNARK:<6.EXEC>EXECCA.MAC.38,  27-Sep-84 09:16:17 by EVANS
;TCO 6.2222 - revisited- Change VT@200-SERIES to VT200_SERIES (like VMS).
; UPD ID= 440, SNARK:<6.EXEC>EXECCA.MAC.37,  25-Sep-84 10:52:13 by EVANS
;TCO 6.2222 - Add support for VT200 terminals; also VT131.
; UPD ID= 418, SNARK:<6.EXEC>EXECCA.MAC.36,  13-Jul-84 14:52:35 by MCCOLLUM
;TCO 6.2128 - Make "G" an abbreviation for "GET"
; UPD ID= 369, SNARK:<6.EXEC>EXECCA.MAC.35,  28-Dec-83 16:36:40 by PRATT
;More TCO 6.1796 - Add [SET] TERMINAL [NO] INHIBIT (NON-JOB OUTPUT)
; UPD ID= 354, SNARK:<6.EXEC>EXECCA.MAC.34,  29-Nov-83 14:45:00 by PRATT
;TCO 6.1886 - Remove MFRK conditionals.
; UPD ID= 353, SNARK:<6.EXEC>EXECCA.MAC.33,  29-Nov-83 11:29:51 by PRATT
;TCO 6.1885 - Remove INFO DOWNTIME.
; UPD ID= 344, SNARK:<6.EXEC>EXECCA.MAC.32,  28-Nov-83 11:30:12 by PRATT
;TCO 6.1881 - Remove $CONFD and friends, put equivalent in EXECP.
; UPD ID= 336, SNARK:<6.EXEC>EXECCA.MAC.31,  20-Nov-83 19:40:53 by PRATT
;TCO 6.1870 - Get rid of code which is under NONEWF. Remove NEWF's.
; UPD ID= 328, SNARK:<6.EXEC>EXECCA.MAC.30,  17-Nov-83 14:00:33 by PRATT
;TCO 6.1796 - [Set] Terminal [no] Receive Advice/Links/System-messages
; UPD ID= 293, SNARK:<6.EXEC>EXECCA.MAC.29,   5-Jul-83 16:51:46 by CHALL
;More 6.1619 - dispatch to .VTH19 (routine), not .TTH19 (value)
; UPD ID= 291, SNARK:<6.EXEC>EXECCA.MAC.28,  23-Jun-83 09:15:36 by CHALL
;TCO 6.1704 CTBLX- Remove BLANK from the not-logged-in command table
; UPD ID= 282, SNARK:<6.EXEC>EXECCA.MAC.27,  11-May-83 10:08:46 by CHALL
;TCO 6.1652 - PUT "STAY" SUBCOMMAND BACK AGAIN (LOOKING LIKE "BACKGROUND")
; UPD ID= 281, SNARK:<6.EXEC>EXECCA.MAC.26,   5-May-83 13:19:53 by CHALL
;TCO 6.1646 - REMOVE SUBCOMMANDS FROM $CONF1 AND $CONFD (NOW UNDER XTND)
; UPD ID= 277, SNARK:<6.EXEC>EXECCA.MAC.25,  20-Apr-83 15:53:43 by PAETZOLD
;More TCO 6.1619 - One more time
; UPD ID= 276, SNARK:<6.EXEC>EXECCA.MAC.24,  20-Apr-83 15:49:19 by PAETZOLD
; UPD ID= 275, SNARK:<6.EXEC>EXECCA.MAC.22,  20-Apr-83 15:44:17 by PAETZOLD
; UPD ID= 273, SNARK:<6.EXEC>EXECCA.MAC.21,  20-Apr-83 15:34:10 by PAETZOLD
;TCO 6.1619 - Add H19 support
; UPD ID= 238, SNARK:<6.EXEC>EXECCA.MAC.20,  15-Jan-83 19:24:12 by CHALL
;TCO 6.1465 MAKE TOP-LEVEL "NAME" COMMAND INVISIBLE; ADD "SET NAME"
;TCO 6.1464 - UPDATE COPYRIGHT NOTICE
; UPD ID= 210, SNARK:<6.EXEC>EXECCA.MAC.19,  21-Dec-82 09:48:00 by TSANG
;TCO 6.1418 MAKE THE ABBREVIATION FOR FILE-STATUS, "F", WORK.
; UPD ID= 203, SNARK:<6.EXEC>EXECCA.MAC.18,   3-Dec-82 15:40:58 by CHALL
;TCO 6.1399 ADD CTBLX- NOT-LOGGED-IN KEYWORD TABLE (SEPARATED FROM CTBL1)
;REMOVE LOGIN FROM CTBL1. ADD CM1XL, NOT-LOGGED-IN COMND FUNCTION BLOCK
;TCO 6.1398 ADD SET TERMINAL COMMAND (SAME AS JUST TERMINAL)
;TCO 6.1397 $TERMI- SEPARATE TERMINAL KEYWORDS INTO 2 TABLES: TYPES & FEATURES
; UPD ID= 176, SNARK:<6.EXEC>EXECCA.MAC.17,   8-Oct-82 18:11:09 by CHALL
;TCO 6.1305 ADD PERUSE COMMAND (.EDITP, IN EXECED)
; UPD ID= 171, SNARK:<6.EXEC>EXECCA.MAC.16,  30-Sep-82 20:18:42 by CHALL
;TCO 6.1286 ADD NON-ENABLED SEND COMMAND (.USEND, IN EXEC1)
; UPD ID= 156, SNARK:<6.EXEC>EXECCA.MAC.15,  31-Aug-82 10:21:14 by LEACHE
;TCO 6.1242 Use correct escape sequence for VK100 screen clear
; UPD ID= 124, SNARK:<6.EXEC>EXECCA.MAC.14,  24-Apr-82 12:25:18 by CHALL
;TCO 6.1101 Move terminal-knowing tables here from EXEC0, EXEC1, EXECIN
; UPD ID= 115, SNARK:<6.EXEC>EXECCA.MAC.13,  20-Apr-82 07:53:33 by CHALL
;TCO 6.1092 Add MIC-dependent code, so MICSW (MIC, NOMIC) appears only here.
; UPD ID= 89, SNARK:<6.EXEC>EXECCA.MAC.12,   8-Jan-82 15:48:05 by CHALL
;TCO 6.1052 - UPDATE COPYRIGHT NOTICE AND DELETE PRE-V4.1 EDIT HISTORY
; UPD ID= 73, SNARK:<6.EXEC>EXECCA.MAC.11,  22-Oct-81 14:46:28 by CHALL
;TCO 5.1583 MOVE $DEF-, KEYWORDS FOR "INFO DEFAULTS", HERE
;  PUT "I DEF PROGRAM" UNDER MFRK
; UPD ID= 67, SNARK:<6.EXEC>EXECCA.MAC.10,  10-Oct-81 20:13:37 by CHALL
;TCO 5.1564 ADD "PRESERVE (PCL ENVIRONMENT)"; DELETE SAVE/ENV AND SAVE/EXEC
; UPD ID= 46, SNARK:<6.EXEC>EXECCA.MAC.8,  31-Aug-81 11:56:59 by CHALL
;TCO 5.1480 $CONFD- ADD LABEL $CONF1 BEFORE COMMA AND CR OPTIONS
; UPD ID= 36, SNARK:<6.EXEC>EXECCA.MAC.5,  19-Aug-81 10:54:09 by CHALL
;TCO 5.1463 THERE'S NO "SET DEF PROGRAM" & "SET NO DEF PROGRAM" IF NO M'FORKING
;TCO 5.1464 CREATE $FRKNM: LIST OF OPTIONS TO THE FORK COMMAND
;TCO 5.1465 MOVE ALL MFRK-DEPENDENT RESET CODE FROM EXECP TO HERE
; UPD ID= 32, SNARK:<6.EXEC>EXECCA.MAC.4,  17-Aug-81 13:25:16 by CHALL
;TCO 5.1454 CHANGE NAME FROM XDEF TO EXECDE
; UPD ID= 1, SNARK:<6.EXEC>EXECCA.MAC.7,  13-Jul-81 17:58:01 by MURPHY
; TCO 5.1410 - BETTER HANDLING OF MACH SIZE EXCEEDED AND OVER QUOTA CONDITIONS
;SNARK:<6.EXEC>EXECCA.MAC.6 28-Jun-81 16:01:19, Edit by BILKIS
; Restore CD (Unix synonym for Connect)
;<HELLIWELL.EXEC.5>EXECCA.MAC.1, 13-May-81 14:49:49, EDIT BY HELLIWELL
;REMOVE CLEAR, LABEL, MAKE, AND TECO COMMANDS
; UPD ID= 1696, SNARK:<6.EXEC>EXECCA.MAC.3,  12-Mar-81 16:22:52 by LYONS

;	COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1976, 1990.
;	ALL RIGHTS RESERVED.
;
;	THIS SOFTWARE IS FURNISHED UNDER A  LICENSE AND MAY BE USED AND  COPIED
;	ONLY IN  ACCORDANCE  WITH  THE  TERMS OF  SUCH  LICENSE  AND  WITH  THE
;	INCLUSION OF THE ABOVE  COPYRIGHT NOTICE.  THIS  SOFTWARE OR ANY  OTHER
;	COPIES THEREOF MAY NOT BE PROVIDED  OR OTHERWISE MADE AVAILABLE TO  ANY
;	OTHER PERSON.  NO  TITLE TO  AND OWNERSHIP  OF THE  SOFTWARE IS  HEREBY
;	TRANSFERRED.
;
;	THE INFORMATION IN THIS  SOFTWARE IS SUBJECT  TO CHANGE WITHOUT  NOTICE
;	AND SHOULD  NOT  BE CONSTRUED  AS  A COMMITMENT  BY  DIGITAL  EQUIPMENT
;	CORPORATION.
;
;	DIGITAL ASSUMES NO  RESPONSIBILITY FOR  THE USE OR  RELIABILITY OF  ITS
;	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.

	SEARCH EXECDE
	TTITLE EXECCA		;CODE SUBJECT TO ASSEMBLY CONDITIONALS

;ASSEMBLY SWITCH FOR MIC FEATURES

IFNDEF MICSW,<MICSW==:0>
DEFINE MIC<IFN MICSW>
DEFINE NOMIC<IFE MICSW>


;ASSEMBLY SWITCH FOR PCL FEATURES

IFNDEF PCLSW,<PCLSW==:0>
DEFINE PCLF,<IFN PCLSW>
DEFINE NOPCLF,<IFE PCLSW>

;ASSEMBLY SWITCH FOR COMMAND EDITOR

IFNDEF FTCE,<FTCE==:0>

IFE FTCE, <
	.AGAIN::
	.REDO::
	.RECAL::
     	CSAVE::
        .META::
	.NOMET::
	INFOCE::
	IMETKY::
	.CEDMO::
	.SEHST::
	.DOHST::
        CMDHST::RET
>

;READ ONLY STORAGE AREA

;EXTERNS FOR CELLS REFERENCED IN THIS AREA ONLY
; SPECIAL CHARACTER ROUTINES:

;COMMAND TABLES

;FORM:
;       LABEL:  NUMBER OF ENTRIES
;               XWD [VALUE],[ASCIZ @TEXT@]  FOR EACH ENTRY, ALPH ORDER
;   VALUE IS GENERALLY  XWD BITS,ADDRESS
;       SEE "DEFINITIONS" FILE FOR BIT SYMBOLS AND MACRO DEFINITIONS

;MACROS USED TO GENERATE TABLES (DEFINED IN "DEFINITIONS" FILE)
;
;	T TEXT[,BITS[,ADDRESS]]		;HERE []'S MEAN OPTIONAL
;		SETS UP ENTRY. DEFAULTS ADDRESS TO ".TEXT", OR IF
;		THAT IS UNDEFINED, TO "NOT IMPLEMENTED" ERROR ROUTINE
;
;	X TEXT
;		CREATES A SPECIAL FAKE ENTRY, TO MAKE AN OTHERWISE
;		UNIQUE SUBSET AMBIGUOUS (EVEN THE EXACT TEXT GIVEN TO X
;		MACRO WILL BE TREATED AS AMBIGUOUS).  USED WHERE ACTUAL
;		AMBIGUITY IS WITH AN ENTRY IN ANOTHER TABLE SEARCHED
;		LATER.
;
;	TABLE	RESERVES WD FOR # ENTRIES AT TOP OF TABLE
;
;	TEND	FILLS IN # OF ENTRIES SINCE LAST "TABLE" MACRO
;		IN LOCATION RESERVED BY THAT "TABLE" MACRO
;Top-level command tables

;[4427] This command table is used when not logged in and SYSTAT is allowed.
;[4427]	Don't forget to change CTBLY if you change CTBLX!

CTBLX:	TABLE
	T ATTACH,NOLG			;ATTACH (TO JOB) <JOBNO>
	T BREAK,NOLG			;BREAK (LINKS)
	T DAYTIME,ONEWRD+NOLG		;DAYTIME
	T INFORMATION,NOLG		;INFORMATION COMMANDS
	TA LOG				;FUDGE TO RECOGOGNIZE "LOG" AS "LOGIN"
.LOG:	T LOGIN,NOLG			;LOGIN <USER> <PASSWD> <ACCT>
	T LOGOUT,NOLG			;LOGOUT
	T SET,NOLG			;SET COMMAND
	T SYSTAT,NOLG,.SISTA		;SYSTEM STATUS PRINTOUT
	T TERMINAL,NOLG			;TERMINAL TYPE IS N
	T UNATTACH,NOLG			;DETACH REMOTE JOB
        TEND

;[4427] Top level command table when not logged in without SYSTAT command.
;[4427]	Don't forget to change CTBLX if you change CTBLY!

CTBLY:	TABLE				;[4427] Table head
	T ATTACH,NOLG			;[4427] ATTACH (TO JOB) <JOBNO>
	T BREAK,NOLG			;[4427] BREAK (LINKS)
	T DAYTIME,ONEWRD+NOLG		;[4427] DAYTIME
	T INFORMATION,NOLG		;[4427] INFORMATION COMMANDS
	TA LOG,.LOGY			;[4427] Recogognize "LOG" as "LOGIN"
.LOGY:	T LOGIN,NOLG			;[4427] LOGIN <USER> <PASSWD> <ACCT>
	T LOGOUT,NOLG			;[4427] LOGOUT
	T SET,NOLG			;[4427] SET commands
	T TERMINAL,NOLG			;[4427] TERMINAL setting commands
	T UNATTACH,NOLG			;[4427] UNATTACH another job
        TEND				;[4427] End of table
;TOP-LEVEL COMMAND TABLE WHEN LOGGED IN

CTBL1::	TABLE
	T ACCESS			;ACCESS (TO DIRECTORY) <NAME>
	T ADVISE			;ADVISE USER/TTY
IFN FTCE,<
	IT AGAIN,NOSAVE			;Repeat last command
>
	T APPEND			;APPEND <FILE> (TO) <FILE>
	T ARCHIVE			;ARCHIVE (FILES), KEYWORD
	T ASSIGN			;ASSIGN <DEVICE> (AS) <NAME>
	T ATTACH,NOLG			;ATTACH (TO JOB) <JOBNO>
   MIC,<
	TA BACK				;BACK MEANS BACKSPACE
   >
.BACK:	T BACKSPACE			;BACKSPACE
   MIC,<
	IT BACKTO			;BACKTO (LABEL)
   >
	T BLANK,NOLG			;CLEAR SCREEN
	T BREAK,NOLG			;BREAK (LINKS)
	T BUILD,,.CREAT			;BUILD OR MODIFY DIRECTORY
	TA C,.CON			;C IS CONTINUE
	T CANCEL			;KILL QUEUE REQUEST
   XTND,<
	T CD,,.CONNECT			;SYNONYM FOR CONNECT
   >
	T CLOSE				;CLOSE (JFN) <JFN NUMBER>
	T COMPILE			;COMPILE (FROM
	TA CON				;"CON" MEANS CONTINUE
	T CONNECT			;CONNECT (TO DIRECTORY) <NAME>
.CON:	T CONTINUE			;CONTINUE
	T COPY				;COPY (FROM) <FILE> (TO) <FILE>
	T CREATE,,.EDITC		;CREATE (FILE) <FILE>
	T CREF				;CREF (FILE)
	T CSAVE,EASB			;SAVE ... (ON) <FILE>.
	TA D				;"D" IS DEPOSIT
	T DAYTIME,ONEWRD+NOLG		;DAYTIME
	T DDT,EASB			;START DDT
	T DEASSIGN			;DEASSIGN (DEVICE)
	T DEBUG				;DEBUG (FROM)
   PCLF,<
	T DECLARE			;PCL Declare PCL object
   >
	T DEFINE			;DEFINE (LOGICAL NAME)--(AS)--
	T DELETE			;DELETE <FILE>
.D:	T DEPOSIT			;DEPOSIT INTO MEMORY LOCATION
	T DETACH			;DETACH JOB
	T DIRECTORY			;DIRECTORY.
	TA DIS				;ABBREV FOR DISABLE
.DIS:	T DISABLE			;DISABLE PRIV CMNDS
	T DISCARD			;DISCARD TAPE INFORMATION
	T DISMOUNT			;DISMOUNT TAPE OR STRUCTURE
   MIC,<
	T DO				;DO (FILE)
   >
	TA E				;"E" SAME AS "EXAMINE"
	T EDIT				;EDIT (FILE) <FILE> (OUTPUT AS) <FILE>
	T ENABLE			;ENABLE PRIV CMDS
	T END-ACCESS,,.ENDAC		;END-ACCESS (TO DIRECTORY) <NAME>
	T EOF				;END OF FILE
	TA ER				;ABBREV FOR ERUN
   MIC,<
	IT ERROR
   >
.ER:	T ERUN				;ERUN (EPHERMERAL)
	TA EX 				;SPECIAL ABBREV FOR EXECUTE
.E:	T EXAMINE			;EXAMINE MEMORY CONTENTS
.EX:	T EXECUTE			;EXECUTE (FROM)
	T EXPUNGE			;EXPUNGE (DELETED FILES)
	T FDIRECTORY 			;DIR, CRAM, EVERYTHING, NO HEADING
	T FORK				;FORK <N>. AFFECTS /, \, ETC.
	T FREEZE			;FREEZE (FORK)
	TA G				;"G" IS ABBREV FOR "GET"
.G:	T GET				;GET <FILE>
   MIC,<
	IT GOTO				;GOTO (LABEL)
   >
	T HELP				;HELP COMMAND
;   MIC,<
;	TA I				;I IS ABBREV FOR INFO
;	IT IF,,.MICIF
;   >
.I:	T INFORMATION,NOLG		;INFORMATION COMMANDS
	T KEEP				;KEEP (FORK)
   MIC,<
	T KMIC				;KILL MIC PROCESS
   >
	T LOAD				;LOAD (FROM)
	T LOGOUT,NOLG			;LOGOUT
	T MERGE,EASB			;MERGE <FILE>
	T MODIFY			;MODIFY QUEUE REQUESTS
	T MOUNT				;MOUNT TAPE OR STRUCTURE
	IT NAME				;NAME (OF CURRENT FORK)
   MIC,<
	IT NOERROR
	IT NOOPERATOR
	IT OPERATOR
   >
   PCLF,<
	T ORIGINAL			;PCL Original Exec command
   >
	T PERUSE,,.EDITP		;PERUSE (FILE) <FILE>
	T PLOT				;PUT FILES INTO PLOTTER QUEUE
	T POP				;POP EXEC LEVEL
   PCLF,<
	TA PR               		;[PCL] Invisible PRINT abbrev
	T PRESERVE			;PCL Preserve PCL enviroment
   >
.PR:	T PRINT				;PRINT
	T PUNCH				;PUNCH CARDS/PAPER-TAPE
	T PUSH				;PUSH EXEC LEVEL
   XTND,<
	T QDIRECTORY,,.QD		;QFD - DELETED FILES ONLY
   >
	T R				;= RUN SYS:
   XTND,<
	T RDIRECTORY			;DIR, READ, SIZE, CHRON BY READ
   >
IFN FTCE,<
	T RECALL,NOSAVE			;RECALL COMMAND AND WAIT FOR CONFIRM
>
	T RECEIVE			;RECEIVE (LINKS/ADVICE)
IFN FTCE,<
	IT REDO,NOSAVE			;Redo saved command
>
	T REENTER			;REENTER
	T REFUSE			;REFUSE (LINKS/ADVICE)
	T REMARK			;ENTER REMARK MODE
	T RENAME			;RENAME (...) -- (TO BE) --
	T RESET				;RESET (FORK) NAME
	T RETRIEVE			;RETRIEVE <FILES>
	T REWIND			;REWIND
	T RUN				;RUN <FILE>. STARTS ENV FILE.
	T SAVE,EASB			;SHARABLE SAVE
	T SEND,,.USEND			;SEND COMMAND
	T SET,NOLG			;SET COMMAND
	T SKIP				;SKIP
	T START				;START PROGRAM
	T SUBMIT			;SUBMIT
	T SYSTAT,NOLG,.SISTA		;SYSTEM STATUS PRINTOUT
	T TAKE				;TAKE (EXEC INPUT FROM) FILESPEC
	T TALK				;TALK (TO)
	T TDIRECTORY 			;DIR, TIME W, CHRON W, REV
	T TERMINAL,NOLG			;TERMINAL TYPE IS N
	T TRANSLATE			;TRANSLATE BETWEEN DIRS AND PPNS
	T TYPE				;LIST FILE TO TTY
	T UNATTACH,NOLG			;DETACH REMOTE JOB
	TA UND				;UND IS ABBREVIATION FOR UNDELETE
   PCLF,<
	T UNDECLARE			;PCL Undefine PCL object
   >
.UND:	T UNDELETE			;UNDELETE <FILE>
	T UNKEEP			;UNKEEP (FORK)
	T UNLOAD			;UNLOAD
	T VDIRECTORY 			;DIR, PROT, SIZ, LEN, TIM W, USER W
   XTND,<
	T WDIRECTORY			;DIR, SIZE, USER W, USER CRE, CHRON BY WRITE
   >
        TEND
;PRIVILEGED COMMANDS PREFIXED WITH ^E
;ONLY LEGAL FOR PRIV USERS WHO HAVE "ENABLE"D PRIV COMMANDS

CTBL2::	TABLE
	T CEASE,,ECEASE			;SYSTEM SHUTDOWN
	T CREATE			;CREAT/MODIFY DIRECTORY
	T DEFINE,,EDEFIN		;CREATE LOGICAL NAME
	T EDDT,ONEWRD+WHLU		;GO TO DDT LOOKING AT EXEC
	T PRINT,,EPRINT			;PRINT DIRECTORY INFORMATION
	T QUIT,ONEWRD+WHLU		;QUIT: EXIT TO SUPERIOR EXEC
	T SEND				;SEND (MESSAGE) TO ALL
	T SET,,ESET			;SET DATE AND TIME
	T SPEAK				;SPEAK (TO SYSJOB)
	TEND
;PSEUDO-INTERRUPT SYSTEM TABLES

;IN "SUBRS" ASSEMBLY:

;LEVEL TABLE: WHERE TO STORE PC'S FOR VARIOUS LEVELS

LEVTAB::LEV1PC
	LEV2PC
	LEV3PC

;CHANNEL TABLE
;INDEXED BY CHANNEL NUMBER. XWD LEVEL,ADDRESS FOR EACH.

DEFINE DEFCH (LEVEL,ROUTIN,CHANEL)<
	IFN CHNS&1B<CHANEL>,<PRINTX ?CHANNEL TABLE OVERLAPS ITSELF>
	CHNS==CHNS!1B<CHANEL>
	RELOC CHNTAB+CHANEL
	XWD LEVEL,ROUTIN
>
CHNS==:0
CHNTAB::

 DEFCH 1,IITPSI,IITCHN			;AUTO MAIL-WATCH & ALERTS
 DEFCH LV.IPC,IPCINT,IPCCHN		;IPCF INTERRUPT
 DEFCH LV.IPC,CCPSI,1			;1: ASSIGNED BY PROGRAM TO ^C
			;^C INTERRUPT LEVEL MUST BE KEPT THE SAME AS
			;IPCF INTERRUPT LEVEL TO PREVENT ^C OUT OF IPCF
			;INTERRUPT, WHICH WOULD PREVENT FURTHER IPCF MESSAGES,
			;SINCE THE MONITOR ONLY GENERATES INTERRUPT WHEN NUMBER
			;OF MESSAGES GOES FROM 0 TO 1.
 DEFCH 1,ALOPSI,2			;2: ASSIGNED BY PROGRAM TO AUTO-LOGOUT
 DEFCH 3,USEPSI,3			;3: ASS BY PROG TO CHAR TO PRINT RUNTIME (^T)
 DEFCH 2,TLMPSI,4			;4: TIME LIMIT EXCEEDED TRAP
 DEFCH 2,COBPSI,5			;5: ASS BY PROG TO CLEAR OUTBUF ON ^O
 DEFCH LV.TRP,TRPPSI,TRPCHN		;TRPCHN: JSYS OR UUO TRAP
 DEFCH LV.POV,PDLOV,.ICPOV		;PUSHDOWN OVERFLOW
 DEFCH LV.EOF,EOFPSI,.ICEOF		;END OF FILE
 DEFCH LV.DAT,DATPSI,.ICDAE		;FILE DATA ERROR
 DEFCH LV.QTA,QTAPSI,.ICQTA		;QUOTA EXCEEDED (OR DISK FULL)
 DEFCH LV.ILI,ILIPSI,.ICILI		;I>>, MR>>, MW>>, MX>>
 DEFCH 1,[TRAP (1,<Illegal memory READ>)],.ICIRD
 DEFCH 1,[TRAP (1,<Illegal memory WRITE>)],.ICIWR
 DEFCH 1,INFTRM,.ICIFT			;INFERIOR FORK TERMINATION
 DEFCH 1,MSEPSI,.ICMSE			;MACHINE SIZE EXCEEDED
 DEFCH LV.ESC,ESCPSI,ADVCHN		;ESCAPE CHARACTER FOR ADVISE
 DEFCH LV.PCL,PCMPSI,PCLCHI		;PCL Input ready
 DEFCH LV.PCL,PCMPSO,PCLCHO		;PCL Output ready
 DEFCH LV.IJW,IJWPSI,IJWCHN		;Invoke JFN WATCH 

IFN FTCE,<
 DEFCH LV.CED,.CEPSI,CEDCHN		;INTERRPUT CHAR CHAN FOR COMMAND EDITOR
  >

RELOC CHNTAB+6*6			;LEAVE ROOM FOR CHANNEL TABLE
;FIELD DESCRIPTOR BLOCKS FOR TOP LEVEL COMMANDS
;TOP-LEVEL COMMAND ARGUMENT BLOCK FOR WHEN ENABLED

CM1DBE::
	FLDDB. .CMKEY,,CTBL1,<Command,>,,[
	 FLDDB. .CMKEY,,KEPNMS,<kept fork name,>,,[
	  FLDDB. .CMTOK,,<-1,,[ASCIZ //]>,,,[
	   FLDDB. .CMFIL,CM%SDH,,<system program name>,,]]]

;TOP-LEVEL COMMAND ARGUMENT BLOCK FOR WHEN NOT ENABLED

CM1DB::
	FLDDB. .CMKEY,,CTBL1,<Command,>,,[
	 FLDDB. .CMKEY,,KEPNMS,<kept fork name,>,,[
	  FLDDB. .CMFIL,CM%SDH,,<system program name>,,]]

;TOP-LEVEL COMMAND ARGUMENT BLOCK FOR WHEN NOT LOGGED IN

CM1XL::	FLDDB. .CMKEY,,CTBLX,<Command,>	;Including SYSTAT command
CM1YL::	FLDDB. .CMKEY,,CTBLY,<Command,>	;[4427] Excluding SYSTAT command
;"INFORMATION" FIELD DESCRIPTORS

$INFO::	TABLE
	T ADDRESS-BREAK,ONEWRD,.ADBRK
	T ALERTS,,.ALRST
	T ARCHIVE-STATUS,,.ARSTS
	IT ARPANET,NOLG,.IARPA	;[4429]
	T AVAILABLE,NOLG
	T BATCH-REQUESTS,,.IBR
;	T CARD-READER-INPUT-SET,ONEWRD,CRDINF
	T CLUSTER,ONEWRD,.CLUST
	T COMMAND-LEVEL,NOLG+ONEWRD,.EXECM
	T DECNET,NOLG,.IDECN
	T DEFAULTS,,.INDEF
	T DIRECTORY,,.INDIR		;PRINT DIRECTORY PARAMETERS
	T DISK-USAGE,,.DSKST
	TA F				;ALIAS FOR FILE STATUS
.F:	T FILE-STATUS,,.FILST
	T FORK-STATUS,ONEWRD,.FRKST
IFN FTCE,<
	T HISTORY,ONEWRD+NOSAVE,.INHST		;LIST COMMAND HISTORY (COMMAND EDITOR)
  >
	T INTERNET,NOLG,.IARPA	;[4429]
	T JOB-STATUS,ONEWRD,.JOBST
	T LOGICAL-NAMES,,.LNLIS
	T MAIL,NOLG,.MALST
	T MEMORY-USAGE,ONEWRD,.MEMST
	T MONITOR-STATISTICS,ONEWRD,MONSTA
	T MOUNT-REQUESTS,,.IMR
	T OUTPUT-REQUESTS,,.IPR
   PCLF,<
	T PCL-OBJECTS,ONEWRD,.PCLOB	;PCL
   >
	T PROGRAM-STATUS,ONEWRD,.RUNST
	T PSI-STATUS,ONEWRD,.PISTA
	T REMOTE-PRINTING,ONEWRD,.REMOT		;[7.1061] INFO REMOTE-PRINTING
	T RETRIEVAL-REQUESTS,,.IRR
	T SPOOLED-OUTPUT-ACTION,ONEWRD,SPLINF
	T STRUCTURE,,.STRST
	T SUBSYSTEM-STATISTICS,ONEWRD,SUBSTA
	T SUPERIORS,ONEWRD
	T SYSTEM-STATUS,ONEWRD,SYSINF
	T TAPE-PARAMETERS,ONEWRD,TAPINF
	T TERMINAL-MODE,NOLG,TRMPNT
   PCLF,<
	T VARIABLE,,.PCLVR		;PCL
   >
	T VERSION,NOLG+ONEWRD
	T VOLUMES,,IVOL
	TEND
;"INFO DEFAULT" FIELD DESCRIPTORS

$DEF::	TABLE
	T ALL,ONEWRD,.IDALL
	T CARDS,ONEWRD,.IDC
	T COMPILE-SWITCHES,ONEWRD,.IDCS
   PCLF,<			;[PCL]
	T DECLARE,ONEWRD,.IDDCL	;[PCL]
   >				;[PCL]
	T PAPER-TAPE,ONEWRD,.IDP
	T PLOT,ONEWRD,.IDPL
	T PRINT,ONEWRD,.IDPRT
	T PROGRAM,,.IDPRG
	T SUBMIT,ONEWRD,.IDS
	T TAKE,ONEWRD,.IDTAK
	TEND
;"FORK" FIELD DESCRIPTORS

$FRKNM::
	FLDDB. .CMKEY,,FRKNMS,<Fork name,>,,[
	FLDDB. .CMNUM,CM%SDH,10,<Octal fork number>,,[
	FLDDB. .CMCFM,,,,,]]
;START OF THE RESET COMMAND. IT'S HERE BECAUSE RESET TAKES ARGUMENTS UNDER
;MULTIFORKING BUT NONE WITHOUT MULTIFORKING. THE PROMPTS AND ERROR MESSAGES
;FOR THE LATTER DON'T LOOK RIGHT WITHOUT THIS CONDITIONAL.

.RESST::NOISE <FORK>
	MOVEI B,[FLDDB. .CMKEY,,FRKNMS,<Fork name,>,,[
		 FLDDB. .CMNUM,CM%SDH,10,<Octal fork number>,,[
		 FLDDB. .CMTOK,CM%SDH,<-1,,[ASCIZ "*"]>,<* for all forks>,,[
		 FLDDB. .CMTOK,CM%SDH,<-1,,[ASCIZ "."]>,<. for current fork>,,[
		 FLDDB. .CMCFM,CM%SDH,,<CR for all unkept forks>,,]]]]]
	HRRZ A,FRKNMS		;GET NUMBER OF FORK NAMES
	SKIPN A			;NONE?
	 HRRZ B,.CMFNP(B)	;YUP, SKIP FORKS, START WITH #
	CALL FLDSKP		;PARSE ARG
	 CMERRX <Fork name, number, * or CR required>
	LDB D,[POINT 9,.CMFNP(C),8] ;GET ARG TYPE
	CAIN D,.CMCFM		;JUST CR?
	 JRST RESET0		;YES - GO HANDLE
	CAIE D,.CMTOK		;* := ALL FORKS?
	 JRST .RESE2		;NO - FIND OUT WHICH ONE
	LDB A,[POINT 7,ATMBUF,6] ;YES - LOOK AT TOKEN PARSED
	CONFIRM			;CONFIRM FIRST
	JRST .RESS1
;"SET" FIELD DESCRIPTORS

$SET0::	TABLE
	T ACCOUNT,,.CHANG		;SET ACCOUNT
	T ADDRESS-BREAK,,.ADDRE	;SET ADDRESS-BREAK
	T ALERT				;SET ALERT
	T AUTOMATIC			;SET AUTOMATIC (MAIL-WATCH AND ALERTS)
	T CARD-READER-INPUT-SET,,CRDSET	;SET CARD-READER-INPUT-SET (TO)
   PCLF,<
	T COMMAND-TRACE,,.CTRAC		;PCL Performed command trace
   >
	T CONTROL-C-CAPABILITY,,.CTRLC	;SET ^C ALLOWED
	T DEFAULT,,.SEDEF		;SET DEFAULT (FOR)
	T DIRECTORY,,.SDIR		;SET DIRECTORY
IFN FTCE,<
	TA ED,.CEDT
	TA EDI,.CEDT
.CEDT:	T EDIT,,.CESET
	IT EDIT-INTERRUPT-CHARACTER,,.SCEIC ;SET INTERRUPT (COMMAND EDITOR)
	IT EDIT-MODE,,.CEDMO		;SET EDIT MODE (COMMAND EDITOR)
  >
	T ENTRY-VECTOR,,.ENTRY		;SET PROGRAM ENTRY-VECTOR
	T FILE,,.SFILE			;SET FILE
IFN FTCE,<
	IT HISTORY,,.SEHST		;SET HISTORY n (COMMAND EDITOR)
  >
	T HOST,,.HOST			;SET HOST 
   PCLF,<
	T INTEGER-VARIABLE,,SINVAR	;PCL
   >
   XTND,<
	T KEEP-FORK,,.KFRKC		;SET KEEP-FORK (ON <CTRL-C>)
   >
	T LATE-CLEAR-TYPEAHEAD,NOLG,.CIDLY ;SET (DELAYED CLEAR)
	T LOCATION			;SET LOGICAL LOCATION TO NODE NAME
	T MAIL-WATCH,,.MWATC		;SET MAIL-WATCH (FOR USER) USRNAM (COUNT) N
	T NAME				;SET NAME (OF CURRENT FORK)
	T NO,NOLG,.SETNO		;SET NO
	T PAGE-ACCESS,,.PAC		;SET PAGE-ACCESS
	T PASSWORD,,SETPAS		;[4412] SET PASSWORD
	T PROGRAM,,PROG			;SET PROGRAM
        T REMOTE-PRINTING,,.RMPRT	;[7.1031]SET REMOTE-PRINTING
	T RETRIEVAL-WAIT,,.OFL		;SET RETRIEVAL-WAIT (FOR OFFLINE FILES)
	T SESSION-REMARK,,SETSRM	;SET SESSION REMARK
	T SPOOLED-OUTPUT,,SPLSET	;SET SPOOLED-OUTPUT (TO)
	T STATUS-WATCH,,.JWAT		;SET STATUS-WATCH FOR WATCHING FILES
   PCLF,<
	T STRING-VARIABLE,,SSTVAR	;PCL
   >
	T TAPE				;SET TAPE
	T TERMINAL,NOLG			;SET TERMINAL (SAME AS TERMINAL...)
	T TIME-LIMIT,NOLG,.STMLM	;TIME (TO) NUMBER
	T TRAP				;SET TRAP
	T TYPEOUT
	T UUO-SIMULATION,,.PAXL		;SET UUOS ALLOWED
	TEND

;"SET NO" FIELD DESCRIPTORS

$SETN::	TABLE
	T ADDRESS-BREAK,,.ADDRE		;SET NO ADDRESS BREAK
	T ALERT				;SET NO ALERT
	T AUTOMATIC			;SET NO AUTOMATIC (MAIL-WATCH AND ALERTS)
   PCLF,<
	T COMMAND-TRACE,,.CTRAC		;PCL No Performed command trace
   >
	T CONTROL-C-CAPABILITY,,.CTRLC	;NO ^C ALLOWED
	T DEFAULT,,.NODEF		;SET NO DEFAULT
IFN FTCE,<
	T EDIT-INTERRUPT-CHARACTER,,.SNCEI ;SET NO INTERRUPT (COMMAND EDITOR)
	T HISTORY,,.SEHST		;SET NO HISTORY (COMMAND EDITOR)
   >

   XTND,<
	T KEEP-FORK,,.KFRKC		;SET NO KEEP-FORK (ON <CTRL-C>)
   >
	T LATE-CLEAR-TYPEAHEAD,NOLG,.CIDLY ;EARLY CLEAR
   XTND,<
	T LOGIN-MAIL,ONEWRD,.NOLM	;SET NO LOGIN-MAIL
   >
	T MAIL-WATCH,,.MWATC		;SET NO MAIL-WATCH (FOR USER) USRNAM
	T RETRIEVAL-WAIT,,.OFL		;SET NO RETRIEVAL-WAIT (FOR OFFLINE FILES)
	T STATUS-WATCH,,.JWAT		;SET STATUS-WATCH FOR WATCHING FILES
	T TIME-LIMIT,NOLG,.NOTIM	;CLEAR TIME LIMIT
	T TRAP,,NTRAP			;SET NO TRAP
	T UUO-SIMULATION,,.PAXL		;NO UUOS ALLOWED
	TEND
;"SET DEFAULT" FIELD DESCRIPTORS

TDEFAU::TABLE
	T CARDS,,.SDC
	T COMPILE-SWITCHES,,.SDCS
   PCLF,<
	T DECLARE,,.SDDCL		;PCL
   >
	T PAPER-TAPE,,.SDT
	T PLOT,,.SDPL			;SET DEFAULTS (FOR) PLOT
	T PRINT,,.SDP
	T PROGRAM,,SDPROG		;SET DEFAULT (FOR) PROGRAM
	T SUBMIT,,.SDS			;SET DEFAULT (FOR) SUBMIT
	T TAKE,,.TKD			;SET DEFAULT (FOR) TAKE
	TEND

;"SET NO DEFAULT" FIELD DESCRIPTORS

$NODEF::TABLE
	T CARDS,,.SNDCP
	T COMPILE-SWITCHES,,.SNDCS	;SET NO DEFAULT COMPILE-SWITCHES
	T PAPER-TAPE,,.SNDTP
	T PLOT,,.SNDPL			;SET NO DEFAULTS (FOR) PLOT
	T PRINT,,.SNDP
	T PROGRAM,ONEWRD,SNDPRG		;SET NO DEFAULT (FOR) PROGRAM
	T SUBMIT,,.SNDS			;SET NO DEFAULT (FOR) SUBMIT
	TEND

;"SET FILE" FIELD DESCRIPTORS

$SFILE::TABLE
	T ACCOUNT,			;SET FILE ACCOUNT (OF FILE) - (TO) -
	T EPHEMERAL,,.EPHM		;SET FILE EPHEMERAL
   XARC <
	T EXPIRED,,.FEXP		;SET FILE EXPIRED
   >
	T GENERATION-RETENTION-COUNT,,.FILEV ;SET FILE VERSION-RETENTION-COUNT
	T INVISIBLE,			;SET FILE INVISIBLE <FILEGROUP>
	T NO,,.SFNO			;SET FILE NO
   XARC <
	T OFFLINE-EXPIRATION,,.FLINX	;SET FILE OFFLINE-EXPIRATION
	T ONLINE-EXPIRATION,,.FLONX	;SET FILE ONLINE-EXPIRATION
   >
	T PERMANENT,,.PRMNT		;[4448] SET FILE PERMANENT
	T PROHIBIT,WHLU,.FPROH		;SET FILE PROHIBIT (MIGRATION OF FILES)
	T PROTECTION,			;SET FILE PROTECTION (OF FILE) - (TO) -
   XARC <
	T RESIST,,.FRESI		;SET FILE RESIST (MIGRATION OF FILES)
   >
	T SAVED-BY-BACKUP-SYSTEM,,.SVBAK ;[4448] SET FILE SAVED-BY-BACKUP
	T SECURE,,SECFIL		;[4412] SET FILE SECURE
	T TEMPORARY,,.TMPRY		;[4448] SET FILE TEMPORARY
	T UNDELETEABLE,,.NODEL		;[4448] SET FILE UNDELETEABLE
	T VISIBLE,			;SET FILE VISIBLE <FILEGROUP>
	TEND

;"SET FILE NO" FIELD DESCRIPTORS

$SFNO::	TABLE
	T EPHEMERAL,,.EPHM
	T PERMANENT,,.PRMNT		;[4448] SET FILE NO PERMANENT
	T PROHIBIT,WHLU,.FPROH
   XARC <
	T RESIST,,.FRESI
   >
	T SAVED-BY-BACKUP-SYSTEM,,.SVBAK ;[4448] SET FILE NO SAVED-BY-BACKUP
	T SECURE,,SECFIL		;[4412] SET FILE NO SECURE
	T TEMPORARY,,.TMPRY		;[4448] SET FILE NO TEMPORARY
	T UNDELETEABLE,,.NODEL		;[4448] SET FILE NO UNDELETEABLE
	TEND
;SUBROUTINE CALLED BY USEPS0 IN EXECSU, TO GIVE SPECIAL OUTPUT IF MIC EXISTS
;IF MICSW IS OFF, JUST RETURNS

USEPSM::
   MIC,<
	CALL GETPAG		;DOES MIC EXIST?
	  RET			;NO
	TYPE < (DO in progress)>
   >
	RET
;[7.1031] TABLE OF COMMANDS FOR SET REMOTE-PRINTING
;
;
$RMPRT::TABLE
        T CHARACTERISTIC,,SRPCHR	
        T PRINTER,,SRPPTR
        T SYSTEM-DEFINITIONS,,SRPDEF
        TEND
 
;HERE ARE ALL THE TABLES WHICH NEED TO KNOW ABOUT TERMINAL TYPES
;NEW TERMINALS NEED TO HAVE ENTRIES ADDED TO THESE TABLES, PLUS
;THE ROUTINE NAMED IN $TERMI ADDED IN EXEC0

;NOTE:	TO DEFINE "TERMINAL FOO" AND "TERMINAL TYPE FOO" FOR A NEW
;	TERMINAL (WHICH HAS ALREADY BEEN DEFINED IN THE MONITOR),
;	ADD THE TYPE TO THE FOLLOWING TWO TABLES, AND ADD A ROUTINE
;	SIMILAR TO THE FOLLOWING EITHER HERE OR IN EXEC0:
;
;.VT102::PUSH P,[.TT102]	;SAVE THE MONTIOR'S TERMINAL INDEX
;	 JRST .TTY3		;JUMP INTO THE COMMON CODE
;
;ALSO ADD ENTRIES IN THE TERMINAL NAME TABLE AND THE BLANK-SCREEN
; TABLE, BELOW

;TABLE OF KEYWORDS FOR "TERMINAL" AND "SET TERMINAL"
;THE TABLES $TERMI AND $TTYP ARE CHAINED TOGETHER
;REFERENCED IN EXEC0

$TERMI::TABLE
	T FLAG
	T FORMFEED
	T FULLDUPLEX
	T HALFDUPLEX
	T HELP,,TTYHLP
	T IMMEDIATE
	T INDICATE
	T INHIBIT
	T LENGTH,,PLENTH
	T LINE-HALFDUPLEX,,.LINE
	T LOWERCASE
	T NO,,.TERNO
	T PAGE
	T PAUSE
	T RAISE
	T RECEIVE
	T SPEED,
	T TABS
	T TYPE,,.TTYPE
	T WIDTH,,.LWIDTH
	TEND

;TABLE OF KEYWORDS WHICH FOLLOW "TERMINAL NO"

$TERNO::TABLE
	T FLAG
	T FORMFEED
	T IMMEDIATE
	T INDICATE
	T INHIBIT
	T LOWERCASE
	T PAGE
	T PAUSE
	T RAISE
	T RECEIVE
	T TABS
	TEND

;TABLE OF KEYWORDS WHICH FOLLOW "@TERMINAL TYPE " (ALPHABETICAL)
;REFERENCED IN EXEC0


$TTYP::	TABLE
	T 33,,.T33
	T 35,,.T35
	T 37,,.T37
	T EXECUPORT,,.TI
	T H19,,.VTH19
	T IDEAL,,.IDEAL		;[4424]
	T LA120
	T LA30,,.LA30
	T LA36,,.LA36
	T LA38
	T SYSTEM-DEFAULT,,.DFLT
	T TERMINET,,.TRMNT
	T TI,,.TI
	T VK100
	T VT05
	T VT100
	T VT102
	T VT125
	T VT131
	T VT200-SERIES,,.VT200
	T VT300-SERIES,,.VT300	;[3055]
	T VT50
	T VT52
	TEND

;TABLE OF TERMINAL NAMES, OUTPUT BY "@INFO TERMINAL"
;NOTE: THIS TABLE AND BLNKTB (BELOW) MUST HAVE THE SAME NUMBER OF ENTRIES
;REFERENCED IN EXECIN

TTYPTB::TYPE < TERMINAL 33>	;0
	TYPE < TERMINAL 35>	;1 (MOD 33)
	TYPE < TERMINAL 37>	;2 (MOD 35)
	TYPE < TERMINAL TI>	;3 (MOD 37)
REPEAT 4,<XCT TTYNTY	>	;4-7 (RESERVED FOR CUSTOMER)
	TYPE < TERMINAL SYSTEM-DEFAULT> ;8
	TYPE < TERMINAL IDEAL>	; 9 (IDEAL used for NVT) [4424]
	TYPE < TERMINAL VT05>	;10
	TYPE < TERMINAL VT50>	;11
	TYPE < TERMINAL LA30>	;12
	XCT TTYNTY		;13 (NOT SUPPORTED - GT40)
	TYPE < TERMINAL LA36>	;14
	TYPE < TERMINAL VT52>	;15
	TYPE < TERMINAL VT100>	;16
	TYPE < TERMINAL LA38>	;17
	TYPE < TERMINAL LA120>	;18
REPEAT 20,<XCT TTYNTY	>	;19-34 (RESERVED FOR CUSTOMER)
	TYPE < TERMINAL VT125>	;35
	TYPE < TERMINAL VK100>	;36
	TYPE < TERMINAL VT102>	;37
	TYPE < TERMINAL H19>	;38
	TYPE < TERMINAL VT131>	;39
	TYPE < TERMINAL VT200-SERIES> ;40 [3006]
REPEAT ^D11,<XCT TTYNTY	>	;41-51 (RESERVED FOR CUSTOMER)
	TYPE < TERMINAL VT300-SERIES> ;52 [3055]
REPEAT ^D8,<XCT TTYNTY	>	;53-60 (RESERVED FOR DIGITAL)
TTYNTY:	ETYPE < TERMINAL TYPE %2Q>

NTTYPS::.-TTYPTB-1		;NUMBER OF DEFINED TERMINAL TYPES

;TABLE OF SEQUENCES TO BLANK THE SCREEN. USED BY THE @BLANK COMMAND
;NOTE: THIS TABLE AND TTYPTB (ABOVE) MUST HAVE THE SAME NUMBER OF ENTRIES
;REFERENCED IN EXEC1

BLNKTB::0			;(0) TTY 33
	0			;(1) TTY 35
	0			;(2) TTY 37
	0			;(3) TI / EXECUPORT
REPEAT 4,<0>			;(4-7) RESERVED FOR CUSTOMER
	0			;(8) SYSTEM DEFAULT
	0			;(9) IDEAL (NO FILL)
	[BYTE (7)35,177,177,177,177,177,177,37,0] ;(10) VT05
	BYTE (7)33,"H",33,"J",0	;(11) VT50
	0			;(12) LA30
	BYTE (7)35,37		;(13) GT40 - NO FILL REQUIRED
	0			;(14) LA36
	BYTE (7)33,"H",33,"J",0	;(15) VT52
	[BYTE (7)33,"[","H",33,"[","J",0] ;(16) VT100
	0			;(17) LA38
	0			;(18) LA120
REPEAT 20,<0>			;(19-34) (RESERVED FOR CUSTOMER)
	[BYTE (7)33,"[","H",33,"[","J",0] ;(35) VT125
	[BYTE (7)33,"P","p","s","(","e",")",33,"\"] ;(36) VK100
	[BYTE (7)33,"[","H",33,"[","J",0] ;(37) VT102
	BYTE (7)33,"H",33,"J",0 ;[3028] (38) H19
	[BYTE (7)33,"[","H",33,"[","J",0] ;(39) VT131
	[BYTE (7)33,"[","H",33,"[","J",0] ;(40) VT200
REPEAT ^D11,<0>			;[3060] (41-51) (RESERVED FOR CUSTOMER)
	[BYTE (7)33,"[","H",33,"[","J",0] ;(52) VT300 [3055]
REPEAT ^D8,<0>			;[3060] (53-60) (RESERVED FOR DIGITAL)
;DUMMY ENTRIES WHEN PCL NOT PRESENT

   NOPCLF,<
PCMXCT::
PCMPSI::
$SDEF::
PCMPSO::
PCMSVP::
PCMSVE::
PCMPOS::
PCMPOP::
PCIGEV::
NPCLIO:: RETSKP			;[PCL] JFN is never a PCL I/O JFN
.IDDCL:: RET			;[PCL] No defaults for "Declare"
   >

	END