Google
 

Trailing-Edge - PDP-10 Archives - SRI_NIC_PERM_SRC_1_19910112 - 6-1-exec/execca.mac
There are 64 other files named execca.mac in the archive. Click here to see a list.
;[SRI-NIC]SRC:<6-1-EXEC>EXECCA.MAC.37, 10-Jan-90 16:58:56, Edit by ZZZ
; comment out NIC command for LI (not needed, and kinda screwed up)
;[SRI-NIC]SRC:<6-1-EXEC>EXECCA.MAC.36, 11-Nov-89 00:20:11, Edit by MKL
; comment out BIBLIO command for NLI
;[SRI-NIC]SRC:<6-1-EXEC>EXECCA.MAC.34,  3-May-89 01:21:35, Edit by MKL
; add NDIR
;[SRI-NIC]SRC:<6-1-EXEC>EXECCA.MAC.33, 31-Jan-89 23:22:43, Edit by MKL
; take out lazy connect feature.  too confusing.
;[SRI-NIC]SRC:<6-1-EXEC>EXECCA.MAC.31, 29-Nov-88 23:40:15, Edit by MKL
; take out REGISTER command.  what a waste.
;[SRI-NIC]SRC:<6-1-EXEC>EXECCA.MAC.27, 21-Apr-88 16:37:30, Edit by MKL
; take out TPRINT command.  don't know what its for.
;[SRI-NIC]SRC:<6-1-EXEC>EXECCA.MAC.26,  5-Apr-88 14:21:05, Edit by MKL
; make SET DEFAULT LASER and SET DEFAULT PRINT do same stuff
;[SRI-NIC]SRC:<6-1-EXEC>EXECCA.MAC.25,  7-Mar-88 16:42:38, Edit by MKL
; take TACNEWS out of logged-in command table
;[SRI-NIC]SRC:<6-1-EXEC>EXECVR.MAC.10, 22-Feb-88 09:54:34, Edit by IAN
; [NIC280] Make "R" NOT a valid abbreviation for "REGISTER" when NLI
;[SRI-NIC]SRC:<6-1-EXEC>EXECVR.MAC.8, 30-Nov-87 15:37:54, Edit by IAN
; [NIC278] Removed PERFORMANCE for not-logged-in users.
;[SRI-NIC]SRC:<6-1-EXEC>EXECCA.MAC.22, 20-Oct-87 22:39:56, Edit by MKL
; Dump DIALOG command.  Project aborted.
;SRC:<6-1-EXEC>EXECCA.MAC.21,  6-Feb-87 14:23:12, Edit by KNIGHT
; Make DIALOG command visible
;SRC:<6-1-EXEC>EXECCA.MAC.20,  6-Feb-87 11:19:44, Edit by KNIGHT
; Add invisible dialog command
;[SRI-NIC]SRC:<6-1-EXEC>EXECVR.MAC.7, 23-Jan-87 11:15:55, Edit by IAN
; [NIC277] Added LOGOFF too.
;[SRI-NIC]SRC:<6-1-EXEC>EXECCA.MAC.16, 22-Dec-86 16:25:08, Edit by MKL
; add BIBLIO command
;[SRI-NIC]SRC:<6-1-EXEC>EXECCA.MAC.15, 16-Dec-86 10:58:41, Edit by IAN
; [NIC276] Add QUIT, EXIT, and BYE as invisible synonyms to LOGOUT,
; for poor confused network people.
;[SRI-NIC]SRC:<6-1-EXEC>EXECCA.MAC.14, 14-Nov-86 11:33:34, Edit by IAN
; [NIC275] Add PERFORMANCE command
;[SRI-NIC]SRC:<6-1-EXEC>EXECCA.MAC.13, 26-Jun-86 16:25:21, Edit by IAN
; [NIC274] Don't allow "Q" for "QUERY"
;SRC:<6-1-EXEC>EXECCA.MAC.10, 21-Mar-86 10:28:17, Edit by KNIGHT
; TERMINAL DOGMENT command
;[SRI-NIC]SRC:<6-1-EXEC>EXECCA.MAC.9,  4-Mar-86 11:42:23, Edit by HSS
; Flushed SAFETY command
;SRC:<6-1-EXEC>EXECCA.MAC.8, 20-Feb-86 13:05:00, Edit by KNIGHT
; Add TPRINT command for TAC printers
;SRC:<6-1-EXEC>EXECCA.MAC.7,  5-Dec-85 14:00:55, Edit by KNIGHT
; WKERMIT goes to KERMIT.  Testing is complete.  It works.
;SRC:<6-1-EXEC>EXECCA.MAC.6,  5-Dec-85 12:57:19, Edit by KNIGHT
; Add WKERMIT command, invisible and nolog for testing of Kermit server 
;SRC:<6-1-EXEC>EXECCA.MAC.5,  5-Nov-85 15:18:10, Edit by KNIGHT
; Add INFORMATION HISTORY command
;SRC:<6-1-EXEC>EXECCA.MAC.4,  4-Nov-85 15:44:44, Edit by KNIGHT
; Flush .BACK label on BACKSPACE table entry
;SRC:<6-1-EXEC>EXECCA.MAC.3,  4-Nov-85 10:50:40, Edit by KNIGHT
; Flush .GVT
;SRC:<6-1-EXEC>EXECCA.MAC.2, 31-Oct-85 11:07:45, Edit by KNIGHT
;NIC changes:
; [NIC1070] Disallow @N abbreviation for @NIC for confused people
; [NIC1057] Add @I DEVICES (assigned etc)
; [NIC1053] Add SAFETY command
; [NIC1052] Make LASER command use CANON code
; [NIC1035] Add lazy connect.
; [NIC1034] Add NYU calculate command
; [NIC1033] Add AUTOKEEP file attribute code
; [NIC1032] Remove K synonym for KJob
; [NIC1027] Make PRO an abbreviation for PROGRAM in SET PROGRAM.
; [NIC1013] Switch out INFO ARPANET, DECNET, ETHERNET, and NETWORK.
; [NIC1004] Disable CANON and add LASER.
; [NIC1003] Add BACK command
; [NIC1002] Installed IDDT and NO IDDT. Made i synonym for information.
; [NIC1001] Enabled the peek command and added ^EINITIALIZE
; [NIC1000] Installed not-logged-in REGISTER, HOST, NIC, TACNEWS, QUERY, and 
; WHOIS
;<6-1-EXEC>EXECCA.MAC.24,  8-Oct-85 11:11:32, Edit by WHP4
; make INFO CLUSTER available NLI
;<6-1-EXEC>EXECCA.MAC.23, 12-Sep-85 13:11:53, Edit by ATTY
; Made PRINT equivalent to IMPRINT at CSLI
;<6-1-EXEC>EXECCA.MAC.21, 11-Sep-85 13:16:57, Edit by HEGARTY
; Add UPDATE command for accounting program at LOTS
;<6-1-EXEC.FT6>EXECCA.MAC.4, 12-Aug-85 17:46:09, Edit by WHP4
; put SET STATUS-WATCH back
;<6-1-EXEC.FT6>EXECCA.MAC.3, 12-Aug-85 14:47:53, Edit by WHP4
; command editor fixups
;<6-1-EXEC.FT6>EXECCA.MAC.2, 12-Aug-85 12:41:23, Edit by WHP4
; FT6 merge
;Stanford changes:
; remove PUNCH command
; SET FILE REFERENCE-COUNT (OF FILE) - (TO) -
; add SUN48 terminal type for lazy typists.
; Add the Concept AVT terminal type
; Add the Concept GVT terminal type
; New CM1XL table for not logged in user - to allow lazy login.
; Numerous local additions to terminal type tables
; Numerous local changes to command tables
; Toss the PERUSE command
; Add in SET [NO] LEVEL-INDICATION
; Add in the SET PROMPT command
; Remove ONEWRD from FORK-STATUS for INFO FORK keywords
; "DI" short for "DIRECTORY"
; "PU" short for "PUSH"
; Set HELP "NOLG" in the not-logged-in command table
; No more TERMINAL BELL command
; Flush SET HOST
; Flush INFO SUPERIORS
; Add FINGER and BLANK to not logged in commands
; Flush RDMAIL and SET EXTRA commands
; Flush a bunch of cutesy, crufty command synonyms and pointless changes
; Allow more not logged in commands:
;  - K, KK, KJOB, KILLJOB synonyms for LOGOUT
;  - HELP and SEND commands
;CSLI Changes:
; Make CAN an abbreviation for CANON, not CANCEL
; Put in HELPME and WHOCONSULT 
; add SUMEX style Imagen support
;LOTS changes:
; Allow Not Logged In to use OPEN, WHOCONSULT, WIZARDS, and HELPME.
; Add FIND (cross-system CFS based FINGER) for LOTS
; Add new QUEUE command table for when EXEC-based queue is
; running at LOTS (CM1QL and CTBLQ) ...
;
; 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
;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
;  OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
;
;COPYRIGHT (C) BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. 1980,1985
;ALL RIGHTS RESERVED.

	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, <
IFE CHSTSW,<
	.AGAIN::
	.REDO::
	.RECAL::
     	CSAVE::
        .META::
	.NOMET::
	INFOCE::
	IMETKY::
	.CEDMO::
	.SEHST::
	.DOHST::
        CMDHST::RET
>;IFE CHSTSW
>


;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
;COMMANDS NOT PREFIXED BY ^E.
;CCL COMMANDS ALL DISPATCH TO DOCCL, QUEUE COMMANDS DISPATCH
;TO QCM

;TOP-LEVEL COMMAND TABLE, WHEN NOT LOGGED IN

CTBLX:	TABLE
	T ATTACH,NOLG			;ATTACH (TO JOB) <JOBNO>
IFN NICSW,<
;	T BIBLIO,NOLG
>
IFN STANSW,<
	T BLANK,NOLG			;CLEAR SCREEN
>;IFN STANSW
	T BREAK,NOLG			;BREAK (LINKS)
IFN NICSW,<				;[NIC276]
	IT BYE,NOLG,.LOGOUT		;[NIC276]
>;IFN NICSW				;[NIC276]
	T DAYTIME,ONEWRD+NOLG		;DAYTIME
IFN NICSW,<				;[NIC276]
;	T DIALOG,ONEWRD+NOLG,.DIALO	;DIALOG command
	IT EXIT,NOLG,.LOGOUT		;[NIC276]
>;IFN NICSW				;[NIC276]
IFN STANSW,<
IFE LOTSW,<
	TA F,..FING			;F FOR FINGER
>;IFE LOTSW
IFN LOTSW,<
	TA F,..FIND			;F FOR FIND AT LOTS
	TA FI,..FIND
	TA FIN,..FIND
	T FIND,NOLG			;FIND
>;IFN LOTSW
	T FINGER,NOLG			;FINGER
	TA H				;H FOR HELP
	T HELP,NOLG			;HELP COMMAND
IFN LOTSW!CSLISW,<
	T HELPME,NOLG,.HELPM		;RUNS HELPME
>;IFN LOTSW!CSLISW
>;IFN STANSW
IFN NICSW,<				;[NIC1000]
	T HOST,NOLG			;[NIC1000] HOST COMMAND
>;IFN NICSW
	T INFORMATION,NOLG		;INFORMATION COMMANDS
IFN STANSW,<
IFE NICSW,<
	TA K				;K FOR KJOB
>;IFE NICSW
IFN NICSW,<
	T KERMIT,ONEWRD+NOLG,.KERSR
>;IFN NICSW
	IT KILLJOB,NOLG,.LOGOUT		;ANOTHER LOGOUT ALIAS
	IT KJOB,NOLG,.LOGOUT		;ALIAS FOR LOGOUT
	IT KK,NOLG,.KK			;JUST LOGOUT, NO EXPUNGE, ETC.
>;IFN STANSW
	TA LOG				;FUDGE TO RECOGOGNIZE "LOG" AS "LOGIN"
.LOG:	T LOGIN,NOLG			;LOGIN <USER> <PASSWD> <ACCT>
IFN NICSW,<				;[NIC277]
	TA LOGO,..LOGO			;[NIC277]
	IT LOGOFF,NOLG,.LOGOUT		;[NIC277]
>;IFN NICSW				;[NIC277]
..LOGO:	T LOGOUT,NOLG			;LOGOUT
IFN NICSW,<				;[NIC1000]
	T N,,.NIC,CM%NOR		;[NIC1070] Don't allow "@N" for "@NIC"
	T NIC,NOLG+ONEWRD		;[NIC1000] NIC COMMAND FOR NIC-QUERY
>;IFN NICSW
IFN STANSW,<
IFN LOTSW,<
	TA OP
	TA OPE,.OP
.OP:	T OPEN,NOLG			;OPEN -- CREATE A NEW ACCOUNT (LOTS)
>;IFN LOTSW
>;IFN STANSW
IFN NICSW,<				;[NIC1000]
IFN 0,<					;[NIC278]
	T PERFORMANCE,NOLG+ONEWRD	;[NIC275]
>;IFN 0					;[NIC278]
	T Q,,.QUERY,CM%NOR		;[NIC274]
	T QUERY,NOLG+ONEWRD		;[NIC1000] QUERY COMMAND
	IT QUIT,NOLG,.LOGOUT		;[NIC276]
;	T R,,.REGIS,CM%NOR		;[NIC280] Don't allow R for REGISTER
;	T REGISTER,NOLG			;[NIC1000] NOT-LOGGED-IN REGISTER
	T REMARK,NOLG
>;IFN NICSW
IFN STANSW,<
	T SEND,NOLG,SNDCMD		;SEND TERMINAL MESSAGE
>;IFN STANSW
	T SET,NOLG			;SET COMMAND
	T SYSTAT,NOLG,.SISTA		;SYSTEM STATUS PRINTOUT
IFN NICSW,<				;[NIC1000]
	T TACNEWS,NOLG+ONEWRD		;[NIC1000] TACNEWS COMMAND
>;IFN NICSW
	T TERMINAL,NOLG			;TERMINAL TYPE IS N
IFN STANSW,<
;	IT TO,NOLG,SNDCMD		;ANOTHER FORM OF TERMINAL MESSAGE
>;IFN STANSW
	T UNATTACH,NOLG			;DETACH REMOTE JOB
IFN NICSW,<				;[NIC1000]
	T WHOIS,NOLG			;[NIC1000] WHOIS COMMAND
>;IFN NICSW
IFN STANSW,<
IFN LOTSW!CSLISW,<
	T WHOCONSULT,NOLG,.WHO		;RUNS WHOCONSULT.
>;IFN LOTSW!CSLISW
IFN LOTSW,<
	T WIZARDS,NOLG,.WIZ		;RUNS WIZARDS
>;IFN LOTSW
>;IFN STANSW
        TEND

IFN STANSW&LOTSW,<

;TOP-LEVEL COMMAND TABLE WHEN LOGGED IN AND THERE IS A QUEUE

CTBLQ:	TABLE
	T ATTACH,NOLG			;ATTACH (TO JOB) <JOBNO>
	TA K				;K FOR KJOB
	IT KILLJOB,NOLG,.LOGOUT		;ANOTHER LOGOUT ALIAS
	IT KJOB,NOLG,.LOGOUT		;ALIAS FOR LOGOUT
	IT KK,NOLG,.KK			;JUST LOGOUT, NO EXPUNGE, ETC.
	TA LOG,.QLOG			;FUDGE TO RECOGOGNIZE "LOG" AS "LOGIN"
.QLOG:	T LOGIN,NOLG			;LOGIN <USER> <PASSWD> <ACCT>
	T LOGOUT,NOLG			;LOGOUT
	TA OP,.QOP
	TA OPE,.QOP
.QOP:	T OPEN,NOLG			;OPEN -- CREATE A NEW ACCOUNT (LOTS)
	IT PLOGIN,NOLG,.QPLOG		;SKIP QUEUE STUFF LOGIN
	T TERMINAL,NOLG			;TERMINAL TYPE IS N
	T UNATTACH,NOLG			;DETACH REMOTE JOB
        TEND

>;IFN STANSW&LOTSW

;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>
IFE STANSW,<
	T ARCHIVE			;ARCHIVE (FILES), KEYWORD
>;IFE STANSW
IFN STANSW,<
IFE LOTSW,<
	T ARCHIVE			;ARCHIVE (FILES), KEYWORD
>;IFE LOTSW
>;IFN STANSW
	T ASSIGN			;ASSIGN <DEVICE> (AS) <NAME>
	T ATTACH,NOLG			;ATTACH (TO JOB) <JOBNO>
IFE NICSW,<
   MIC,<
	TA BACK				;BACK MEANS BACKSPACE
   >
.BACK:	T BACKSPACE			;BACKSPACE
>;IFE NICSW
IFN NICSW,<				;[NIC1003]
	T BACK				;[NIC1003] BACK TO PREVIOUS DIRECTORY 
	T BACKSPACE			;BACKSPACE
>;IFN NICSW
   MIC,<
	IT BACKTO			;BACKTO (LABEL)
   >
	T BLANK,NOLG			;CLEAR SCREEN
	T BREAK,NOLG			;BREAK (LINKS)
	T BUILD,,.CREAT			;BUILD OR MODIFY DIRECTORY
IFN STANSW,<
	IT BYE,NOLG,.BREAK		;ALIAS FOR BREAK
>;IFN STANSW
	TA C,.CON			;C IS CONTINUE
IFN NICSW,<				;[NIC1034]
	T CALCULATE,			;[NIC1034]
>;IFN NICSW
	T CANCEL			;KILL QUEUE REQUEST
IFE NICSW,<
IFN STANSW,<
IFE LOTSW!CSLISW!SUMXSW,<
	T CANON,,.CANON			;SEND FILES TO CANON LASERPRINTER
>;IFE LOTSW!CSLISW!SUMXSW
>;IFN STANSW
>;IFE NICSW
   XTND,<
	T CD,,.CONNECT			;SYNONYM FOR CONNECT
   >
	T CLOSE				;CLOSE (JFN) <JFN NUMBER>
IFN STANSW,<
	TA CO,.CON			;CO FOR CONTINUE
>;IFN STANSW
	T COMPILE			;COMPILE (FROM
	TA CON				;"CON" MEANS CONTINUE
IFN NICSW,<
..CD::					;[NIC1055] CONNECT (TO DIRECTORY)
>;IFN NICSW
	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
IFN STANSW,<
	TA DI				;"DI" IS SHORT FOR "DIRECTORY"
.DI:
>;IFN STANSW
	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"
IFN STANSW,<
	T ECHO,NOLG			;ECHO TYPE IN RIGHT BACK
>;IFN STANSW
	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)
IFN STANSW,<
IFE LOTSW,<
	TA F,..FING			;F FOR FINGER
>;IFE LOTSW
IFN LOTSW,<
	TA F,..FIND			;F FOR FIND AT LOTS
>;IFN LOTSW
>;IFN STANSW
	T FDIRECTORY 			;DIR, CRAM, EVERYTHING, NO HEADING
IFN STANSW,<
IFN LOTSW,<
	TA FI,..FIND			;USE FIND OVER FINGER AT LOTS
	TA FIN,..FIND
..FIND:	T FIND,NOLG
>;IFN LOTSW
..FING:	T FINGER,NOLG			;FINGER
>;IFN STANSW
	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)
   >
IFN STANSW,<
	TA H				;H FOR HELP
.H:
>;IFN STANSW
IFE STANSW,<
	T HELP				;HELP COMMAND
>;IFE STANSW
IFN STANSW,<
	T HELP,NOLG			;HELP COMMAND
IFN LOTSW!CSLISW,<
	T HELPME,NOLG,.HELPM		;RUNS HELPME
>;IFN LOTSW!CSLISW
>;IFN STANSW
IFN CHSTSW,<
	T HISTORY			;History of recently-issued commands
>;IFN CHSTSW
IFN NICSW,<				;[NIC1000]
	T HOST,NOLG			;[NIC1000] HOST COMMAND
	TA I				;[NIC1002] ABBREVIATION FOR INFORMATION
	T IDDT				;[NIC1002] IDDT COMMAND
>;IFN NICSW
;   MIC,<
;	TA I				;I IS ABBREV FOR INFO
;	IT IF,,.MICIF
;   >
IFN STANSW,<
IFN CSLISW!SUMXSW,<
	TA I				;Make I an abbrev for INFO
	T IMPRINT,,.CANON		;Queue files to the IMagen PRINTer
>;IFN CSLISW!SUMXSW
>;IFN STANSW
.I:	T INFORMATION,NOLG		;INFORMATION COMMANDS
IFE NICSW,<
IFN STANSW,<
	TA K				;K FOR KJOB
>;IFN STANSW
>;IFE NICSW
	T KEEP				;KEEP (FORK)
IFN STANSW,<
	IT KILLJOB,NOLG,.LOGOUT		;ANOTHER LOGOUT ALIAS
.K:	T KJOB,NOLG,.LOGOUT		;ALIAS FOR LOGOUT
	IT KK,NOLG,.KK			;JUST LOGOUT, NO EXPUNGE, ETC.
>;IFN STANSW
   MIC,<
	T KMIC				;KILL MIC PROCESS
   >
IFN NICSW,<				;[NIC1004]
	T LASER,,.CANON			;[NIC1052] LASER COMMAND
>;IFN NICSW
	T LOAD				;LOAD (FROM)
IFN STANSW,<
	TA LOGO				;LOGO FOR LOGOUT
	IT LOGOFF,NOLG,.LOGOUT		;YET ANOTHER SYNONYM
.LOGO:
>;IFN STANSW
	T LOGOUT,NOLG			;LOGOUT
IFN STANSW,<
	T MAIL				;SEND MESSAGE
	T MAP,EASB
>;IFN STANSW
	T MERGE,EASB			;MERGE <FILE>
	T MODIFY			;MODIFY QUEUE REQUESTS
	T MOUNT				;MOUNT TAPE OR STRUCTURE
	IT NAME				;NAME (OF CURRENT FORK)
IFN NICSW,<				;[NIC1000]
	T NDIRECTORY,,.NDIR
;	T NIC,NOLG+ONEWRD		;[NIC1000] FOR NIC-QUERY
	T NO				;[NIC1002] NO IDDT
>;IFN NICSW
   MIC,<
	IT NOERROR
	IT NOOPERATOR
>;MIC
   MIC,<
	IT OPERATOR
   >
   PCLF,<
	T ORIGINAL			;PCL Original Exec command
   >
IFE STANSW,<
	T PERUSE,,.EDITP		;PERUSE (FILE) <FILE>
>;IFE STANSW
IFE STANSW,<
	T PLOT				;PUT FILES INTO PLOTTER QUEUE
>;IFE STANSW
	T POP				;POP EXEC LEVEL
   PCLF,<
IFE STANSW,<
	TA PR               		;[PCL] Invisible PRINT abbrev
>;IFE STANSW
IFN STANSW,<
IFE SCORSW,<
	TA PR				;PR IS AN ABBREV FOR PRINT
>;IFE SCORSW
>;IFN STANSW
	T PRESERVE			;PCL Preserve PCL enviroment
   >
IFE STANSW,<
.PR:	T PRINT				;PRINT
>;IFE STANSW
IFN STANSW,<
IFE SCORSW,<
IFE CSLISW,<
.PR:	T PRINT				;PRINT
>;IFE CSLISW
>;IFE SCORSW
IFN CSLISW,<
.PR:	T  PRINT,,.CANON		;Spool print requests to CANON
>;IFN CSLISW
	TA PU			;PU ABBREVIATION FOR PUSH
>;IFN STANSW
IFE STANSW,<
	T PUNCH				;PUNCH CARDS/PAPER-TAPE
>;IFE STANSW
IFN STANSW,<
.PU:
>;IFN STANSW
	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
>
IFN CHSTSW,<
	T REDO				;REDO (reexecute) a previous command
>;IFN CHSTSW
	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.
IFN STANSW,<
	TA S				;S FOR START
>;IFN STANSW
	T SAVE,EASB			;SHARABLE SAVE
IFN STANSW,<
	T SEND,NOLG,SNDCMD		;SEND TERMINAL MESSAGE
>;IFN STANSW
IFE STANSW,<
	T SEND,,.USEND			;LET THEM USE THEIR OWN SEND
>;IFE STANSW
	T SET,NOLG			;SET COMMAND
	T SKIP				;SKIP
IFN STANSW,<
.S:					;SUPPORT FOR S ABBREVIATION
>;IFN STANSW
	T START				;START PROGRAM
	T SUBMIT			;SUBMIT
	T SYSTAT,NOLG,.SISTA		;SYSTEM STATUS PRINTOUT
IFN NICSW,<				;[NIC1000]
;	T TACNEWS,NOLG+ONEWRD		;[NIC1000] TACNEWS COMMAND
>;IFN NICSW
	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
IFN STANSW,<
	IT TO,NOLG,SNDCMD		;ANOTHER FORM OF TERMINAL MESSAGE
IFN NICSW,<
;	T TPRINT,,.PLOT			;PRINT ON TAC PRINTER
>;IFN NICSW
>;IFN STANSW
	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
IFN STANSW,<
	T UNMAP				;UNMAP CORE PAGES
IFN LOTSW,<
	T UPDATE,,..UPDA		;ACCOUNTING PROGRAM AT LOTS
>;IFN LOTSW
>;IFN STANSW
	T VDIRECTORY 			;DIR, PROT, SIZ, LEN, TIM W, USER W
   XTND,<
	T WDIRECTORY			;DIR, SIZE, USER W, USER CRE, CHRON BY WRITE
   >
IFN NICSW,<				;[NIC1000]
	T WHOIS,NOLG			;[NIC1000] WHOIS COMMAND
>;IFN NICSW
IFN STANSW,<
IFN LOTSW!CSLISW,<
	T WHOCONSULT,NOLG,.WHO		;RUNS WHOCONSULT.
>;IFN LOTSW!CSLISW
IFN LOTSW,<
	T WIZARDS,NOLG,.WIZ		;RUNS WIZARDS
>;IFN LOTSW
>;IFN STANSW
        TEND

STAT,<IFG .-CTBL1-STA%FD,<PRINTX COMMAND TABLE TO LARGE FOR STATISTICS>>
;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
IFN NICSW,<				;[NIC1001]
	T INITIALIZE,,.INITI		;[NIC1001] SETUP GATEWAY & HOST TABLES
	T PEEK				;[NIC1001] 1-WAY LINK WITH ANOTHER TTY
>;IFN NICSW
IFN STANSW,<
IFN SUMXSW,<
	IT PEEK				;1-WAY LINK WITH ANOTHER TTY
>;IFN SUMXSW
>;IFN STANSW
	T PRINT,,EPRINT			;PRINT DIRECTORY INFORMATION
	T QUIT,ONEWRD+WHLU		;QUIT: EXIT TO SUPERIOR EXEC
IFN STANSW,<
	T REPLACE			;REPLACE EXEC WITH ANOTHER PROGRAM
>;IFN STANSW
	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 NICSW,<
 DEFCH LV.OVF,.CALOV,.ICAOV		;[NIC1034] ARITHMETIC OVERFLOW INTERUPT
 DEFCH LV.OVF,.CALOV,.ICFOV		;[NIC1034] FLOATING OVERFLOW INTERRUPT
 DEFCH 2,NICINT,NICCHN			;[NIC1000] NIC-QUERY LOGIN IDLE CHECK
>;IFN NICSW

IFN FTCE,<
 DEFCH LV.CED,.CEPSI,CEDCHN		;INTERRPUT CHAR CHAN FOR COMMAND EDITOR
  >
IFN CHSTSW,<
 DEFCH LV.CED,.CEPSI,CEPCHN		;User typed Command editor entry char
>;IFN CHSTSW
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::
IFE NICSW,<
	FLDDB. .CMKEY,,CTBL1,<Command,>,,[
	 FLDDB. .CMKEY,,KEPNMS,<kept fork name,>,,[
	  FLDDB. .CMTOK,,<-1,,[ASCIZ //]>,,,[
	   FLDDB. .CMFIL,CM%SDH,,<system program name>,,]]]
>;IFE NICSW
IFN NICSW,<			;[NIC1017] [NIC1035]
	FLDDB. .CMKEY,,CTBL1,<Command,>,,[
	 FLDDB. .CMKEY,,KEPNMS,<kept fork name,>,,[
	  FLDDB. .CMTOK,,<-1,,[ASCIZ "/"]>,,,[
	   FLDDB. .CMTOK,,<-1,,[ASCIZ //]>,,,[
	    FLDDB. .CMFIL,CM%SDH,,<system program name>,]]]]

;;;	     FLDDB. .CMDIR,CM%SDH,,<directory name>,]]]]]
>;IFN NICSW

;TOP-LEVEL COMMAND ARGUMENT BLOCK FOR WHEN NOT ENABLED

CM1DB::
IFE NICSW,<
	FLDDB. .CMKEY,,CTBL1,<Command,>,,[
	 FLDDB. .CMKEY,,KEPNMS,<kept fork name,>,,[
	  FLDDB. .CMFIL,CM%SDH,,<system program name>,,]]
>;IFE NICSW
IFN NICSW,<			;[NIC1017] [NIC1035]
	FLDDB. .CMKEY,,CTBL1,<Command,>,,[
	 FLDDB. .CMKEY,,KEPNMS,<kept fork name,>,,[
	  FLDDB. .CMTOK,,<-1,,[ASCIZ "/"]>,,,[
	   FLDDB. .CMFIL,CM%SDH,,<system program name>,]]]

;;;	    FLDDB. .CMDIR,,,,,]]]]
>;IFN NICSW

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

IFN STANSW,<
CM1XL:: FLDBK. .CMKEY,,CTBLX,<Command,>,,[BRMSK. (KEYB0.,KEYB1.,KEYB2.,KEYB3.,<.>)],[
	FLDDB. .CMUSR]
IFN LOTSW,<
CM1QL:: FLDBK. .CMKEY,,CTBLQ,<Command,>,,[BRMSK. (KEYB0.,KEYB1.,KEYB2.,KEYB3.,<.>)],[
	FLDDB. .CMUSR]
>;IFN LOTSW
>;IFN STANSW
IFE STANSW,<
CM1XL::	FLDDB. .CMKEY,,CTBLX,<Command,>
>;IFE STANSW
;"INFORMATION" FIELD DESCRIPTORS

$INFO::	TABLE
IFN STANSW,<
IFN LOTSW,<
	TA A,.AL		;I A FOR I ALLOCATION
>;IFN LOTSW
>;IFN STANSW
	T ADDRESS-BREAK,ONEWRD,.ADBRK
IFN STANSW,<
IFN LOTSW,<
	TA AL			;I AL FOR I ALLOCATION
>;IFN LOTSW
>;IFN STANSW
	T ALERTS,,.ALRST
IFN STANSW,<
IFN LOTSW,<
.AL:	T ALLOCATION,NOLG,.ALLOC
>;IFN LOTSW
>;IFN STANSW
	T ARCHIVE-STATUS,,.ARSTS
IFE NICSW,<
	T ARPANET,NOLG,.IARPA
>;IFE NICSW
	T AVAILABLE,NOLG
IFE STANSW,<
	T BATCH-REQUESTS,,.IBR
>;IFE STANSW
IFN STANSW,<
	T BATCH-REQUESTS,NOLG,.IBR
>;IFN STANSW
;	T CARD-READER-INPUT-SET,ONEWRD,CRDINF
IFN STANSW,<
	T CLUSTER,NOLG+ONEWRD,.CLUST
>;IFN STANSW
IFE STANSW,<
	T CLUSTER,ONEWORD,.CLUST
>;IFE STANSW
	T COMMAND-LEVEL,NOLG+ONEWRD,.EXECM
IFN STANSW,<
	TA D,.INFOD			;D = DISK-USAGE
>;IFN STANSW
IFE NICSW,<
	T DECNET,NOLG,.IDECN
>;IFE NICSW
	T DEFAULTS,,.INDEF
IFN NICSW,<
	T DEVICES,NOLG,.ASDEV		;[NIC1057]
>;IFN NICSW
	T DIRECTORY,,.INDIR		;PRINT DIRECTORY PARAMETERS
IFN STANSW,<
.INFOD:
>;IFN STANSW
	T DISK-USAGE,,.DSKST
IFN STANSW,<
	T DOWNTIME,NOLG+ONEWRD,.SDOWN	;AH, BUT MINE IS BETTER!
	T ERROR-NUMBER,NOLG,.ERSTR
IFN PUPSW,<	;;FLUSH THIS SOMETIME. 27-MAY-85, KSL
	IT ETHERNET,ONEWRD+NOLG,.IETH
>;IFN PUPSW
>;IFN STANSW
	TA F				;ALIAS FOR FILE STATUS
.F:	T FILE-STATUS,,.FILST
IFE STANSW,<
	T FORK-STATUS,ONEWRD,.FRKST
>;IFE STANSW
IFN STANSW,<
	T FORK-STATUS,,.FRKST
>;IFN STANSW
IFN FTCE,<
	T HISTORY,ONEWRD+NOSAVE,.INHST		;LIST COMMAND HISTORY (COMMAND EDITOR)
  >
IFN NICSW,<
	T HISTORY,ONEWRD,.IHIST		;LIST COMMAND HISTORY (COMMAND EDITOR)
>;IFN NICSW
IFN STANSW,<
IFN GSBSW,<
	T IBM6640-REQUESTS,ONEWRD+NOLG,.IIBM6
>;IFN GSBSW
	T INTERNET,NOLG,.IARPA
	T JOB-STATUS,ONEWRD+NOLG,.JOBST
>;IFN STANSW
IFE STANSW,<
	T JOB-STATUS,ONEWRD,.JOBST
>;IFE STANSW
	T LOGICAL-NAMES,,.LNLIS
	T MAIL,NOLG,.MALST
	T MEMORY-USAGE,ONEWRD,.MEMST
IFE STANSW,<
	T MONITOR-STATISTICS,ONEWRD,MONSTA
>;IFE STANSW
IFN STANSW,<
	T MONITOR-STATISTICS,NOLG+ONEWRD,MONSTA
>;IFN STANSW
	T MOUNT-REQUESTS,,.IMR
IFN STANSW,<
IFN PUPSW,<
	IT NETWORK,ONEWRD+NOLG,.IETH	;OTHER SU SITES ARE ON ETHER NOT ARPA
>;IFN PUPSW
>;IFN STANSW
IFE STANSW,<
	T OUTPUT-REQUESTS,,.IPR
>;IFE STANSW
IFN STANSW,<
	T OUTPUT-REQUESTS,NOLG,.IPR
>;IFN STANSW
   PCLF,<
	T PCL-OBJECTS,ONEWRD,.PCLOB	;PCL
   >
	T PROGRAM-STATUS,ONEWRD,.RUNST
	T PSI-STATUS,ONEWRD,.PISTA
IFN STANSW,<
IFN PUPSW,<
	T PUP,ONEWRD+NOLG,.IETH
>;IFN PUPSW
IFN GSBSW!LOTSW,<
	T QUEUE,ONEWRD+NOLG,.IQUEU
>;IFN GSBSW!LOTSW
>;IFN STANSW
IFN CHSTSW,<	
	T REDO,ONEWRD,.IDRED
>;IFN CHSTSW
IFN STANSW,<
IFN GSBSW,<
	T RESERVATION,NOLG,.IRESE
>;IFN GSBSW
>;IFN STANSW

	T RETRIEVAL-REQUESTS,,.IRR
	T SPOOLED-OUTPUT-ACTION,ONEWRD,SPLINF
	T STRUCTURE,,.STRST
	T SUBSYSTEM-STATISTICS,ONEWRD,SUBSTA
IFE STANSW,<
	T SUPERIORS,ONEWRD
>;IFE STANSW
	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
IFE STANSW,<
	T CARDS,ONEWRD,.IDC
>;IFE STANSW
IFN STANSW,<
IFE CSLISW!SUMXSW!NICSW,<
	T CANON,ONEWRD,.IDC
>;IFE CSLISW!SUMXSW!NICSW
>;IFN STANSW
	T COMPILE-SWITCHES,ONEWRD,.IDCS
   PCLF,<			;[PCL]
	T DECLARE,ONEWRD,.IDDCL	;[PCL]
   >				;[PCL]
IFN STANSW,<
IFN CSLISW!SUMXSW,<
	T IMPRINT,ONEWRD,.IDC
>;IFN CSLISW!SUMXSW
>;IFN STANSW
IFN NICSW,<			;[NIC1004] ENABLE INFO LASER
	T LASER,ONEWRD,.IDC	;[NIC1004] LASER COMMAND
>;IFN NICSW
	T PAPER-TAPE,ONEWRD,.IDP
	T PLOT,ONEWRD,.IDPL
IFE CSLISW,<
	T PRINT,ONEWRD,.IDPRT
>;IFE CSLISW
IFN CSLISW,<
	T PRINT,ONEWRD,.IDC
>;IFN CSLISW
	T PROGRAM,,.IDPRG
	T SUBMIT,ONEWRD,.IDS
	T TAKE,ONEWRD,.IDTAK
	TEND
IFN STANSW,<
;INFORMATION DEFAULT DECLARE

.IDDCL:	HRROI A,[0]		;ASSUME NO NO
	MOVX B,PCFQDC		;GET QUIET-DECLARATION BIT
	TDNE B,PCFLAG		;IS IT SET?
	 HRROI A,[ASCIZ/NO/]	;YES, NO CONFIRMATION
	ETYPE < SET DEFAULT DECLARE /%1MCONFIRM%_>
	RET
>;IFN STANSW
;"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)
IFN CHSTSW,<
   PCLF,<
	TA COM,.CTR
	TA COMM,.CTR
	TA COMMA,.CTR
	TA COMMAN,.CTR
	TA COMMAND,.CTR
	TA COMMAND-,.CTR
   >
	T COMMAND-EDITOR,,.CEDIT	;Set command-editor
   PCLF,<
     .CTR:
   >
>;IFN CHSTSW
   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)
  >
IFN CHSTSW,<
	T HISTORY,,.SHIST
>;IFN CHSTSW
IFE STANSW,<
	T HOST,,.HOST			;SET HOST 
>;IFE STANSW
   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)
IFN STANSW,<
	T LEVEL-INDICATION,ONEWRD,.SLEVL ;SET LEVEL-INDICATION
>;IFN STANSW
	T LOCATION			;SET LOGICAL LOCATION TO NODE NAME
	T MAIL-WATCH,,.MWATC		;SET MAIL-WATCH (FOR USER) USRNAM (COUNT) N
IFN STANSW,<
	TA N,.SNO			;ABBREVIATION FOR NO
>;IFN STANSW
	T NAME				;SET NAME (OF CURRENT FORK)
IFN STANSW,<
	T NEW-FORK,,.NWFRK		;SET NEW-FORK (ON RESET)
.SNO:
>;IFN STANSW
	T NO,NOLG,.SETNO		;SET NO
	T PAGE-ACCESS,,.PAC		;SET PAGE-ACCESS
IFN NICSW,<				;[NIC1027]
	TA PRO,.PROG			;[NIC1027]
.PROG:					;[NIC1027]
>;IFN NICSW
	T PROGRAM,,PROG			;SET PROGRAM
IFN STANSW,<
	T PROMPTS			;SET PROMPTS
>;IFN STANSW
	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
IFE NICSW,<
	T TERMINAL,NOLG			;SET TERMINAL (SAME AS TERMINAL...)
>;IFE NICSW
IFN NICSW,<				;[NIC1044]
	T TERMINAL,NOLG,ETERMI		;[NIC1044]
>;IFN NICSW
	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)
   >
IFN CHSTSW,<
	T HISTORY,,.SNHIS
>;IFN CHSTSW
   XTND,<
	T KEEP-FORK,,.KFRKC		;SET NO KEEP-FORK (ON <CTRL-C>)
   >
	T LATE-CLEAR-TYPEAHEAD,NOLG,.CIDLY ;EARLY CLEAR
IFN STANSW,<
	T LEVEL-INDICATION,ONEWRD,.SLEVL ;SET NO LEVEL-INDICATION
>;IFN STANSW
   XTND,<
	T LOGIN-MAIL,ONEWRD,.NOLM	;SET NO LOGIN-MAIL
   >
	T MAIL-WATCH,,.MWATC		;SET NO MAIL-WATCH (FOR USER) USRNAM
IFN STANSW,<
	T NEW-FORK,,.NWFRK		;SET NO NEW-FORK (ON RESET)
>;IFN STANSW
	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
IFE STANSW,<
	T CARDS,,.SDC
>;IFE STANSW
IFN STANSW,<
IFE CSLISW!SUMXSW!NICSW,<
	T CANON,,.SDC
>;IFE CSLISW!SUMXSW!NICSW
>;IFN STANSW
	T COMPILE-SWITCHES,,.SDCS
   PCLF,<
	T DECLARE,,.SDDCL		;PCL
   >
IFN STANSW,<
IFN CSLISW!SUMXSW,<
	T IMPRINT,,.SDC
>;IFN CSLISW!SUMXSW
>;IFN STANSW
IFN NICSW,<				;[NIC1004]
	T LASER,,.SDP			;[NIC1004] LASER COMMAND
>;IFN NICSW
	T PAPER-TAPE,,.SDT
	T PLOT,,.SDPL			;SET DEFAULTS (FOR) PLOT
IFE CSLISW,<
	T PRINT,,.SDP
>;IFE CSLISW
IFN CSLISW,<
	T PRINT,,.SDC
>;IFN CSLISW
	T PROGRAM,,SDPROG		;SET DEFAULT (FOR) PROGRAM
IFN CHSTSW,<
	T REDO,,.SDRED
>;IFN CHSTSW
	T SUBMIT,,.SDS			;SET DEFAULT (FOR) SUBMIT
	T TAKE,,.TKD			;SET DEFAULT (FOR) TAKE
	TEND

;"SET NO DEFAULT" FIELD DESCRIPTORS

$NODEF::TABLE
IFE STANSW,<
	T CARDS,,.SNDCP
>;IFE STANSW
IFN STANSW,<
IFE CSLISW!SUMXSW!NICSW,<
	T CANON,,.SNDCP
>;IFE CSLISW!SUMXSW!NICSW
>;IFN STANSW
	T COMPILE-SWITCHES,,.SNDCS	;SET NO DEFAULT COMPILE-SWITCHES
IFN STANSW,<
IFN CSLISW!SUMXSW,<
	T IMPRINT,,.SNDCP
>;IFN CSLISW!SUMXSW
>;IFN STANSW
IFN NICSW,<				;[NIC1004]
	T LASER,,.SNDP			;[NIC1004]
>;IFN NICSW
	T PAPER-TAPE,,.SNDTP
	T PLOT,,.SNDPL			;SET NO DEFAULTS (FOR) PLOT
IFE CSLISW,<
	T PRINT,,.SNDP
>;IFE CSLISW
IFN CSLISW,<
	T PRINT,,.SNDCP
>;IFN CSLISW
	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) -
IFN NICSW,<				;[NIC1033]
	T AUTOKEEP,,.AUTOK		;[NIC1033] SET FILE AUTOKEEP
>;IFN NICSW
	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
   >
IFN STANSW,<
	T PERMANENT,,.PRMNT		;SET FILE PERMANENT
	TA PRO				; SET FI PRO for PROTECTION!
>;IFN STANSW
	T PROHIBIT,WHLU,.FPROH		;SET FILE PROHIBIT (MIGRATION OF FILES)
IFN STANSW,<
.PRO:
>;IFN STANSW
	T PROTECTION,			;SET FILE PROTECTION (OF FILE) - (TO) -
IFN STANSW,<
	T REFERENCE-COUNT,,.SREFC 	;SET FILE REFERENCE-COUNT (OF FILE) - (TO) - 
>;IFN STANSW
   XARC <
	T RESIST,,.FRESI		;SET FILE RESIST (MIGRATION OF FILES)
   >
IFN STANSW,<
	T SAVE-BY-BACKUP-SYSTEM,,.SVBAK	;SET FILE SAVE-BY-BACKUP-SYSTEM
	T TEMPORARY,,.TMPRY		;SET FILE TEMPORARY
>;IFN STANSW
	T VISIBLE,			;SET FILE VISIBLE <FILEGROUP>
	TEND

;"SET FILE NO" FIELD DESCRIPTORS

$SFNO::	TABLE
IFN NICSW,<				;[NIC1033]
	T AUTOKEEP,,.AUTOK		;[NIC1033] PUT BACK NO AUTOKEEP
>;IFN NICSW
	T EPHEMERAL,,.EPHM
IFN STANSW,<
	T PERMANENT,,.PRMNT		;SET FILE PERMANENT
>;IFN STANSW
	T PROHIBIT,WHLU,.FPROH
   XARC <
	T RESIST,,.FRESI
   >
IFN STANSW,<
	T SAVE-BY-BACKUP-SYSTEM,,.SVBAK	;SET FILE SAVE-BY-BACKUP-SYSTEM
	T TEMPORARY,,.TMPRY		;SET FILE TEMPORARY
>;IFN STANSW
	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
;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
IFN NICSW,<
	T AUGMENT,,.DOGMN	;TERMINAL DOGMENT sez ^h goes to ^a...
>;IFN NICSW
IFN STANSW,<
	T BACKSPACE-DELETE,,.BACKRB
>;IFN STANSW
	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
IFN CHSTSW,<
	T META
>;IFN CHSTSW
	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
IFN STANSW,<
	T BACKSPACE-DELETE,,.BACKRB
>;IFN STANSW
	T FLAG
	T FORMFEED
	T IMMEDIATE
	T INDICATE
	T INHIBIT
	T LOWERCASE
IFN CHSTSW,<
	T META
>;IFN CHSTSW
	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
IFN STANSW,<
	T 43,,.T43
	T ADM-3,,.ADM3
	T ALTO,,.ALTO
	T AMBASSADOR,,.AMBAS
	T ANN-ARBOR,,.ANNAR
	T ANSI,,.ANSI
	T AVT,,.AVT
	T CONCEPT-100,,.CONCE
	T DATAMEDIA-1520,,.DATM2
	T DATAMEDIA-2500,,.DATAM
	T DM1520,,.DATM2
	T DM2500,,.DATAM
	T ESPRIT,,.ESPRT
>;IFN STANSW
	T EXECUPORT,,.TI
IFN STANSW,<
	T FR100,,.FREED
	T FR200,,.FREE2
	T FREEDOM-100,,.FREED
	T FREEDOM-200,,.FREE2
	T GILLOTINE,,.GILLO
IFE NICSW,<
	T GVT,,.GVT
>;IFE NICSW
>;IFN STANSW
	T H19,,.VTH19
IFN STANSW,<
	T HAZELTINE-1500,,.HAZEL
	T HEATH-19,,.VTH19
	T HP2645A,,.HP2
	T IBM-3101,,.IBM
>;IFN STANSW
	T LA120
	T LA30,,.LA30
	T LA36,,.LA36
	T LA38
IFN NICSW,<			;[NIC1012]
	T LINEPROCESSOR,,.LINEP	;[NIC1012]
>;IFN NICSW
IFN STANSW,<
	T NVT,,.NVT
IFN STANSW,<
IFN CSLISW,<
	T QUME,,.TELEV
	T QVT102,,.TELEV
>;IFN CSLISW
>;IFN STANSW
	T SOROC-120,,.SOROC
	T SUN,,.SUN
	T SUN48,.SUN48
>;IFN STANSW
	T SYSTEM-DEFAULT,,.DFLT
IFN STANSW,<
	T TEK4023,,.TEKT3
	T TEK4025,,.TEKTR
	T TEKTRONIX-4023,,.TEKT3
	T TEKTRONIX-4025,,.TEKTR
	T TELEMEDIA,,.DATAM	;SAME AS DM2500
	T TELERAY-1061,,.TELER
	T TELEVIDEO-912,,.TELEV
>;IFN STANSW
	T TERMINET,,.TRMNT
	T TI,,.TI
	T VK100
	T VT05
	T VT100
	T VT102
	T VT125
	T VT131
	T VT200-SERIES,,.VT200
	T VT50
	T VT52
IFN STANSW,<
	T ZENITH-19,,.VTH19
>;IFN STANSW
	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)
IFE STANSW,<
REPEAT 4,<XCT TTYNTY	>	;4-7 (RESERVED FOR CUSTOMER)
	TYPE < TERMINAL SYSTEM-DEFAULT> ;8
	XCT TTYNTY		;9  (IDEAL TERMINAL)
>;IFE STANSW
IFN STANSW,<
	TYPE < TERMINAL ADM-3>		;4
	TYPE < TERMINAL DATAMEDIA-2500> ;5
	TYPE < TERMINAL HP2645A>	;6
	TYPE < TERMINAL HAZELTINE-1500> ;7
	TYPE < TERMINAL TERMINET>	 ;8
	TYPE < TERMINAL NVT>		;9
>;IFN STANSW
	TYPE < TERMINAL VT05>	;10
	TYPE < TERMINAL VT50>	;11
	TYPE < TERMINAL LA30>	;12
IFE NICSW,<
	XCT TTYNTY		;13 (NOT SUPPORTED - GT40)
>;IFE NICSW
IFN NICSW,<			;[NIC1012]
	TYPE < TERMINAL LINEPROCESSOR>	;13 [NIC1012]
>;IFN NICSW
	TYPE < TERMINAL LA36>	;14
	TYPE < TERMINAL VT52>	;15
	TYPE < TERMINAL VT100>	;16
	TYPE < TERMINAL LA38>	;17
	TYPE < TERMINAL LA120>	;18
IFE STANSW,<
REPEAT 20,<XCT TTYNTY	>	;19-34 (RESERVED FOR CUSTOMER)
>;IFE STANSW
IFN STANSW,<
	TYPE < TERMINAL 43>	;19
	TYPE < TERMINAL SOROC-120>	;20
	TYPE < TERMINAL GILLOTINE> ;21
	TYPE < TERMINAL TELERAY-1061> ;22
	TYPE < TERMINAL TEKTRONIX-4025> ;23
	TYPE < TERMINAL ANN-ARBOR> ;24
	TYPE < TERMINAL ZENITH> ;25
	TYPE < TERMINAL CONCEPT-100> ;26
	TYPE < TERMINAL IBM-3101> ;27
	TYPE < TERMINAL TELEVIDEO-912> ;28
	TYPE < TERMINAL TEKTRONIX-4023> ;29
	TYPE < TERMINAL DATAMEDIA-1520> ;30
	TYPE < TERMINAL AMBASSADOR> ;31
        TYPE < TERMINAL ESPRIT> ;32
	TYPE < TERMINAL FREEDOM-100>	;33
	TYPE < TERMINAL FREEDOM-200>	;34
>;IFN STANSW
	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
IFE STANSW,<
REPEAT ^D10,<XCT TTYNTY	>	;41-50 (RESERVED FOR CUSTOMER)
>;IFE STANSW
IFN STANSW,<
	TYPE < TERMINAL ANSI>	;41
	TYPE < TERMINAL AVT>	;42
	TYPE < TERMINAL GVT>	;43
	TYPE < TERMINAL SUN>	;44
REPEAT ^D6,<XCT TTYNTY >	;45-50 (RESERVED FOR CUSTOMER)
>;IFN STANSW
REPEAT ^D10,<XCT TTYNTY	>	;51-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

IFN STANSW,<
DEFINE STDASC <BYTE (7) .CHESC,"H",.CHESC,"J",0>
>;IFN STANSW

BLNKTB::0			;(0) TTY 33
	0			;(1) TTY 35
	0			;(2) TTY 37
	0			;(3) TI / EXECUPORT
IFE STANSW,<
REPEAT 4,<0>			;(4-7) RESERVED FOR CUSTOMER
>;IFE STANSW
IFN STANSW,<
	BYTE (7).CHCNZ,0	;(4) ADM-3
	BYTE (7).CHCRB,.CHCCF,0	;(5) DATAMEDIA-2500
	STDASC			;(6) HP264X
	BYTE (7)"~",.CHCBS,0	;(7) HAZELTINE-1500
>;IFN STANSW
	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
IFE STANSW,<
REPEAT 20,<0>			;(19-34) (RESERVED FOR CUSTOMER)
>;IFE STANSW
IFN STANSW,<
	0			; (19) TTY43
	BYTE (7) .CHESC,"+",0	; (20) SOROC 120
	BYTE (7) .CHCNE,.CHCNY,0 ;(21) GILLOTINE
	STDASC			; (22) TELERAY 1061
	[BYTE (7) "`","E","R","A",";",0] ; (23) TEK 4025
	BYTE (7) .CHFFD,0	; (24) ANN ARBOR
	STDASC			; (25) HEATH 19
	BYTE (7) .CHFFD,0	; (26) CONCEPT 100
	BYTE (7) .CHESC,"K",0	; (27) IBM 3101
	BYTE (7) .CHESC,"*",0	; (28) TELEVIDEO 912
	0			; (29) TEKTRONIX 4023
	BYTE (7) .CHCNY,.CHVTB,0 ; (30) DATAMEDIA 1520
	[BYTE (7) .CHESC,"[","H",.CHESC,"[","J",0] ; (31) AMBASSADOR
	BYTE (7) .CHESC,.CHCBS,0	; (32) HAZELTINE-ESPRIT
	BYTE (7) .CHCCF,.CHESC,"Y",0	; (33) FREEDOM-100
	BYTE (7) .CHCCF,.CHESC,"Y",0	; (34) FREEDOM-200
>;IFN STANSW
	[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] ;(38) H19
	[BYTE (7)33,"[","H",33,"[","J",0] ;(39) VT131
	[BYTE (7)33,"[","H",33,"[","J",0] ;(40) VT200
IFE STANSW,<
REPEAT ^D10,<0>			;(41-50) (RESERVED FOR CUSTOMER)
>;IFE STANSW
IFN STANSW,<
	[BYTE (7)33,"[","H",33,"[","J",0] ;(41) ANSI
	[BYTE (7)33,"[","H",33,"[","J",0] ;(42) AVT
	[BYTE (7)33,"[","H",33,"[","J",0] ;(43) GVT
	[BYTE (7)14,0]		;(44) SUN
REPEAT ^D6,<0>			;(45-50) (RESERVED FOR CUSTOMER)
>;IFN STANSW
REPEAT ^D10,<0>			;(51-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