Trailing-Edge
-
PDP-10 Archives
-
BB-4170G-SM
-
sources/stg.mac
There are 95 other files named stg.mac in the archive. Click here to see a list.
;<3A.MONITOR>STG.MAC.53, 22-Sep-78 09:24:35, EDIT BY HELLIWELL
;FIX CONDITIONALS FOR PI6 CODE TO INCLUDE PTPN
;<3A.MONITOR>STG.MAC.52, 26-Jul-78 10:13:37, Edit by ENGEL
;ADD CAVEAT FOR BUTPG
;<3A.MONITOR>STG.MAC.51, 17-Jul-78 16:36:59, EDIT BY MILLER
;SET UP BUGHLT,BUGCHK,BUGINF DISPATCHES BEFORE NOXADR BUGHLT
;<3A.MONITOR>STG.MAC.50, 13-Jul-78 18:30:35, Edit by ENGEL
;MOVE MTMXDM BACK TO MAGTAP WHERE IT BELONGS
;<3A.MONITOR>STG.MAC.49, 11-Jul-78 06:57:28, Edit by JBORCHEK
;SET BUTPG TO 667 FOR 2060'S
;<3A.MONITOR>STG.MAC.48, 22-Jun-78 16:38:53, Edit by ENGEL
;ADD BUTPG
;<3A.MONITOR>STG.MAC.47, 20-Jun-78 16:32:34, Edit by JBORCHEK
;REMOVE IDXTAB FROM PSB IF EXADF
;<3A.MONITOR>STG.MAC.46, 20-Jun-78 09:35:57, EDIT BY MILLER
;ONE MORE EDIT
;<3A.MONITOR>STG.MAC.45, 20-Jun-78 09:34:03, EDIT BY MILLER
;CHECK FOR 2060 MONITOR RUNNING ON A MODEL A. IF SO, GIVE NOXADR BUGHLT
;<3A.MONITOR>STG.MAC.44, 19-Jun-78 14:43:39, EDIT BY KIRSCHEN
;DEFINE SYMBOL, DRMSDA, MAX SIZE OF A DIR ON A MODEL A
;<1BOSACK>STG.MAC.1023, 6-Jun-78 02:33:09, EDIT BY BOSACK
;<1BOSACK>STG.MAC.1022, 5-Jun-78 23:58:00, EDIT BY BOSACK
;<1BOSACK>STG.MAC.1021, 5-Jun-78 21:34:09, EDIT BY BOSACK
;<1BOSACK>STG.MAC.1020, 5-Jun-78 20:44:03, EDIT BY BOSACK
;<1BOSACK>STG.MAC.1019, 5-Jun-78 19:33:13, EDIT BY BOSACK
;<1BOSACK>STG.MAC.1018, 5-Jun-78 18:38:25, EDIT BY BOSACK
;<1BOSACK>STG.MAC.1017, 5-Jun-78 18:09:42, EDIT BY BOSACK
;<1BOSACK>STG.MAC.1016, 31-May-78 18:51:02, EDIT BY BOSACK
;<1BOSACK>STG.MAC.1015, 31-May-78 18:38:49, EDIT BY BOSACK
;<1BOSACK>STG.MAC.1014, 31-May-78 18:35:15, EDIT BY BOSACK
;<1BOSACK>STG.MAC.1013, 31-May-78 18:17:34, EDIT BY BOSACK
;<1BOSACK>STG.MAC.1012, 31-May-78 18:07:02, EDIT BY BOSACK
;<1BOSACK>STG.MAC.1011, 31-May-78 17:47:07, EDIT BY BOSACK
;<1BOSACK>STG.MAC.1010, 31-May-78 16:51:28, EDIT BY BOSACK
;<1BOSACK>STG.MAC.1009, 31-May-78 16:44:30, EDIT BY BOSACK
;<1BOSACK>STG.MAC.1008, 31-May-78 16:35:15, EDIT BY BOSACK
;<1BOSACK>STG.MAC.1007, 31-May-78 16:31:30, EDIT BY BOSACK
;<1BOSACK>STG.MAC.1006, 31-May-78 15:42:23, EDIT BY BOSACK
;<1BOSACK>STG.MAC.1005, 24-May-78 18:01:54, EDIT BY BOSACK
;<1BOSACK>STG.MAC.1004, 24-May-78 17:39:23, EDIT BY BOSACK
;<1BOSACK>STG.MAC.1003, 24-May-78 17:33:41, EDIT BY BOSACK
;<1BOSACK>STG.MAC.1002, 24-May-78 17:22:00, EDIT BY BOSACK
;<1BOSACK>STG.MAC.1001, 24-May-78 17:15:05, EDIT BY BOSACK
;<1BOSACK>STG.ORG.33, 24-May-78 15:18:03, EDIT BY BOSACK
;<3A.MONITOR>STG.MAC.42, 9-Jun-78 20:06:20, Edit by JBORCHEK
;MAKE HOST NAME TABLE BIGGER SINCE HSTNAM.TXT OVERFLOWS
;<3A.MONITOR>STG.MAC.41, 8-Jun-78 17:13:47, EDIT BY MURPHY
;TCO #1894 - QUEUE OF TTY LINES TO START OUTPUT
;<3A.MONITOR>STG.MAC.40, 8-Jun-78 11:04:35, EDIT BY MILLER
;ADD NEW DEFS FOR ASGFRE TO ESTABLISH LIMITS FOR JOB 0 ACTIVITY
;<3A.MONITOR>STG.MAC.39, 5-Jun-78 13:52:30, Edit by DBELL
;INCREASE SCHEDULAR STACK TO PREVENT MONPDL WHEN TLINKING A PTY
;<3A.MONITOR>STG.MAC.38, 3-Jun-78 17:18:50, Edit by JBORCHEK
;SINCE IMP DEBUG CODE GONE REMOVE ITS STORAGE
;<3A.MONITOR>STG.MAC.37, 31-May-78 15:11:14, EDIT BY BOSACK
;ADD TEMP XBIO FOR 3A
;<3A.MONITOR>STG.MAC.36, 30-May-78 13:18:46, Edit by HELLIWELL
;ADD MEMTAB TO GO WITH MEMLOK ROUTINE
;<FORTMILLER>STG.MAC.35, 30-May-78 09:45:45, Edit by FORTMILLER
;PUT DX20 CODE IN
;<3A.MONITOR>STG.MAC.34, 29-May-78 14:41:36, EDIT BY MILLER
;FIX ALLOCATION OF DTEDTV TO RESERVE SPACE FOR CARD READER
;<3A.MONITOR>STG.MAC.33, 28-May-78 19:07:50, Edit by HELLIWELL
;DO NOT RESERVE SPACE FOR BITTABLE IF EXADF IS ON
;<4.MONITOR>STG.MAC.62, 19-May-78 16:11:39, Edit by MCLEAN
;<3A.MONITOR>STG.MAC.31, 18-May-78 09:49:08, Edit by MCCLURE
; Change DUP to KDP
;<3A.MONITOR>STG.MAC.30, 17-May-78 16:20:30, EDIT BY MILLER
;MOVE STSBLK TO 110
;<3A.MONITOR>STG.MAC.29, 17-May-78 15:29:34, EDIT BY MILLER
;ADD STSBLK. DEFINED TO BE FIXED AT 107
;<3A.MONITOR>STG.MAC.28, 15-May-78 18:21:05, EDIT BY MILLER
;TCO 1186. DEFINE SWDST
;<3A.MONITOR>STG.MAC.27, 22-Apr-78 19:55:03, Edit by BORCHEK
;NNTBFS IS NOW IN PARAMS SO GET RID OF IT
;<3A.MONITOR>STG.MAC.26, 21-Apr-78 12:57:54, Edit by MCLEAN
;ADD CD20 STG FOR KS
;<3A.MONITOR>STG.MAC.25, 12-Apr-78 17:23:19, EDIT BY MURPHY
;TCO #1901 - SCHEDULER CONTROLS FOR INTERACTIVE/COMPUTATIONAL BIAS
;<3A.MONITOR>STG.MAC.24, 10-Apr-78 21:48:01, Edit by MCLEAN
;<3A.MONITOR>STG.MAC.23, 10-Apr-78 21:44:24, Edit by MCLEAN
;INITALIZATION FOR KS CARDREADER
;<3A.MONITOR>STG.MAC.22, 7-Apr-78 10:46:30, EDIT BY MILLER
;SET NDLL = 0 IF A KS
;<3A.MONITOR>STG.MAC.21, 7-Apr-78 09:36:42, EDIT BY MILLER
;IF A FE MACHINE, MAKE NDLL=5. ALWAYS COMPUTE NTTFE IN STG
;<3A.MONITOR>STG.MAC.20, 5-Apr-78 09:01:30, EDIT BY MILLER
;ADD BUGACU
;<3A.MONITOR>STG.MAC.19, 23-Mar-78 10:03:14, EDIT BY MILLER
;REMOVE ALL VESTIGES OF RSXMAX
;<3A.MONITOR>STG.MAC.18, 10-Mar-78 12:58:00, Edit by MCCLURE
;ADD DUPNLN, NSPLPB, & ITSNUM
;<3A.MONITOR>STG.MAC.17, 3-Mar-78 16:39:05, Edit by MCLEAN
;ADD MTAJB0 FOR UNIT SELECT STUFF
;<3A.MONITOR>STG.MAC.16, 2-Mar-78 16:01:51, EDIT BY MURPHY
;ADD LPSNAM
;<3A.MONITOR>STG.MAC.15, 1-Mar-78 13:54:48, EDIT BY MILLER
;CHANGE NODNUM TO BE AN NDG
;<3A.MONITOR>STG.MAC.14, 24-Feb-78 08:57:49, EDIT BY MILLER
;DEFINE OURNUM AND NODNUM
;<3A.MONITOR>STG.MAC.13, 22-Feb-78 18:27:47, EDIT BY MILLER
;MAKE MXSTRU AND NDG
;<3A.MONITOR>STG.MAC.12, 22-Feb-78 18:26:28, EDIT BY MILLER
;FIX COMPUTATION OF MXPGUN
;<3A.MONITOR>STG.MAC.11, 21-Feb-78 14:42:53, EDIT BY MILLER
;DEFINE MXPGUN. MAX DISK ADDRESS MONITOR WILL SUPPORT
;<3A.MONITOR>STG.MAC.10, 13-Feb-78 09:19:30, EDIT BY MILLER
;ADD ERRTBL DEFINITION
;<3A.MONITOR>STG.MAC.9, 11-Feb-78 19:21:44, Edit by MCLEAN
;<3.SM10-RELEASE-3>STG.MAC.43, 10-Feb-78 00:50:12, Edit by MCLEAN
;REMOVE LPPTR
;<3.SM10-RELEASE-3>STG.MAC.42, 8-Feb-78 23:53:28, Edit by MCLEAN
;<3.SM10-RELEASE-3>STG.MAC.41, 8-Feb-78 19:36:44, Edit by MCLEAN
;ADD MORE STORAGE FOR LP20
;<3.SM10-RELEASE-3>STG.MAC.40, 8-Feb-78 19:35:50, Edit by MCLEAN
;<3.SM10-RELEASE-3>STG.MAC.39, 7-Feb-78 16:30:59, Edit by MCLEAN
;ADD LPWINA FOR KS10
;<3.SM10-RELEASE-3>STG.MAC.38, 7-Feb-78 14:36:07, Edit by MCLEAN
;MAKE NLPBF BE AN NDG FOR KS10
;<3.SM10-RELEASE-3>STG.MAC.37, 5-Feb-78 18:03:34, Edit by MCLEAN
;ADD CRSHTM FOR RELOADS
;<3A.MONITOR>STG.MAC.2, 3-Feb-78 18:18:22, EDIT BY MILLER
;CHANGE FILINE TO EFILIN
;<3A.MONITOR>STG.MAC.1, 30-Jan-78 09:09:23, EDIT BY MILLER
;ADD ARTHTR
;<3.SM10-RELEASE-3>STG.MAC.36, 27-Jan-78 02:15:58, EDIT BY BOSACK
;<3.SM10-RELEASE-3>STG.MAC.35, 26-Jan-78 23:36:09, EDIT BY BOSACK
;ADD SECTORS PER SURFACE AND MICROSECONDS PER LATOPT UNIT TO DSKSIZ
;<3.SM10-RELEASE-3>STG.MAC.34, 19-Jan-78 11:51:46, EDIT BY MILLER
;MOVE SPT DEFINITION TO SPECAIL PAGES AREA
;<3.SM10-RELEASE-3>STG.MAC.33, 18-Jan-78 13:01:23, EDIT BY MILLER
;ADD ENDRGN DEFINITION
;<3.SM10-RELEASE-3>STG.MAC.32, 17-Jan-78 09:56:42, EDIT BY MILLER
;ADD DIAGAR
;<3.SM10-RELEASE-3>STG.MAC.31, 11-Jan-78 20:09:58, Edit by MCLEAN
;<3.SM10-RELEASE-3>STG.MAC.30, 8-Jan-78 21:41:23, EDIT BY BORCHEK
;IF DCN=0 DEFINE NODINI IN STG TO PREVENT UNDEFINED GLOBAL
;<3.SM10-RELEASE-3>STG.MAC.29, 6-Jan-78 08:15:22, EDIT BY MILLER
;DEFINE SPCRES
;<3.SM10-RELEASE-3>STG.MAC.28, 21-Dec-77 13:15:11, EDIT BY HALL
;REMOVE BTBFLG
;<3.SM10-RELEASE-3>STG.MAC.25, 14-Dec-77 10:30:15, EDIT BY MCCLURE
;<3.SM10-RELEASE-3>STG.MAC.24, 11-Dec-77 21:06:00, Edit by MCLEAN
;<3.SM10-RELEASE-3>STG.MAC.23, 11-Dec-77 21:01:31, Edit by MCLEAN
;<3.SM10-RELEASE-3>STG.MAC.21, 8-Dec-77 17:42:35, Edit by MCLEAN
;<3.SM10-RELEASE-3>STG.MAC.20, 8-Dec-77 13:21:04, EDIT BY MILLER
;ADD MCPRON DEFINITION
;<3.SM10-RELEASE-3>STG.MAC.17, 8-Dec-77 11:34:56, EDIT BY ENGEL
;TCO #1887 HANDLE UNEXPECTED INTERRUPTS ON UNVECTORED CHANNELS
;<3.SM10-RELEASE-3>STG.MAC.16, 8-Dec-77 09:30:59, EDIT BY MILLER
;ADD OURCNT
;<3.SM10-RELEASE-3>STG.MAC.15, 7-Dec-77 13:43:27, EDIT BY MILLER
;MAKE NSPMAX AN ARRAY
;<3.SM10-RELEASE-3>STG.MAC.14, 7-Dec-77 10:18:38, EDIT BY MCCLURE
;<3.SM10-RELEASE-3>STG.MAC.13, 2-Dec-77 15:01:39, Edit by MCLEAN
;<3.SM10-RELEASE-3>STG.MAC.12, 1-Dec-77 16:02:56, Edit by MCLEAN
;<3.SM10-RELEASE-3>STG.MAC.11, 30-Nov-77 11:00:59, EDIT BY MILLER
;MOVE FE EXECUTE LOCATION FROM 144 TO 71
;<3.SM10-RELEASE-3>STG.MAC.10, 29-Nov-77 14:56:48, Edit by MCLEAN
;<3.SM10-RELEASE-3>STG.MAC.9, 29-Nov-77 00:41:49, Edit by MCLEAN
;<3.SM10-RELEASE-3>STG.MAC.8, 21-Nov-77 13:28:04, Edit by MCLEAN
;<3-MONITOR>STG.MAC.688, 17-Nov-77 13:11:23, EDIT BY MURPHY
;<3-MONITOR>STG.MAC.687, 16-Nov-77 16:27:47, EDIT BY MURPHY
;<3-MONITOR>STG.MAC.685, 11-Nov-77 18:01:54, EDIT BY MURPHY
;VARIABLES FOR CLOCK ON/OFF FACILITY
;<3-MONITOR>STG.MAC.681, 8-Nov-77 20:30:40, EDIT BY MILLER
;ADD PNSKDC TO THE PSB SO WE CAN DOING DIAG INTS CORRECTLY
;<3.SM10-RELEASE-3>STG.MAC.3, 26-Oct-77 14:03:01, Edit by MCLEAN
;ADD KLILNO -- KLINIK LINE NUMBER FOR KS10
;<3.SM10-RELEASE-3>STG.MAC.2, 25-Oct-77 11:06:56, EDIT BY MURPHY
;ADD SEARCH PROKL, PROKS
;<3-MONITOR>STG.MAC.680, 17-Oct-77 18:57:38, EDIT BY HURLEY
;SET MSEC1 DEFAULT TO 1
;<3-MONITOR>STG.MAC.679, 17-Oct-77 16:20:53, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.678, 12-Oct-77 16:34:53, EDIT BY MILLER
;COMPUTE JFN AREA USING PROPER SYMBOL
;<3-MONITOR>STG.MAC.677, 11-Oct-77 16:21:04, EDIT BY MURPHY
;DEFAULT MSEC1 SET TO 0
;<3-MONITOR>STG.MAC.676, 10-Oct-77 14:28:13, EDIT BY KIRSCHEN
;UPDATE COPYRIGHT FOR RELEASE 3
;<3-MONITOR>STG.MAC.675, 7-Oct-77 11:23:37, EDIT BY MILLER
;SET UP XCT FOR A KEEP ALIVE CEASED AT 144
;<3-MONITOR>STG.MAC.674, 6-Oct-77 13:25:13, EDIT BY OSMAN
;DEFINE LPTST3
;<3-MONITOR>STG.MAC.673, 4-Oct-77 16:21:33, EDIT BY OSMAN
;DEFINING LPTST2
;<3-MONITOR>STG.MAC.672, 4-Oct-77 10:32:36, EDIT BY MILLER
;<3-MONITOR>STG.MAC.671, 4-Oct-77 10:13:14, EDIT BY MILLER
;DEFINE FPTABL
;<3-MONITOR>STG.MAC.670, 2-Oct-77 15:04:51, EDIT BY MILLER
;<MILLER>STG.MAC.2, 2-Oct-77 14:58:20, EDIT BY MILLER
;add section # defs
;<3-MONITOR>STG.MAC.669, 30-Sep-77 14:18:07, EDIT BY MILLER
;MAKE CHECK IN SYSLOD CODE FOR MSEC1 TO SEE IF WANT EXTENDED SECTIONS
;<3-MONITOR>STG.MAC.668, 24-Sep-77 23:46:07, EDIT BY CROSSLAND
;<3-MONITOR>STG.MAC.667, 24-Sep-77 21:55:49, Edit by MCLEAN
;REMOVE LPTSV FROM PI INTERRUPT SERVICE
;<3-MONITOR>STG.MAC.666, 20-Sep-77 10:34:05, EDIT BY MILLER
;ADD DZCHCT
;<3-MONITOR>STG.MAC.665, 19-Sep-77 14:35:09, EDIT BY OSMAN
;PUT IN KS LINEPRINTER STORAGE
;<3-MONITOR>STG.MAC.664, 19-Sep-77 14:09:06, EDIT BY MILLER
;DEFINE VALUES FOR TTY TIME CHECKS
;<3-MONITOR>STG.MAC.663, 18-Sep-77 16:30:36, EDIT BY MURPHY
;<3-MONITOR>STG.MAC.662, 16-Sep-77 11:03:51, EDIT BY MILLER
;CHANGE DCOPNM TO BE 4 BY DEFAULT
;<3-MONITOR>STG.MAC.661, 15-Sep-77 01:47:41, EDIT BY CROSSLAND
;ADD AMONITR FOR ARPA MONITOR NAME AT MONSNM
;<3-MONITOR>STG.MAC.660, 14-Sep-77 14:44:17, Edit by MCLEAN
;INSERT CALL TO DZCTIN FOR TTYSRV KS10 CTY
;<3-MONITOR>STG.MAC.659, 12-Sep-77 23:31:26, EDIT BY CROSSLAND
;DO NOT RESERVE SPACE FOR BITTABLE IF NETN IS ON
;<3-MONITOR>STG.MAC.658, 4-Sep-77 21:10:35, EDIT BY BOSACK
;<SM10-MONITOR>STG.MAC.656, 2-Sep-77 12:11:12, Edit by MCLEAN
;<3-MONITOR>STG.MAC.655, 1-Sep-77 15:37:16, EDIT BY KIRSCHEN
;<3-MONITOR>STG.MAC.654, 1-Sep-77 15:23:54, EDIT BY KIRSCHEN
;MOVE EXADF TO STG FROM PARAMS, DIRECTORY DEFAULTS FROM PARAMS TO STG
;<3-MONITOR>STG.MAC.653, 28-Aug-77 01:40:05, EDIT BY HELLIWELL
;DL10 STORAGE CHANGES
;<3-MONITOR>STG.MAC.652, 27-Aug-77 10:58:43, EDIT BY MILLER
;DEFINE MAX OBJECT #'S ALLOWED TO DECNET PROGRAMS
;<3-MONITOR>STG.MAC.651, 27-Aug-77 02:51:30, EDIT BY BOSACK
;<3-MONITOR>STG.MAC.650, 26-Aug-77 15:22:15, Edit by MCLEAN
;FIX CYLUN3 TO BE 820
;<3-MONITOR>STG.MAC.649, 26-Aug-77 09:28:41, EDIT BY MILLER
;ADD SPECIAL POWER FAIL INSTRUCTION
;<3-MONITOR>STG.MAC.648, 22-Aug-77 14:45:43, EDIT BY KIRSCHEN
;<3-MONITOR>STG.MAC.647, 22-Aug-77 10:11:05, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.646, 19-Aug-77 16:32:30, Edit by MCLEAN
;FIX DSKSZ3
;<3-MONITOR>STG.MAC.645, 19-Aug-77 15:18:22, EDIT BY MILLER
;MAKE NSP TREE LOCK RESIDENT
;<3-MONITOR>STG.MAC.644, 17-Aug-77 23:48:27, EDIT BY BOSACK
;TTYPEX TABLES MUST BE RESIDENT
;<3-MONITOR>STG.MAC.643, 17-Aug-77 19:35:46, Edit by MCLEAN
;<3-MONITOR>STG.MAC.642, 17-Aug-77 18:31:48, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.641, 17-Aug-77 16:57:38, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.640, 17-Aug-77 16:53:38, EDIT BY HURLEY
;MOVED TTYPE0 AND TTYPE1 TABLES AND CURSOR TABLES TO STG
;<3-MONITOR>STG.MAC.639, 16-Aug-77 08:56:19, EDIT BY MILLER
;<3-MONITOR>STG.MAC.638, 15-Aug-77 19:34:34, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.637, 15-Aug-77 19:09:55, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.636, 15-Aug-77 19:06:37, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.635, 15-Aug-77 19:01:45, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.634, 15-Aug-77 18:57:03, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.633, 15-Aug-77 16:09:21, EDIT BY MILLER
;ADD DCOPNM DEFINITION
;<3-MONITOR>STG.MAC.632, 15-Aug-77 16:00:17, EDIT BY MILLER
;ADD DCNCNT JSB VARIABLE
;<3-MONITOR>STG.MAC.631, 15-Aug-77 11:33:40, EDIT BY MILLER
;ALLOCATE SUFFICIENT SPACE FOR NETWORK STRINGS
;<3-MONITOR>STG.MAC.630, 15-Aug-77 11:11:15, EDIT BY MILLER
;<3-MONITOR>STG.MAC.629, 15-Aug-77 09:56:07, EDIT BY MILLER
;INCREASE STRING STORAGE FOR DECNET LINKS
;<3-MONITOR>STG.MAC.628, 15-Aug-77 08:32:00, EDIT BY MILLER
;MAKE DTE INT CODE PURE
;<3-MONITOR>STG.MAC.627, 14-Aug-77 23:45:36, Edit by MCLEAN
;ADD SMFLAG
;<SM10-MONITOR>STG.MAC.626, 13-Aug-77 01:42:14, Edit by MCLEAN
;ADD RM03
;<3-MONITOR>STG.MAC.625, 12-Aug-77 20:57:21, EDIT BY BOSACK
;<3-MONITOR>STG.MAC.624, 12-Aug-77 17:19:06, Edit by LCAMPBELL
;ADD WORD TO PSB TO HOLD ADDR OF INSTR CAUSING ADDR BREAK
;<3-MONITOR>STG.MAC.623, 12-Aug-77 04:34:25, EDIT BY BOSACK
;SETUP EPT BEFORE POLLING FOR MASTER DTE
;<3-MONITOR>STG.MAC.622, 11-Aug-77 17:23:47, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.621, 11-Aug-77 15:23:05, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.620, 11-Aug-77 09:32:56, EDIT BY HURLEY
;ADD LOGICAL NAME FOR SYSTEM:
;<3-MONITOR>STG.MAC.619, 11-Aug-77 00:25:05, Edit by MCLEAN
;FIX PROFLG FOR SM10
;<3-MONITOR>STG.MAC.618, 11-Aug-77 00:14:13, Edit by MCLEAN
;REMOVE POSTSM
;<3-MONITOR>STG.MAC.617, 10-Aug-77 12:55:00, Edit by MACK
;TCO 1822 - ADD CACHED ACCOUNT (CSHACT) TO JSB
;<3-MONITOR>STG.MAC.616, 10-Aug-77 09:22:54, EDIT BY MILLER
;<3-MONITOR>STG.MAC.615, 10-Aug-77 09:20:09, EDIT BY MILLER
;EXPAND PIPDL TO 34 WORDS. MOVE UPDL ONTO STACK PAGE
;<3BOSACK>STG.MAC.617, 9-Aug-77 02:38:04, EDIT BY BOSACK
;TCO 1832 - PSECT CHANGES
;<3-MONITOR>STG.MAC.613, 2-Aug-77 09:06:03, Edit by HESS
;ADD CONNECT TIME OF DAY TO JSB - CTIMON
;<3-MONITOR>STG.MAC.612, 2-Aug-77 08:33:14, EDIT BY MILLER
;ADD NAKCNT DEFINITION
;<3-MONITOR>STG.MAC.611, 30-Jul-77 01:47:20, EDIT BY CROSSLAND
;REMOVE SPECIAL CHECKS FOR NVT'S
;<3-MONITOR>STG.MAC.610, 29-Jul-77 10:44:33, Edit by HESS
;MOVE SYSTAD SO IT DOESNT GET CLEARED
;<3-MONITOR>STG.MAC.609, 28-Jul-77 00:34:26, EDIT BY CLEMENTS
; Remove TTFRK1. It's been dynamic'ed.
;<3-MONITOR>STG.MAC.608, 27-Jul-77 15:33:55, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.607, 27-Jul-77 11:33:37, EDIT BY HURLEY
;GET SDB BLOCKS FROM RESIDENT FREE POOL
;<3-MONITOR>STG.MAC.606, 27-Jul-77 09:22:05, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.605, 26-Jul-77 17:41:49, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.604, 26-Jul-77 17:18:48, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.603, 26-Jul-77 10:36:32, EDIT BY HURLEY
;FIX DSKALC FREE CHOICE ALGORITHM
;<3-MONITOR>STG.MAC.602, 24-Jul-77 13:24:18, EDIT BY CLEMENTS
;<3-NSW-MONITOR>STG.MAC.1, 24-Jul-77 13:23:42, EDIT BY CLEMENTS
;<3-MONITOR>STG.MAC.601, 23-Jul-77 23:33:18, EDIT BY CROSSLAND
;MOVE ARPANET BUFFERS TO ANOTHER SECTION
;<3-NSW-MONITOR>STG.MAC.1, 22-Jul-77 20:39:48, EDIT BY CLEMENTS
; ADD STORAGE AND CLK2 CALL FOR NEW CRJOB, TIMER AND JSYS TRAPS
;<3-MONITOR>STG.MAC.599, 20-Jul-77 11:37:51, Edit by MACK
;<3-MONITOR>STG.MAC.598, 20-Jul-77 11:32:13, Edit by MACK
;TCO 1822 - ADDED ACCTSX (ACCTSR EXPIRATION DATE) TO JSB
;<3-MONITOR>STG.MAC.597, 13-Jul-77 11:25:49, Edit by HESS
;<3-MONITOR>STG.MAC.596, 12-Jul-77 00:39:40, Edit by MCLEAN
;<3-MONITOR>STG.MAC.595, 12-Jul-77 00:07:13, Edit by MCLEAN
;MAKE MXDIRN MEMORY LOCATION
;<3-MONITOR>STG.MAC.594, 11-Jul-77 17:25:48, EDIT BY MURPHY
;<3-MONITOR>STG.MAC.593, 11-Jul-77 13:58:28, Edit by LCAMPBELL
;TCO 1838 - Address break
;<3-MONITOR>STG.MAC.592, 11-Jul-77 11:44:03, Edit by HESS
;ADD STORAGE FOR JOB 0 CHECKPOINT TIMER
;<3-MONITOR>STG.MAC.591, 7-Jul-77 15:53:41, Edit by HESS
;<3-MONITOR>STG.MAC.590, 6-Jul-77 14:54:42, EDIT BY KIRSCHEN
;ADD .NODE AS DUMMY FOR DECNET-LESS SYSTEMS
;<3-MONITOR>STG.MAC.589, 6-Jul-77 13:08:40, EDIT BY MILLER
;ADD NSPINI AS DUMMY ENTRY
;<3-MONITOR>STG.MAC.588, 5-Jul-77 14:19:26, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.587, 5-Jul-77 08:54:55, EDIT BY MILLER
;REMOVE SOME OF NSPSRV DATA BASE NO LONGER NEEDED
;<3-MONITOR>STG.MAC.586, 1-Jul-77 14:22:30, Edit by MCLEAN
;ADD FILINE
;<3-MONITOR>STG.MAC.585, 1-Jul-77 09:30:35, EDIT BY MILLER
;ADD DEDMCB IF DECNET UNSUPPORTED
;<3-MONITOR>STG.MAC.584, 29-Jun-77 12:14:52, Edit by HESS
;ADD USAGE STORAGE TO JSB
;<3-MONITOR>STG.MAC.583, 28-Jun-77 11:24:53, EDIT BY MILLER
;<3-MONITOR>STG.MAC.582, 28-Jun-77 10:04:58, EDIT BY OSMAN
;<3-MONITOR>STG.MAC.581, 28-Jun-77 09:51:21, EDIT BY OSMAN
;ADD DECNET JFN BLOCK DEFS
;<3-MONITOR>STG.MAC.580, 27-Jun-77 19:33:35, Edit by MCLEAN
;FIX APRID (EXADF1 AND EXADFL TO LOOK AT CORRECT MICROCODE BITS)
;<3-MONITOR>STG.MAC.579, 27-Jun-77 17:16:06, EDIT BY BOSACK
;<3-MONITOR>STG.MAC.578, 27-Jun-77 14:39:02, Edit by MCLEAN
;MOVE EPT TO 540
;<3-MONITOR>STG.MAC.577, 27-Jun-77 13:29:07, Edit by HESS
;REMOVE LOGBUF,ACCTPT - PUT SYSTAD IN RESIDENT STG
;<3-MONITOR>STG.MAC.576, 24-Jun-77 17:25:23, Edit by HESS
;<3-MONITOR>STG.MAC.575, 24-Jun-77 14:57:44, Edit by HESS
;REMOVE VERSION INFO TO SEPARATE MODULE
;<3-MONITOR>STG.MAC.574, 24-Jun-77 10:31:28, Edit by HESS
;FIX PSB DEFINITIONS
;<3-MONITOR>STG.MAC.573, 23-Jun-77 19:31:44, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.572, 23-Jun-77 19:29:45, EDIT BY HURLEY
;REMOVED PSBMSZ
;<3-MONITOR>STG.MAC.571, 23-Jun-77 19:14:21, EDIT BY HURLEY
;MAKE ROOM IN PSB FOR EXTENDED IDXTAB
;<3-MONITOR>STG.MAC.570, 23-Jun-77 13:38:26, Edit by MCLEAN
;FIX LP CONDITIONALS
;<3-MONITOR>STG.MAC.569, 23-Jun-77 13:29:22, Edit by MCLEAN
;ADD PSBMSZ
;<3-MONITOR>STG.MAC.568, 23-Jun-77 10:20:16, EDIT BY MILLER
;<3-MONITOR>STG.MAC.567, 22-Jun-77 21:26:29, Edit by MCLEAN
;ADD BTBSIZ FOR EXTENDED ADDRESSING
;<3-MONITOR>STG.MAC.566, 22-Jun-77 13:41:10, EDIT BY MILLER
;<3-MONITOR>STG.MAC.565, 22-Jun-77 08:15:39, EDIT BY MILLER
;ADD NSPMAX
;<3-MONITOR>STG.MAC.564, 22-Jun-77 08:04:36, EDIT BY MILLER
;EXPAND DTE STACK SO ASGRES WON'T CAUSE MONPDL
;<3-MONITOR>STG.MAC.563, 20-Jun-77 23:10:04, Edit by HESS
;<3-MONITOR>STG.MAC.562, 20-Jun-77 10:20:06, EDIT BY MILLER
;REDEFINE KLIDTA BUFFER SIZES
;<3-MONITOR>STG.MAC.561, 17-Jun-77 16:49:06, EDIT BY MURPHY
;TCO #1826
;<3-MONITOR>STG.MAC.560, 17-Jun-77 05:37:29, EDIT BY CROSSLAND
;COMMENT IMPFRE AND REDUCE SIZE TO 5
;<3-MONITOR>STG.MAC.559, 16-Jun-77 15:03:05, Edit by HESS
;<3-MONITOR>STG.MAC.558, 15-Jun-77 14:46:41, Edit by MACK
;TCO 1808 - SESSION REMARK NOW LIVES RIGHT IN JSB
;<3-MONITOR>STG.MAC.557, 15-Jun-77 11:27:11, Edit by MACK
;ADDED STORAGE FOR ACCOUNT VALIDATION
;<3-MONITOR>STG.MAC.556, 15-Jun-77 10:58:24, Edit by HESS
;TCO 1821 - ADD STORAGE FOR USAGE JSYS
;<3-MONITOR>STG.MAC.555, 15-Jun-77 10:25:11, EDIT BY MILLER
;ADD DUMMY NSPQ AND NSPSPC ROUTINES FOR NON-DECNET MONITORS
;<3-MONITOR>STG.MAC.554, 14-Jun-77 23:32:57, EDIT BY OSMAN
;INCREASE MESHDS TO LEAVE ROOM FOR ACCOUNT STRING
;<3-MONITOR>STG.MAC.553, 14-Jun-77 22:11:22, EDIT BY CROSSLAND
;REMOVE SUPPORT FOR BBN AND ISI IMP INTERFACES
;<3-MONITOR>STG.MAC.552, 14-Jun-77 13:19:05, EDIT BY MILLER
;MAKE DCN ASSEMBLE 1 BY DEFAULT
;<3-MONITOR>STG.MAC.551, 13-Jun-77 14:33:12, EDIT BY MILLER
;<3-MONITOR>STG.MAC.550, 13-Jun-77 10:35:47, EDIT BY MILLER
;ADD CALL TO NSPCH7 IN THE LV8CHK TABLE
;<3-MONITOR>STG.MAC.549, 13-Jun-77 10:24:06, EDIT BY MILLER
;ADD SMSGQ
;<MACK>STG.MAC.1, 13-Jun-77 07:19:16, Edit by MACK
;<3-MONITOR>STG.MAC.547, 13-Jun-77 03:11:09, EDIT BY CROSSLAND
;<3-MONITOR>STG.MAC.546, 11-Jun-77 15:00:02, EDIT BY MURPHY
;<3-MONITOR>STG.MAC.544, 10-Jun-77 11:09:10, EDIT BY MURPHY
;<3-MONITOR>STG.MAC.543, 10-Jun-77 10:39:40, Edit by MACK
;ADDED NON-JSB STORAGE FOR ACCOUNT VALIDATION
;<3-MONITOR>STG.MAC.542, 9-Jun-77 23:34:53, EDIT BY MURPHY
;PERFORMANCE ENHANCEMENTS
;<2-PERF>STG.MAC.5, 26-May-77 16:04:29, EDIT BY HURLEY
;ADDED JSBCDS - POINTER TO CONNECTED DIR STRING
;<2-PERF>STG.MAC.4, 26-May-77 15:20:26, EDIT BY MURPHY
;<N2-MONITOR>STG.MAC.1, 12-May-77 14:25:30, EDIT BY MURPHY
;<MON1065>STG.MAC.3, 22-May-77 18:24:43, EDIT BY HELLIWELL
;<MON1065>STG.MAC.2, 12-May-77 18:56:16, EDIT BY HELLIWELL
;<MON1065>STG.MAC.1, 6-May-77 14:17:55, EDIT BY HELLIWELL
;CHANGE DL10 STORAGE FOR 2 DL10'S
;<3-MONITOR>STG.MAC.541, 7-Jun-77 08:40:58, EDIT BY MILLER
;ADD NETWORK ATTRIBUTE DEFS
;<3-MONITOR>STG.MAC.540, 4-Jun-77 10:15:42, EDIT BY MILLER
;ADD RSEGQ
;<3-MONITOR>STG.MAC.539, 1-Jun-77 10:26:42, EDIT BY MILLER
;ADD DEV ENTRIES FOR DCN AND SRV
;<3-MONITOR>STG.MAC.538, 31-May-77 00:22:53, EDIT BY BOSACK
;ADD DEFAULT VALUE FOR SUBDIRECTORY QUOTA
;<3-MONITOR>STG.MAC.537, 27-May-77 11:10:09, EDIT BY HALL
;CHANGE REFERENCE TO PDST TO REFERENCE NDST
;<3-MONITOR>STG.MAC.536, 25-May-77 14:38:17, Edit by MACK
;TCO 1808 - JSSRM IN JSB POINTS TO JOB SESSION REMARK
;<3-MONITOR>STG.MAC.535, 25-May-77 11:22:42, EDIT BY MILLER
;MOVE ALLOCATION OF RESIDENT FREE POOL TO AFTER BIT TABLE. HACK FIX
;<3-MONITOR>STG.MAC.534, 24-May-77 16:14:47, EDIT BY MILLER
;<3-MONITOR>STG.MAC.533, 24-May-77 15:43:57, EDIT BY MILLER
;<3-MONITOR>STG.MAC.532, 24-May-77 14:02:26, EDIT BY MILLER
;ADD DEFINTIONS FOR DECNET
;<3-MONITOR>STG.MAC.531, 23-May-77 21:43:27, Edit by MCLEAN
;ADD NTTDZ TO NLINES DEFINITION
;<3-MONITOR>STG.MAC.530, 23-May-77 09:55:40, Edit by HESS
;<3-MONITOR>STG.MAC.529, 23-May-77 08:55:37, EDIT BY MILLER
;DEFINE ACTLNS TO BE MAX # OF ACTIVE LINES
;<3-MONITOR>STG.MAC.528, 19-May-77 02:22:14, EDIT BY CROSSLAND
;<3-MONITOR>STG.MAC.527, 14-May-77 11:24:54, EDIT BY MILLER
;ADD SOME WORDS TO SWFREE FOR NETWORK STRINGS
;<3-MONITOR>STG.MAC.526, 12-May-77 16:58:17, EDIT BY BOSACK
;LOAD CORRECT APRSRV FOR SM10
;<3-MONITOR>STG.MAC.525, 12-May-77 15:56:03, EDIT BY CROSSLAND
;<3-MONITOR>STG.MAC.524, 10-May-77 21:37:22, EDIT BY BOSACK
;<3-MONITOR>STG.MAC.523, 10-May-77 20:23:14, EDIT BY BOSACK
;<3-MONITOR>STG.MAC.522, 10-May-77 20:17:32, EDIT BY BOSACK
;MOVE DTESRV STORAGE TO STG
;<3-MONITOR>STG.MAC.521, 10-May-77 20:14:37, EDIT BY BOSACK
;MOVE TTYSRV STORAGE TO STG
;<3-MONITOR>STG.MAC.520, 10-May-77 20:10:00, EDIT BY BOSACK
;MOVE DIAG STORAGE TO STG
;<3-MONITOR>STG.MAC.519, 10-May-77 19:23:41, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.518, 10-May-77 14:06:59, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.517, 10-May-77 13:40:48, EDIT BY HURLEY
;CHANGE .REQUIRES TO "LOADMODULE"
;<3-MONITOR>STG.MAC.516, 5-May-77 11:39:36, EDIT BY MILLER
;TCO 1794. CHANGE SIZE OF KLINIK DATA BASE
;<3-MONITOR>STG.MAC.515, 5-May-77 11:19:17, EDIT BY MILLER
;TCO 1794. ADD DATA AREA TO HOLD KLINIK DATA BASE
;<3-MONITOR>STG.MAC.514, 4-May-77 14:27:08, EDIT BY MILLER
;TCO 1740. MAKE TTSPWD SWAPPABLE
;<3-MONITOR>STG.MAC.513, 3-May-77 18:24:26, EDIT BY CROSSLAND
;MORE TC0 1742 ARPANET SOURCE MERGING
;<3-MONITOR>STG.MAC.512, 3-May-77 01:53:47, Edit by MCLEAN
;<3-MONITOR>STG.MAC.511, 2-May-77 19:34:39, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.510, 30-Apr-77 23:27:43, Edit by MCLEAN
;ADD UNBCH5 CALL FOR UNIBUS ADAPTER
;<3-MONITOR>STG.MAC.509, 28-Apr-77 12:05:50, Edit by HESS
;ADD RESIDENT LABEL BUFFER PAGE POINTERS AND ASSIGN NRP FOR BUFFER
;<3-MONITOR>STG.MAC.508, 28-Apr-77 10:58:42, EDIT BY MILLER
;INIT LPTS ACCORDING TO WHETHER ON THE FE OR NOT
;<3-MONITOR>STG.MAC.507, 26-Apr-77 19:01:57, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.506, 25-Apr-77 10:28:46, EDIT BY MILLER
;INCREASE RSXMAX
;<3-MONITOR>STG.MAC.505, 19-Apr-77 13:25:47, EDIT BY MILLER
;ALLOW ANY DTE TO RUN RSX20F PROTOCOL
;<3-MONITOR>STG.MAC.504, 13-Apr-77 08:33:07, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.503, 11-Apr-77 22:49:51, Edit by MCLEAN
;CHANGE CTYTYP FROM TT.FE TO TYPCTY AND PUT IT IN PARAMS
;<3-MONITOR>STG.MAC.502, 11-Apr-77 13:40:45, EDIT BY HURLEY
;MOVED DTE DEFINITIONS FOR EPT TO STG
;<3-MONITOR>STG.MAC.501, 6-Apr-77 10:47:09, EDIT BY MILLER
;ADD NEW DEFINITIONS FOR FE
;<3-MONITOR>STG.MAC.500, 6-Apr-77 10:19:24, EDIT BY HURLEY
;CHANGED THE NAME OF DSKAL1 TO DSKALC
;<3-MONITOR>STG.MAC.499, 6-Apr-77 02:36:05, Edit by MCLEAN
;ADD EXADF1 FOR SM10
;<3-MONITOR>STG.MAC.498, 3-Apr-77 19:50:39, EDIT BY BOSACK
;ELIMINATE USE XXPC MACRO CALLS
;<3-MONITOR>STG.MAC.497, 30-Mar-77 17:17:02, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.496, 28-Mar-77 10:30:31, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.495, 28-Mar-77 10:28:53, EDIT BY HURLEY
;MORE ATTRIBUTE STUFF
;<3-MONITOR>STG.MAC.494, 27-Mar-77 15:08:30, Edit by MCLEAN
;REMOVE DUMMY DIAG JSYS FOR NEW DIAG MODULE
;<3-MONITOR>STG.MAC.493, 27-Mar-77 01:11:06, Edit by MCLEAN
;<3-MONITOR>STG.MAC.492, 27-Mar-77 01:02:24, Edit by MCLEAN
;ADD LINPSM FOR SM10 LINEPRINTER SERVICE
;<3-MONITOR>STG.MAC.491, 24-Mar-77 23:11:45, Edit by MCLEAN
;ADD TTYSSM
;<3-MONITOR>STG.MAC.490, 24-Mar-77 03:02:08, Edit by MCLEAN
;<3-MONITOR>STG.MAC.489, 24-Mar-77 01:25:51, Edit by MCLEAN
;REMOVE PHYSSM
;<3-MONITOR>STG.MAC.488, 24-Mar-77 00:43:35, Edit by MCLEAN
;ADD LOADMODULE FOR DIAG
;<3-MONITOR>STG.MAC.487, 20-Mar-77 03:00:28, Edit by MCLEAN
;ALWAYS INIT TTYS (DONE FOR DC10 AND SM10 COMPATABILITY)
;<3-MONITOR>STG.MAC.486, 17-Mar-77 13:46:46, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.485, 17-Mar-77 12:57:19, EDIT BY HURLEY
;ADDED FILATL TO JFNBLK (FILDNM)
;<3-MONITOR>STG.MAC.484, 16-Mar-77 15:53:30, Edit by HESS
;ADD MORE TAPE LABEL STORAGE
;<3-MONITOR>STG.MAC.483, 16-Mar-77 14:23:03, Edit by MCLEAN
;ADD UNBINI AND UNBRST
;<3-MONITOR>STG.MAC.482, 16-Mar-77 14:20:51, Edit by MCLEAN
;ADD FEFLG AND PROFLG FOR SM10
;<3-MONITOR>STG.MAC.481, 13-Mar-77 02:37:02, Edit by MCLEAN
;<3-MONITOR>STG.MAC.480, 13-Mar-77 02:17:07, Edit by MCLEAN
;CHANGE SO LINEP1 ALWAYS REQUIRED
;<3-MONITOR>STG.MAC.479, 11-Mar-77 01:02:09, Edit by MCLEAN
;STORAGE FOR BUGTYO NOW IN APRSRV
;<3-MONITOR>STG.MAC.478, 9-Mar-77 00:57:04, Edit by MCLEAN
;ADD LPTTYP
;<3-MONITOR>STG.MAC.477, 3-Mar-77 10:39:55, Edit by HESS
;<3-MONITOR>STG.MAC.476, 2-Mar-77 10:32:21, Edit by HESS
;CHANGE DEVICE TYPE CODES (SYMBOLIC)
;<3-MONITOR>STG.MAC.475, 28-Feb-77 04:49:52, EDIT BY CROSSLAND
;TCO 1743 ADD STORAGE FOR CRJOB
;TCO 1742 MERGE ARPANET SOURCES
;<3-MONITOR>STG.MAC.474, 26-Feb-77 11:48:32, EDIT BY HALL
;TCO 1740 - ADDED TTCSAD AND TTCSTM
;<3-MONITOR>STG.MAC.473, 24-Feb-77 20:33:19, Edit by HESS
;<3-MONITOR>STG.MAC.472, 24-Feb-77 16:46:05, EDIT BY HALL
;CHANGE DC10SV TO TTYSRV
;<3-MONITOR>STG.MAC.471, 24-Feb-77 16:19:57, EDIT BY MILLER
;INCREASE SKDPDL BY FIVE WORDS
;<3-MONITOR>STG.MAC.470, 24-Feb-77 10:21:42, EDIT BY MILLER
;ADD LOGICAL LINK POOL
;<3-MONITOR>STG.MAC.469, 23-Feb-77 19:40:27, EDIT BY MURPHY
;<3-MONITOR>STG.MAC.468, 23-Feb-77 19:35:23, EDIT BY HALL
;TCO 1740 - REMOVED TTY DEFINITIONS, ADDED SOME NEW ONES
;<3-MONITOR>STG.MAC.467, 23-Feb-77 17:46:54, EDIT BY MURPHY
;<3-MONITOR>STG.MAC.466, 23-Feb-77 15:37:05, EDIT BY MILLER
;ADD MSGQ
;<3-MONITOR>STG.MAC.465, 23-Feb-77 15:34:10, Edit by HESS
;<3-MONITOR>STG.MAC.464, 21-Feb-77 17:48:54, EDIT BY MURPHY
;TCO #1739 - ADD SNRSUM AND RPQSUM TO STATISTICS TABLE
;<3-MONITOR>STG.MAC.463, 17-Feb-77 19:57:57, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.462, 17-Feb-77 19:31:44, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.461, 17-Feb-77 17:02:17, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.460, 15-Feb-77 15:33:23, EDIT BY CROSSLAND
;TCO 1737 CHANGE SWPSEC FROM 96 TO 95
;<3-MONITOR>STG.MAC.459, 15-Feb-77 15:28:39, Edit by HESS
;TCO 1736 - ADD TAPE LABEL/PROCESSING SUPPORT
;<3-MONITOR>STG.MAC.458, 10-Feb-77 10:00:55, EDIT BY HURLEY
;MOVE CALL TO PHYINI AFTER PAGER IS TURNED ON
;<3-MONITOR>STG.MAC.457, 10-Feb-77 09:46:45, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.456, 10-Feb-77 09:33:37, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.455, 9-Feb-77 16:33:00, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.454, 9-Feb-77 16:31:36, EDIT BY HURLEY
;MORE RESIDENT FREE SPACE ADDITIONS
;<3-MONITOR>STG.MAC.453, 9-Feb-77 00:52:42, Edit by MCLEAN
;REMOVE CONDITIONALS THAT ARE NO LONGER USED
;<3-MONITOR>STG.MAC.452, 8-Feb-77 17:30:44, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.451, 7-Feb-77 14:52:51, Edit by MCLEAN
;<3-MONITOR>STG.MAC.450, 7-Feb-77 08:08:17, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.449, 7-Feb-77 08:04:19, EDIT BY HURLEY
;ADD STORAGE FOR THE UTEST JSYS
;<3-MONITOR>STG.MAC.448, 6-Feb-77 22:22:37, Edit by MCLEAN
;<3-MONITOR>STG.MAC.447, 6-Feb-77 22:01:40, Edit by MCLEAN
;<3-MONITOR>STG.MAC.446, 4-Feb-77 13:28:09, Edit by MCLEAN
;<3-MONITOR>STG.MAC.445, 3-Feb-77 15:31:56, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.444, 3-Feb-77 12:31:22, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.443, 3-Feb-77 12:28:24, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.442, 3-Feb-77 11:30:32, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.441, 3-Feb-77 10:51:47, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.440, 2-Feb-77 13:59:07, Edit by MCLEAN
;<3-MONITOR>STG.MAC.439, 1-Feb-77 19:18:27, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.438, 1-Feb-77 18:25:46, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.437, 1-Feb-77 10:26:42, Edit by HESS
;TCO 1726 - FIX SIMULTANEOUS UPDATE EOF PROBLEM
;<3-MONITOR>STG.MAC.436, 30-Jan-77 19:23:24, Edit by MCLEAN
;TCO 1723 SM10 ADDITIONS
;<3-MONITOR>STG.MAC.435, 29-Jan-77 18:08:27, Edit by MCLEAN
;TCO 1720 ADD RESIDENT STORAGE FOR BOOTSTRAP.BIN
;<3-MONITOR>STG.MAC.433, 28-Jan-77 10:07:15, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.432, 27-Jan-77 17:49:58, EDIT BY HURLEY
;<3-MONITOR>STG.MAC.431, 27-Jan-77 17:37:34, EDIT BY HURLEY
;ADD STORAGE SPACE FOR THE RESIDENT FREE SPACE POOL
;<2-MONITOR>STG.MAC.414, 25-Jan-77 17:43:23, EDIT BY MURPHY
;<3-MONITOR>STG.MAC.429, 24-Jan-77 11:20:24, EDIT BY MILLER
;<3-MONITOR>STG.MAC.428, 20-Jan-77 20:16:17, EDIT BY HURLEY
;INCREASE MLJFN TO 23
;<3-MONITOR>STG.MAC.427, 20-Jan-77 15:05:50, EDIT BY HURLEY
;TCO 1718 - ADD MATCHING OF ACCOUNT STRINGS TO GTJFN AND GNJFN
;<3-MONITOR>STG.MAC.426, 17-Jan-77 09:57:17, EDIT BY MILLER
;<3-MONITOR>STG.MAC.425, 4-Jan-77 13:01:00, Edit by MCLEAN
;<3-MONITOR>STG.MAC.424, 28-Dec-76 23:07:40, Edit by MCLEAN
;<3-MONITOR>STG.MAC.423, 28-Dec-76 21:21:09, Edit by MCLEAN
;<3-MONITOR>STG.MAC.422, 27-Dec-76 17:37:06, EDIT BY HURLEY
;<2-MONITOR>STG.MAC.412, 23-Dec-76 12:05:15, EDIT BY BOSACK
;<2-MONITOR>STG.MAC.411, 19-Dec-76 21:35:15, EDIT BY BOSACK
;TCO 1684 - ADD STORAGE FOR HOME BLOCK CHECKING ON OFFLINE/ONLINE TRANSITION
;<2-MONITOR>STG.MAC.410, 7-Dec-76 10:13:02, EDIT BY KIRSCHEN
;ADD STRLOK
;<2-MONITOR>STG.MAC.409, 1-Dec-76 14:57:39, EDIT BY MILLER
;TCO 1675. MAKE NDST ALWAYS BE AN INTGRAL NO OF SWPSEC'S
;<2-MONITOR>STG.MAC.408, 1-Dec-76 11:56:32, EDIT BY HELLIWELL
;FIX DTCHR TO HAVE DV%MDV
;<2-MONITOR>STG.MAC.407, 30-Nov-76 11:25:37, EDIT BY KIRSCHEN
;ADD WORD IN SDB TO HOLD MEDIA IDENTIFICATION (PACK UNIQUE CODE)
;<2-MONITOR>STG.MAC.406, 23-Nov-76 18:05:26, EDIT BY HURLEY
;<2-MONITOR>STG.MAC.405, 23-Nov-76 10:27:08, Edit by MACK
;<2-MONITOR>STG.MAC.404, 16-Nov-76 14:44:44, Edit by MACK
;TCO 1666 - ADDED STORAGE FOR LOCAL TIME ZONE
;<2-MONITOR>STG.MAC.403, 15-Nov-76 00:19:37, EDIT BY BOSACK
;<2-MONITOR>STG.MAC.402, 14-Nov-76 23:51:54, EDIT BY BOSACK
;<2-MONITOR>STG.MAC.401, 14-Nov-76 18:27:37, EDIT BY BOSACK
;<2-MONITOR>STG.MAC.400, 12-Nov-76 16:25:47, EDIT BY BOSACK
;MOVE RPLQ DATABASE, ADD SPMQ
;<2-MONITOR>STG.MAC.399, 10-Nov-76 13:26:20, EDIT BY HALL
;REMOVED JOBDNO
;<2-MONITOR>STG.MAC.398, 6-Nov-76 22:53:17, EDIT BY HELLIWELL
;FIX DRUM PARAMETERS
;<2-MONITOR>STG.MAC.397, 4-Nov-76 15:00:53, EDIT BY HURLEY
;TCO 1605- ADD "CDP" AS A SPOOLED DEVICE.
;<2-MONITOR>STG.MAC.396, 4-Nov-76 08:26:53, EDIT BY HURLEY
;<2-MONITOR>STG.MAC.395, 1-Nov-76 08:35:45, EDIT BY HURLEY
;ADD STORAGE FOR LONG TERM ENQ/DEQ LOCKS
;<2-MONITOR>STG.MAC.394, 31-Oct-76 17:59:28, EDIT BY HELLIWELL
;<2-MONITOR>STG.MAC.393, 31-Oct-76 17:12:15, EDIT BY HELLIWELL
;<2-MONITOR>STG.MAC.392, 31-Oct-76 17:07:03, EDIT BY HELLIWELL
;<2-MONITOR>STG.MAC.391, 31-Oct-76 16:18:43, EDIT BY HELLIWELL
;MORE PHYS4 STUFF
;<2-MONITOR>STG.MAC.390, 31-Oct-76 16:11:41, EDIT BY HELLIWELL
;ALWAYS INITIALIZE LPT (FE OR NO FE)
;<2-MONITOR>STG.MAC.389, 29-Oct-76 16:26:40, EDIT BY HELLIWELL
;ADD PARAMETERS FOR RS04/RH20 (PHYS4)
;<2-MONITOR>STG.MAC.388, 29-Oct-76 15:43:04, EDIT BY HELLIWELL
;MOVE "PICALL DLS" TO DTE CHANNEL
;<2-MONITOR>STG.MAC.387, 29-Oct-76 11:30:09, EDIT BY HURLEY
;<2-MONITOR>STG.MAC.386, 26-Oct-76 17:48:14, EDIT BY HURLEY
;<2-MONITOR>STG.MAC.385, 26-Oct-76 12:09:16, EDIT BY HURLEY
;INCREASE NLFKS TO 16
;<2-MONITOR>STG.MAC.384, 25-Oct-76 13:35:28, EDIT BY HURLEY
;TURN ON SWRSAF
;<2-MONITOR>STG.MAC.383, 23-Oct-76 12:27:19, EDIT BY HALL
;CHANGED NFEPGS TO NPGSFE
;<2-MONITOR>STG.MAC.382, 23-Oct-76 11:17:17, EDIT BY HALL
;ADDED DEFINITION OF NFEPGS
;<2-MONITOR>STG.MAC.381, 23-Oct-76 11:12:34, EDIT BY HALL
;DELETED PUBNAM, PG4SWP; ADDED FEFSIZ
;<2-MONITOR>STG.MAC.380, 16-Oct-76 11:23:54, EDIT BY HALL
;CHANGED SYSLOD AND SYSGO1 TO INITIALIZE STARTF INSTEAD OF DIDSCA
;<3-MONITOR>STG.MAC.420, 19-Dec-76 01:26:08, Edit by MCLEAN
;<3-MONITOR>STG.MAC.419, 19-Dec-76 01:24:46, Edit by MCLEAN
;<3-MONITOR>STG.MAC.418, 19-Dec-76 00:28:07, Edit by MCLEAN
;<3-MONITOR>STG.MAC.417, 19-Dec-76 00:17:39, Edit by MCLEAN
;<3-MONITOR>STG.MAC.416, 18-Dec-76 04:09:59, Edit by MCLEAN
;<MCLEAN>STG.MAC.415, 14-Dec-76 16:43:28, Edit by MCLEAN
;<2-MONITOR>STG.MAC.410, 7-Dec-76 10:13:02, EDIT BY KIRSCHEN
;ADD STRLOK
;<3-MONITOR>STG.MAC.413, 1-Dec-76 15:01:33, EDIT BY MILLER
;TCO 1675. MAKE NDST ALWAYS BE AN INTEGRAL NO OF SWPSEC'S.
;<3-MONITOR>STG.MAC.412, 1-Dec-76 11:57:53, EDIT BY HELLIWELL
;FIX DTCHR TO HAVE DV%MDV
;<2-MONITOR>STG.MAC.407, 30-Nov-76 11:25:37, EDIT BY KIRSCHEN
;ADD WORD IN SDB TO HOLD MEDIA IDENTIFICATION (PACK UNIQUE CODE)
;<3-MONITOR>STG.MAC.410, 24-Nov-76 23:44:44, Edit by MCLEAN
;<3-MONITOR>STG.MAC.409, 24-Nov-76 23:40:33, Edit by MCLEAN
;<3-MONITOR>STG.MAC.408, 24-Nov-76 23:40:01, Edit by MCLEAN
;<3-MONITOR>STG.MAC.407, 24-Nov-76 22:17:26, Edit by MCLEAN
;TCO 1669 EXTENDED ADDRESSING
;<2-MONITOR>STG.MAC.406, 23-Nov-76 18:05:26, EDIT BY HURLEY
;<2-MONITOR>STG.MAC.405, 23-Nov-76 10:27:08, Edit by MACK
;<2-MONITOR>STG.MAC.404, 16-Nov-76 14:44:44, Edit by MACK
;TCO 1666 - ADDED STORAGE FOR LOCAL TIME ZONE
;<2-MONITOR>STG.MAC.403, 15-Nov-76 00:19:37, EDIT BY BOSACK
;<2-MONITOR>STG.MAC.402, 14-Nov-76 23:51:54, EDIT BY BOSACK
;<2-MONITOR>STG.MAC.401, 14-Nov-76 18:27:37, EDIT BY BOSACK
;<2-MONITOR>STG.MAC.400, 12-Nov-76 16:25:47, EDIT BY BOSACK
;MOVE RPLQ DATABASE, ADD SPMQ
;<2-MONITOR>STG.MAC.399, 10-Nov-76 13:26:20, EDIT BY HALL
;REMOVED JOBDNO
;<2-MONITOR>STG.MAC.398, 6-Nov-76 22:53:17, EDIT BY HELLIWELL
;FIX DRUM PARAMETERS
;<2-MONITOR>STG.MAC.397, 4-Nov-76 15:00:53, EDIT BY HURLEY
;TCO 1605- ADD "CDP" AS A SPOOLED DEVICE.
;<2-MONITOR>STG.MAC.396, 4-Nov-76 08:26:53, EDIT BY HURLEY
;<2-MONITOR>STG.MAC.395, 1-Nov-76 08:35:45, EDIT BY HURLEY
;ADD STORAGE FOR LONG TERM ENQ/DEQ LOCKS
;<2-MONITOR>STG.MAC.394, 31-Oct-76 17:59:28, EDIT BY HELLIWELL
;<2-MONITOR>STG.MAC.393, 31-Oct-76 17:12:15, EDIT BY HELLIWELL
;<2-MONITOR>STG.MAC.392, 31-Oct-76 17:07:03, EDIT BY HELLIWELL
;<2-MONITOR>STG.MAC.391, 31-Oct-76 16:18:43, EDIT BY HELLIWELL
;MORE PHYS4 STUFF
;<2-MONITOR>STG.MAC.390, 31-Oct-76 16:11:41, EDIT BY HELLIWELL
;ALWAYS INITIALIZE LPT (FE OR NO FE)
;<2-MONITOR>STG.MAC.389, 29-Oct-76 16:26:40, EDIT BY HELLIWELL
;ADD PARAMETERS FOR RS04/RH20 (PHYS4)
;<2-MONITOR>STG.MAC.388, 29-Oct-76 15:43:04, EDIT BY HELLIWELL
;MOVE "PICALL DLS" TO DTE CHANNEL
;<2-MONITOR>STG.MAC.387, 29-Oct-76 11:30:09, EDIT BY HURLEY
;<2-MONITOR>STG.MAC.386, 26-Oct-76 17:48:14, EDIT BY HURLEY
;<2-MONITOR>STG.MAC.385, 26-Oct-76 12:09:16, EDIT BY HURLEY
;INCREASE NLFKS TO 16
;<2-MONITOR>STG.MAC.384, 25-Oct-76 13:35:28, EDIT BY HURLEY
;TURN ON SWRSAF
;<2-MONITOR>STG.MAC.383, 23-Oct-76 12:27:19, EDIT BY HALL
;CHANGED NFEPGS TO NPGSFE
;<2-MONITOR>STG.MAC.382, 23-Oct-76 11:17:17, EDIT BY HALL
;ADDED DEFINITION OF NFEPGS
;<2-MONITOR>STG.MAC.381, 23-Oct-76 11:12:34, EDIT BY HALL
;DELETED PUBNAM, PG4SWP; ADDED FEFSIZ
;<2-MONITOR>STG.MAC.380, 16-Oct-76 11:23:54, EDIT BY HALL
;CHANGED SYSLOD AND SYSGO1 TO INITIALIZE STARTF INSTEAD OF DIDSCA
;<2-MONITOR>STG.MAC.379, 14-Oct-76 19:17:30, EDIT BY HURLEY
;TCO 1597 - FIX ENQ QUOTA PROBLEMS
;<2-MONITOR>STG.MAC.378, 13-Oct-76 12:20:00, EDIT BY HALL
;MOVED BITS FOR STARTF TO PROLOG
;<2-MONITOR>STG.MAC.377, 12-Oct-76 15:48:35, EDIT BY HURLEY
;INCREASE THE SIZE OF THE RELOAD BUFFER TO HOLD THE MAX STRING
;<2-MONITOR>STG.MAC.376, 12-Oct-76 14:24:27, EDIT BY HALL
;ADDED STARTF AND ASSOCIATED BITS
;<2-MONITOR>STG.MAC.375, 6-Oct-76 16:13:24, EDIT BY HURLEY
;TCO 1571 - MAKE RSCAN BUFFER BE DYNAMIC
;<2-MONITOR>STG.MAC.374, 5-Oct-76 11:54:28, EDIT BY HURLEY
;<2-MONITOR>STG.MAC.373, 1-Oct-76 10:37:33, EDIT BY HALL
;MADE FCTFIL POINT TO PS
;<2-MONITOR>STG.MAC.372, 30-Sep-76 14:48:25, Edit by HESS
;<2-MONITOR>STG.MAC.371, 29-Sep-76 13:18:48, EDIT BY HALL
;DELETED JSBUC. MADE JSBSDN COMMENT REFLECT UNIQUE CODE
;<2-MONITOR>STG.MAC.370, 28-Sep-76 14:17:05, EDIT BY HALL
;CHANGED COMMENT ON JSSTRT TO REFLECT CHANGE TO UNIQUE CODE
;<2-MONITOR>STG.MAC.369, 23-Sep-76 14:44:15, EDIT BY HALL
;ADDED JSSTLK - LOCK ON JSTRT
;<2-MONITOR>STG.MAC.368, 20-Sep-76 12:25:50, EDIT BY HURLEY
;ADDED FILDIR TO JFN BLOCK
;<2-MONITOR>STG.MAC.367, 15-Sep-76 14:28:53, EDIT BY KIRSCHEN
;ADD SDBLN
;<2-MONITOR>STG.MAC.366, 7-Sep-76 16:18:26, EDIT BY MILLER
;make psnam a core location so macro doesn't get upset
;<2-MONITOR>STG.MAC.365, 2-Sep-76 16:15:09, EDIT BY HALL
;FIXED PSNAM DEFINITION TO MAKE IT LEFT-JUSTIFIED
;<2-MONITOR>STG.MAC.364, 31-Aug-76 16:38:19, EDIT BY HALL
;ADDED PSNAM DEFINITION
;<2-MONITOR>STG.MAC.363, 20-Aug-76 17:15:35, Edit by HESS
;<2-MONITOR>STG.MAC.362, 17-Aug-76 11:40:18, Edit by HESS
;TCO 1496 - AUTHOR/LAST-WRITER STRINGS (ADD USRNAM TO JSB)
;<2-MONITOR>STG.MAC.361, 11-Aug-76 12:14:39, EDIT BY HURLEY
;ADD DEVCH2 TABLE FOR SPOOL DIRECTORY NUMBER
;<2-MONITOR>STG.MAC.360, 6-Aug-76 08:58:50, EDIT BY HURLEY
;CHANGED SYS FROM DSK:<SUBSYS> TO PS:<SUBSYS>
;<2-MONITOR>STG.MAC.359, 5-Aug-76 12:21:32, EDIT BY MURPHY
;TCO #1479
;<2-MONITOR>STG.MAC.358, 4-Aug-76 13:53:31, EDIT BY HURLEY
;<2-MONITOR>STG.MAC.357, 2-Aug-76 12:55:04, EDIT BY HALL
;MOVED JSFRST DEFINITION TO PROLOG
;<2-MONITOR>STG.MAC.356, 2-Aug-76 12:26:00, EDIT BY HALL
;CHANGED JSFRST DEFINITION
;<2-MONITOR>STG.MAC.355, 2-Aug-76 11:48:14, EDIT BY HALL
;ADDED JSFRST DEFINITION
;<2-MONITOR>STG.MAC.354, 1-Aug-76 16:02:06, EDIT BY MILLER
;CHANGE JSSTR TABLE TO JSSTRT
;<HESS>STG.MAC.2, 28-Jul-76 14:21:12, Edit by HESS
;TCO 1478 - QUOTA CHECKING
;<2-MONITOR>STG.MAC.352, 29-Jul-76 15:49:44, EDIT BY HALL
;ADDED DEFINITION OF JSSTR - 3 WORD GROUPS FOR STRUCTURES IN JSB
;<2-MONITOR>STG.MAC.351, 28-Jul-76 16:42:47, EDIT BY MURPHY
;TCO # 1479 - MOVED SOME SCHED STORAGE TO STG
;<2-MONITOR>STG.MAC.350, 23-Jul-76 12:38:57, EDIT BY KIRSCHEN
;ADD UCSEED
;<2-MONITOR>STG.MAC.349, 23-Jul-76 10:54:04, EDIT BY KIRSCHEN
;ADD JSBSDN,JSBUC
;<2-MONITOR>STG.MAC.348, 23-Jul-76 10:30:08, EDIT BY KIRSCHEN
;ADD STRUCTURE TABLES IN JSB
;<2-MONITOR>STG.MAC.347, 16-Jul-76 15:28:26, EDIT BY MILLER
;ADD SDBCNT
;<1MILLER>STG.MAC.1, 6-Jul-76 11:41:00, EDIT BY MILLER
;ADD SDBFLK AND FILCOD
;<2-MONITOR>STG.MAC.39, 23-Jun-76 11:50:59, EDIT BY MILLER
;ADD CDRCT1
;<2-MONITOR>STG.MAC.38, 22-Jun-76 15:01:03, EDIT BY HALL
;REARRANGED BIT TABLE STUFF TO PUT UNDER CONDITIONALS
;<2-MONITOR>STG.MAC.37, 21-Jun-76 16:07:48, EDIT BY MILLER
;MAKE BTBFLG DEFINITION UPPER CASE
;<2-MONITOR>STG.NEW.3, 21-Jun-76 13:39:45, EDIT BY MILLER
;MANUAL MERGE OF 1B CHANGES
;<1B-MONITOR>STG.MAC.342, 18-Jun-76 09:33:33, EDIT BY HURLEY
;TCO # 1444 - ADD HLP: = SYS: TO SYSTEM LOGICAL NAME TABLE
;<1B-MONITOR>STG.MAC.341, 17-Jun-76 14:50:03, EDIT BY HURLEY
;<1B-MONITOR>STG.MAC.340, 17-Jun-76 14:33:37, EDIT BY HURLEY
;More TCO 1430
;<1B-MONITOR>STG.MAC.339, 16-Jun-76 15:21:10, EDIT BY OSMAN
;TCO 1430 - IMPLEMENT STANDARD VERSION STORAGE
;<1B-MONITOR>STG.MAC.338, 11-JUN-76 17:15:17, EDIT BY MILLER
;TCO 1403. FIX POWER FAIL RECOVERY AGAIN
;<1B-MONITOR>STG.MAC.337, 11-JUN-76 11:02:43, EDIT BY OSMAN
;CHANGE COMMENT ON MTINDX TO REFLECT PHYM2 CHANGE
;<1B-MONITOR>STG.MAC.336, 27-MAY-76 17:38:41, EDIT BY BOSACK
;TCO 1322 - FIX HOME BLOCK ASSIGNMENTS ON RP06
;<1B-MONITOR>STG.MAC.335, 26-MAY-76 14:22:07, EDIT BY MILLER
;TCO 1321. DEFINE NSWPGS
;<2-MONITOR>STG.MAC.35, 21-Jun-76 12:41:48, EDIT BY HALL
;added btbflg to indicate bit table being rebuilt
;<2-MONITOR>STG.MAC.34, 17-Jun-76 15:01:52, EDIT BY MILLER
;DEFINE MJFN AS INTERNAL
;<2-MONITOR>STG.MAC.33, 17-Jun-76 12:52:39, EDIT BY MILLER
;<2-MONITOR>STG.MAC.32, 17-Jun-76 11:28:24, EDIT BY MILLER
;ADD MLJFN
;<2-MONITOR>STG.MAC.31, 11-JUN-76 17:16:27, EDIT BY MILLER
;TCO 1403. FIX POWER FAIL RECOVERY AGAIN
;<2-MONITOR>STG.MAC.30, 9-JUN-76 09:28:36, EDIT BY MILLER
;<1MILLER>STG.MAC.1, 8-JUN-76 12:19:49, EDIT BY MILLER
;REMOVE CST4
;<2-MONITOR>STG.MAC.29, 7-JUN-76 17:25:13, EDIT BY MILLER
;<2-MONITOR>STG.MAC.28, 7-JUN-76 16:57:19, EDIT BY HALL
;NOTED USE OF RH OF SDBSTS FOR FORK NUMBER
;<2-MONITOR>STG.MAC.27, 26-MAY-76 15:32:40, EDIT BY HALL
;ADDED BTBMAX,BTBTOP,BTBBOT
;<2-MONITOR>STG.MAC.26, 26-MAY-76 14:26:07, EDIT BY MILLER
;TCO 1321. ADD NSWPGS
;<2-MONITOR>STG.MAC.25, 26-MAY-76 12:56:43, EDIT BY HALL
;ADDED COMMENT TO DSKSIZ
;<2-MONITOR>STG.MAC.24, 26-MAY-76 12:41:48, EDIT BY HALL
;REMOVED NSECTK DEFINITION UNDER RP04 CONDITIONAL, ADDED COMMENTS
;<2-MONITOR>STG.MAC.23, 26-MAY-76 09:54:25, EDIT BY HALL
;ADDED OLDBTB
;<2-MONITOR>STG.MAC.22, 24-MAY-76 12:32:41, EDIT BY HALL
;MADE OLD DEFINITIONS OF DISK SIZES ASSEMBLE UNDER RP10F ONLY
;MADE NEW TABLES OF DISK SIZES, NEW HOME BLOCK DEFINITIONS
;<1B-MONITOR>STG.MAC.335, 19-MAY-76 21:50:27, EDIT BY MILLER
;TCO 1305. FIX POWER FAIL RESTART
;<1B-MONITOR>STG.MAC.340, 11-MAY-76 15:10:52, EDIT BY MILLER
;<1B-MONITOR>STG.MAC.339, 7-MAY-76 08:59:22, EDIT BY MILLER
;TCO 1282. FIX DTE POLLING
;<2-MONITOR>STG.MAC.19, 14-MAY-76 09:27:58, EDIT BY KIRSCHEN
;REMOVE LSTDRN; NOW KEPT PER STRUCTURE IN SDB
;<2-MONITOR>STG.MAC.18, 12-MAY-76 18:26:04, EDIT BY HURLEY
;<2-MONITOR>STG.MAC.17, 11-MAY-76 15:11:21, EDIT BY MILLER
;<2-MONITOR>STG.MAC.16, 10-MAY-76 10:20:55, EDIT BY KIRSCHEN
;REMOVE RDOFN
;<2-MONITOR>STG.MAC.15, 7-MAY-76 10:34:30, EDIT BY KIRSCHEN
;<2-MONITOR>STG.MAC.14, 7-MAY-76 10:31:13, EDIT BY KIRSCHEN
;ADD SDBLDN TO SDB
;<2-MONITOR>STG.MAC.13, 7-MAY-76 09:00:20, EDIT BY MILLER
;TCO 1282. FIX DTE POLLING
;<2-MONITOR>STG.MAC.12, 6-MAY-76 11:26:50, EDIT BY HALL
;ADD DEFINITIONS FOR STRUCTURES IN INIDVT
;<2-MONITOR>STG.MAC.11, 4-MAY-76 09:57:41, EDIT BY KIRSCHEN
;<2-MONITOR>STG.MAC.10, 26-APR-76 09:27:36, EDIT BY KIRSCHEN
;PUT BACK STRINF
;<2-MONITOR>STG.MAC.9, 23-APR-76 20:24:23, EDIT BY MILLER
;COMMENT OUT STRINF DEFINITION
;<2-MONITOR>STG.MAC.8, 22-APR-76 14:05:33, EDIT BY KIRSCHEN
;<2-MONITOR>STG.MAC.7, 22-APR-76 13:12:51, EDIT BY HALL
;<2-MONITOR>STG.MAC.7, 22-APR-76 13:08:16, EDIT BY HALL
;ADDED INITIALIZATION OF BTBORA AND BTBLCK AT SYSGO1
;<2-MONITOR>STG.MAC.6, 22-APR-76 10:57:41, EDIT BY KIRSCHEN
;<2-MONITOR>STG.MAC.5, 21-APR-76 16:21:44, EDIT BY KIRSCHEN
;ADD STRINF WORD TO PSB, AND FIELDS IDXFLG AND CURSTR
;<2-MONITOR>STG.MAC.4, 21-APR-76 15:58:25, EDIT BY KIRSCHEN
;ADD SDBIDX FIELD TO STRUCTURE DATA BLOCK
;<2-MONITOR>STG.MAC.3, 21-APR-76 13:46:36, EDIT BY KIRSCHEN
;MOVE NIDXPG TO PROLOG
;<2-MONITOR>STG.MAC.2, 19-APR-76 15:14:03, EDIT BY HALL
;CHANGE BIT TABLE DEFINITIONS
;<1B-MONITOR>STG.MAC.338, 13-APR-76 20:25:31, EDIT BY BOSACK
;<1B-MONITOR>STG.MAC.337, 13-APR-76 20:14:51, EDIT BY BOSACK
;<1B-MONITOR>STG.MAC.336, 13-APR-76 19:42:01, EDIT BY BOSACK
;<1B-MONITOR>STG.MAC.335, 4-APR-76 23:25:44, EDIT BY BOSACK
;<1B-MONITOR>STG.MAC.334, 4-APR-76 23:12:44, EDIT BY BOSACK
;<1B-MONITOR>STG.MAC.333, 4-APR-76 23:01:07, EDIT BY BOSACK
;<1MONITOR>STG.MAC.332, 23-MAR-76 15:57:13, EDIT BY HURLEY
;TCO 1213 - REMOVE ALL ##'S FROM STG. (CODE CLEAN UP)
;<1MONITOR>STG.MAC.331, 10-MAR-76 11:09:56, EDIT BY KIRSCHEN
;TCO 1171 - ADD FACILITY TO INTERRUPT ON ON-LINE/OFF-LINE TRANSITIONS
;<1MONITOR>STG.MAC.330, 5-MAR-76 18:36:17, EDIT BY MURPHY
;MORE 1097
;<1MONITOR>STG.MAC.329, 1-MAR-76 14:08:53, EDIT BY MURPHY
;TCO #1134 - PREVENT REENTRY OF BUGCHK/HLT/INF
;<1MONITOR>STG.MAC.328, 26-FEB-76 17:23:06, EDIT BY MURPHY
;MORE #1097
;<2MONITOR>STG.MAC.326, 19-FEB-76 22:01:03, EDIT BY KIRSCHEN
;TCO 1067 - ADD PGDATA WORD FOR LPT
;<2MONITOR>STG.MAC.325, 17-FEB-76 09:32:31, EDIT BY MILLER
;TCO 1098. DEATCH ALL JOBS ON POWER RESTART
;<2MONITOR>STG.MAC.324, 16-FEB-76 15:41:55, EDIT BY MURPHY
;TCO #1097 - INCREASE FREE MONITOR VAS
;<2MONITOR>STG.MAC.322, 10-FEB-76 13:18:55, EDIT BY KIRSCHEN
;<2MONITOR>STG.MAC.321, 9-FEB-76 15:27:26, EDIT BY KIRSCHEN
;TCO 1067 - ADD STORAGE DEFINITIONS FOR RAMFIL, VFUFIL, LPTST1
;<2MONITOR>STG.MAC.320, 6-FEB-76 11:28:27, EDIT BY HURLEY
;TCO 1062 - CHANGE DIR PROT OF SYSTEM AND SUBSYS TO 777740
;<2MONITOR>STG.MAC.319, 3-FEB-76 13:31:13, EDIT BY MILLER
;MCO 21. CHECK FOR NON-EX DTE
;<2MONITOR>STG.MAC.318, 29-JAN-76 20:52:11, EDIT BY MILLER
;MCO 21 AGAIN
;<2MONITOR>STG.MAC.317, 29-JAN-76 16:29:20, EDIT BY BOSACK
;MCO 40
;<2MONITOR>STG.MAC.316, 28-JAN-76 19:23:44, EDIT BY MILLER
;MCO #21 EDITS
;<2MONITOR>STG.MAC.315, 25-JAN-76 11:35:28, EDIT BY MILLER
;MCO #21. POLL FOR MASTER -11 AT STARTUP
;<2MONITOR>STG.MAC.314, 19-JAN-76 17:24:35, EDIT BY MURPHY
;<2MONITOR>STG.MAC.313, 16-JAN-76 12:39:37, EDIT BY MURPHY
;MCO#7 - ADD FKCSIZ DEFINITION COMMENT
;<2MONITOR>STG.MAC.312, 14-JAN-76 15:25:28, EDIT BY MURPHY
;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
;
;COPYRIGHT (C) 1977 BY DIGITAL EQUIPMENT CORPORATION
SEARCH PROLOG,PHYPAR,SERCOD
TTITLE STG
IFN KLFLG,<
SEARCH PROKL>
IFN SMFLG,<
SEARCH PROKS>
;PARAMETER-DEPENDENT STORAGE FOR ALL MODULES
EXT <PAGRST,PGRINI,TTINIT,SCDIN>
EXT <PI7P,PIAPR,PIINIT,PGRRST,SWPRST,PISC7,SCKATM>
SWAPCD ;SOME SWAP CODE HERE BEFORE FIRST RESCD
;MISCELANEOUS DEFINITIONS
DEFINE NDG (SYM,VAL)<
IFNDEF SYM,<
SYM==:VAL>>
NDG EXADF,0 ;EXTENDED DIRECTORY FLAG
NDG NTTD10,0 ;NUMBER OF DC10 LINES
IFG DTFLG,<NDLL==:5> ;IF A FE PRESENT, MUST HAVE 5 DLS
IFE DTFLG,<NDLL==:0> ;IF NO FE PRESENT, NDLL =0
NTTFE==:NDHL+NDLL ;NUMBER OF FE LINES
;NUMBER OF LINES, INCLUDING LINE 0 FOR THE CTY
NDG NLINES,NTTFE+NTTMCB+NTTPTY+NTTD10+NTTNVT+NTTDZ+1
IFG ACTLNS-NLINES,<ACTLNS==:NLINES> ;ADJUST VALUE AS APPROPRIATE
NDG DLSN,NTTD10 ;NUMBER OF DC LINES
NDG NTTBL,2 ;DEFAULT NUMBER BUFFERS PER LINE
NDG NTTBF,ACTLNS*NTTBL ;NUMBER OF TTY BUFFERS
NDG TTSIZ,20 ;SIZE OF INDIVIDUAL TTY BUFFER (POWER OF 2)
NDG TTBSIZ,200 ;BIG BUFFER SIZE
NDG DSKN,1 ;DSK IS PRESENT (MANDATORY)
NDG RP10F,0 ;DISK TYPE IS RP10
NDG RH10F,0 ;RH10
NDG RH20F,1 ;RH20
NDG RH11F,0 ;RH11
NDG RP04F,1 ;RP04
NDG DRMN,0 ;DRUM IS PRESENT
NDG RS04F,0 ;DRUM TYPE IS RS04
NDG RC10F,0 ;DRUM TYPE IS RC10
NDG DTAN,0 ;NUMBER OF dectape units
NDG TM02F,1 ;TM02/TU16
IFN KLFLG,<NDG DX20F,1 ;DX20/TU70,71,72>
IFN SMFLG,<NDG DX20F,0 ;DX20/TU70,71,72>
NDG PLTN,0 ; PHYSICAL Plotter exists
NDG PTPN,0 ; Paper tape punch exists
NDG PTRN,0 ; Paper tape reader exists
NDG VBCN,0 ;VB10C PRESENT
NDG NRVCPG,0 ;NUMBER OF PAGES TO RESERVE FOR VB10C
NDG DLXN,0 ;NUMBER OF UNITS ON DL10
IFG DLXN,<
NDG DLIBFP,<<DLXN+3>/4> ;# OF INPUT BUFFER AND CONTROL PAGES
NDG DLOBFP,<<DLXN+3>/4> ; " OUTPUT "
>;IFG DLXN
DMSMAX==:1050 ;LEGAL DMS JSYS'S ARE 1000-1050
PRAMAX==:200 ;MAXIMUM SIZE OF PRARG BLOCK
SYSDPT==:777740 ;DIRECTORY PROTECTION OF SYSTEM AND SUBSYS
SYSFPT==:777752 ;FILE PROTECTION DEFAULT FOR SUBSYS AND SYSTEM
PSNUM==:0 ;PUBLIC STR NUMBER
USRLH==:500000 ;LEFT HALF OF A 36 BIT USER NUMBER
.DFACT==:^D220100 ;DEFAULT ACCOUNT NUMBER
DEFINE LOADMODULE (A) <
IRP A,< EXTERNAL $'A>>
;section number definitions
NDG MSEC1,1 ;section 1- code
NDG DRSECN,2 ;section 2- directories
NDG IDXSEC,3 ;section 3- index table
NDG BTSEC,4 ;section 4- bit table
NDG ANBSEC,5 ;section 5- arpanet buffers
NDG MAXSEC,5 ;max section number
MSEC1B==:<MSEC1>B17 ;DEFINE SECTION 1 PC FORMAT
;FORCE THE LOADING OF THE CORRECT MODULES
LOADMODULE <LDINIT,SCHED,PAGEM,FORK,MEXEC,SYSERR,COMND>
LOADMODULE <DEVICE,DIRECT,ENQ,FREE,FUTILI,GTJFN,IO,IPCF,JSYSA,JSYSF>
LOADMODULE <LOGNAM,LOOKUP,MSTR,SWPALC,DISC,FILMSC,FLIN,RITH>
LOADMODULE <FLOUT,DATIME,TIMER,EDDT,MDDT>
;CONDITIONALS TO LOAD PROPER REL FILE
IFNDEF PHYIOF,< PHYIOF==:0>
IFN DX20F!RP04F!TM02F,< PHYIOF==:1>
IFG PHYIOF,<
LOADMODULE PHYSIO
LOADMODULE DIAG
LOADMODULE POSTLD
LOADMODULE DSKALC
>
IFE EXADF,< LOADMODULE FILINI>
IFN EXADF,< LOADMODULE EFILIN>
IFG RH20F,< LOADMODULE PHYH2>
IFG RH11F,< LOADMODULE PHYH11>
IFG RP04F,< LOADMODULE PHYP4>
IFG DRMN,<
IFE PHYIOF,<
IFG RS04F,< LOADMODULE RS04SV>
>
IFG PHYIOF&RS04F,< LOADMODULE PHYS4>
IFG RC10F,< LOADMODULE RC10SV>>
IFG DLSN+DTEN,<
IFE NETN,< LOADMODULE TTYSRV>
IFG NETN,< LOADMODULE TTYSNV>
>
IFN SMFLG,< LOADMODULE TTYSSM>
IFG DTAN,< LOADMODULE DECTAP>
IFG FEN,< LOADMODULE FESRV>
IFG MTAN,<
MTDFDN==:4 ;DEFAULT MAGTAPE DENSITY (1600 BPI)
MTDFRS==:PGSIZ*1 ;DEFAULT RECORD SIZE IS 1000 WORDS
MTDFDM==:1 ;DEFAULT MAGTAPE DATA MODE IS CORE DUMP
MTDFPA==:0 ;DEFAULT MAGTAPE PARITY IS ODD
MTMXDN==:5 ;MAXIMUM DENSITY IS 6250 BPI
LOADMODULE MAGTAP
LOADMODULE TAPE
IFG DX20F,<LOADMODULE PHYX2>
LOADMODULE PHYM2>
IFN SMFLG,< LOADMODULE APRSSM>
IFE SMFLG,< LOADMODULE APRSRV>
IFG DTEN,< LOADMODULE DTESRV>
IFG DCN,< LOADMODULE NSPSRV>
IFG KDPN,< LOADMODULE KDPSRV>
IFN SMFLG,< LOADMODULE DTESM>
IFE SMFLG, <LOADMODULE LINEPR>
IFN SMFLG, <LOADMODULE LINPSM>
IFG CDRN,<IFE SMFLG,< LOADMODULE CDRSRV>>
IFG CDRN,<IFN SMFLG,< LOADMODULE CDRSM>>
IFG PLTN,< LOADMODULE PLT>
IFG PTPN,< LOADMODULE PTP>
IFG PTRN,< LOADMODULE PTR>
IFG VBCN,< LOADMODULE VBC>
IFG DLXN,< LOADMODULE DLX>
IFG NETN,< LOADMODULE IMPDV
LOADMODULE NETWRK
LOADMODULE IMPANX
>
;RESIDENT STORAGE WHICH MUST BE DEFINED ON A PAGE BOUNDARY.
;THESE ARE ALL DEFINED FIRST AND MUST BE A MULTIPLE OF 512 WORDS
;EACH.
RS(ZROCOR,0) ;START OF STORAGE AREA TO CLEAR
RS(KIEPT,PGSIZ) ;EXECUTIVE PAGE TABLE
RS(SKHWPT,PGSIZ) ;HW PAGE TABLE WHEN SCHED RUNNING
RS(MMAP,PGSIZ) ;MONITOR MAP
IFG DLXN,<
RS(DLBASE,PGSIZ*DLIBFP) ;RESIDENT PAGES FOR DL10
RS(DLOBUF,PGSIZ*DLOBFP)
>;IFG DLXN
IFN SMFLG,<RS(LPBUF,LPTN*PGSIZ)> ;LINEPRINTER BUFFER SPACE
IFN NETN,<RS(NTBFIX,PGSIZ)> ;INDEX PAGE FOR NET BUFFER SECTION
IFN KDPN,<RS(KMCPAG,KDPN*PGSIZ)> ;A PAGE FOR EACH KDP(=KMC11/DUP11)
;MEMORY MANAGEMENT DATA BASE
RS CST0,MAXCOR ;CORE STATUS TABLES
RS SPT,SSPT ;SPECIAL/SHARED PAGES TABLE
RS SPCRES,0 ;END OF SPECIAL RESIDENT PAGES.
;USED BY PAGEM CODE THAT
;UNLOCKS PAGES. PUT ALL
;SPECAIL PAGES (I.E. PAGE TABLES,
;UPT'S) BEFORE THIS DEFINITION
RS CST1,MAXCOR
RS CST2,MAXCOR
RS CST3,MAXCOR
IFN PHYIOF,<
RS CST5,MAXCOR ;**TEMP** UNTIL CSTONR MOVED
> ;END IFN PHYIOF
RS SPTO,NOFN ;OFN TBALE ONLY
RS SPTH,SSPT
RS TOTRC,1 ;TOTAL NUMBER REAL CORE PAGES
RS NRPMIN,1 ;MINIMUM VALUE OF NRPLQ
RS NRPLEV,1 ;HIGHEST NORMAL LEVEL OF NRPLQ
RS GCMINP,1 ;MIN PAGES NEEDED BY GC, = NRPMIN+NRPLEV
RS CGFLG,1 ;DEASSIGNED PAGES MAY EXIST IF .G. 0
RS NRPLQ,1 ;NUMBER OF PAGES ON REPLACABLE QUEUE
RS RPLQ,1 ;REPLACABLE QUEUE END,,BGN
RS NSPMQ,1 ;NUMBER OF PAGES ON SPECIAL MEM QUEUE
RS SPMQ,1 ;"SPECIAL" MEMORY QUEUE TAIL,,HEAD
RS SPMLCK,1 ;LOCK ON PROCESS CONTEXT MANIPULATION OF SPMQ
RS SPMONR,1 ;FORK WHICH OWNS SPMLCK
RS SPMTPG,1 ;PAGE FOR SCHED TEST RTN
RS SPMTIM,1 ;WATCHDOG TIME FOR SCHED TEST RTN
IFE SMFLG,<
NMD16K==:<MAXCOR*PGSIZ+37777>/40000 ;MAX # MEM MODULES, 16K EACH
RS MEMTAB,<<NMD16K+^D35>/^D36> ;TABLE INDICATING INT/EXT MEM
> ;END IFN SMFLG
;SYSTEM RESIDENT JOB TABLES
RS JOBDIR,NJOBS ;ATTACHED DIRECTORY,,LOGIN DIRECTORY
RS JOBNAM,NJOBS ;JOB BITS,,SUBSYS NAME INDEX
NR JOBPNM,NJOBS ;JOB PROGRAM NAME
RS JOBRT,NJOBS ;JOB RUN TIME
RS JOBRTL,NJOBS ;JOB RUN TIME LIMIT
;DEFSTR JOBRTP,JOBRTL,35,23 ; Ptr to runtime limit blk
;DEFSTR TIMCNT,JOBRTL,12,13 ; # of clocks in use by job
RS JOBPT,NJOBS ;CONTROL TTY,,TOP FORK
;QUOTA ENFORCEMENT TABLES
NR ALOC1,NOFN ;DIR # ,, OFN COUNT
NR ALOC2,NOFN ;COUNT OF PAGES LEFT
NR OFNLEN,NOFN ;ACTUAL END OF FILE
;TIME ZONE STORAGE
NR TIMZON,1 ;NUMBER OF HOURS LOCAL TIME LAGS GREENWICH
;MEMORY ERROR REPORTING STORAGE
RS ERRTBL,1 ;QUEUE HEADER
;SYSTEM RESIDENT FORK TABLES
; STRUCTURE DEFINED FOR SOME VARIABLES BUT NOT PRESENTLY USED
; CONSISTENTLY THROUGHOUT CODE.
RS FKPGS,NFKS ;PTB,,PSB SPT NUMBERS
;DEFSTR FKPSB,FKPGS(FX),35,18
;DEFSTR FKUPT,FKPGS(FX),17,18
RS FKSTAT,NFKS ;FORK WAIT TEST
RS FKPGST,NFKS ;TEST WORD WHILE IN PAGE WAIT
;ALSO TOD ENTERED WAITLIST
RS FKQ1,NFKS ;REMAINING QUANTUM
;DEFSTR FKQTM,FKQ1(FX),35,36
RS FKQ2,NFKS ;FORK SCHEDULING QUANTITIES
;DEFSTR FKQN,FKQ2(FX),17,18 ;QUEUE LEVEL NUMBER
;DEFSTR FKLOC,FKQ2(FX),35,18 ;LOCATION OF GOLST FORK
RS FKJTQ,NFKS ; Jsys Traps queue of forks
; waiting to PSI their monitor
RS FKPT,NFKS ;LOCATION OF FORK,,FORK QUEUE POINTERS
RS FKINT,NFKS ;FORK INTERRUPT COMMUNICATION REG
RS FKINTB,NFKS ;INTERRUPT CHANNELS REQUEST
RS FKJOB,NFKS ;JOB NUMBER ,, JSB
;DEFSTR FKJSB,FKJOB(FX),35,18
;DEFSTR FKJOBN,FKJOB(FX),17,18
RS FKNR,NFKS ;AGE,,BALANCE SET SIZE (RESERVE)
;DEFSTR FKXAGE,FKNR(FX),8,9 ;AGE AT LAST XGC
;DEFSTR FKAGE,FKNR(FX),17,9 ;CURRENT AGE
;DEFSTR FKWSS,FKNR(FX),35,18 ;WORKING SET SIZE
RS FKWSP,NFKS ;WORKING SET PARAMETERS - TAV,,N
;DEFSTR FKCSIZ,FKWSP(FX),35,18 ;CURRENT SIZE
;ALSO LH USED WHILE ENTERING BALSET
RS FKTIME,NFKS ;TIME AT WHICH FORK WAS PUT ON CURRENT QUEUE
RS FKCNO,NFKS ; SPTN OF HWPT ,, CORE NUMBER
;DEFSTR HWPTN,FKCNO(FX),17,18
;TABLES FOR SETNM
NNAMES==:^D40 ;NUMBER OF NAMES ALLOWED
RS SNAMES,NNAMES ;SIXBIT NAME OF SUBSYSTEM
RS STIMES,NNAMES ;ACCUMULATED RUNTIME OF SUBSYSTEM
RS SPFLTS,NNAMES ;ACCUMULATED PAGE FAULTS OF SUBSYSTEM
RS SSIZE,NNAMES ;WORKING SET SIZE INTEGRAL
RS SNBLKS,NNAMES ;NUMBER OF BLOCKS
;MONITOR STATISTICS
RS SKDTM0,1 ;TIME SPENT IN SKDNUL WITH BALSET EMPTY
RS SKDTM1,1 ;TIME SPENT IN SKDNUL WITH BALSET NON-EMPTY
RS SKDTM2,1 ;TIME SPENT RUNNING SCHEDULER
RS SPTTIM,1 ;TIME SPENT IN PAGER TRAP CODE
RS DRMRD,1 ;NUMBER OF DRUM READS
RS DRMWR,1 ;NUMBER OF DRUM WRITES
RS DSKRD,1 ;NUMBER OF DISK READS
RS DSKWR,1 ;NUMBER OF DISK WRITES
RS TTYBKS,1 ;NUMBER OF TTY WAKEUPS
RS TTINTS,1 ;NUMBER OF TERMINAL INTERRUPTS
RS BSTSUM,1 ;INTEGRAL OF NBPROC DT
RS RJTSUM,1 ;INTEGRAL OF NBPROC+NGOJOB DT
NRJAVS==:3 ;NUMBER OF EXPONENTIAL AVERAGES MAINTAINED
RS RJAV,NRJAVS ;EXPONENTIAL AVERAGE OF NUMBER RUNNABLE FORKS
RS DSKWT,1 ;SUM OF PROCESS DSK WAIT TIMES
RS DRMWT,1 ;SUM OF PROCESS DRUM WAIT TIMES
RS NTTYIN,1 ;TOTAL NUMBER TERMINAL INPUT CHARS
RS NTTYOT,1 ;TOTAL NUMBER TERMINAL OUTPUT CHARS
RS NGCCOR,1 ;COUNT OF GCCOR'S
RS PPGTIM,1 ;INTEGRAL OF POSTPURGE TIME
RS NREMJ,1 ;COUNT OF FORCED BALSET REMOVALS
RS BSWT,1 ;SUM OF PROCESS WAIT TIMES
RS SKDOVH,1 ;ACCUMULATED SCHED OVERHEAD TIME IN HP UNITS
RS SKDIDL,1 ;ACCUMULATED IDLE TIME IN HP UNITS
RS SKDSWP,1 ;ACCUMULATED SWAP-WAIT TIME IN HP UNITS
RS USRTIM,1 ;ACCUMULATED USER TIME IN MILLISECONDS
RS HQFSUM,1 ;INTEGRAL OF NHQFK DT
RS LQFSUM,1 ;INTEGRAL OF NLQFK DT
RS DWRWT,1 ;SUM OF PROCESS DISK WRITE WAIT
RS NAJBAL,1 ;NUMBER OF FORCED AJBALS CALLS
RS SNRSUM,1 ;INTEGRAL OF SUMNR
RS RPQSUM,1 ;INTEGRAL OF NRPLQ
RS HSPTTM,1 ;HP PAGER TRAP TIME
NSTAT==:^D31+NRJAVS ;NUMBER OF STATISTICS WORDS
;LOAD AVERAGE COMPONENTS (GETAB TABLES)
RS HQLAV,NRJAVS ;HIGH-QUEUE AVERAGES
RS LQLAV,NRJAVS ;LOW-QUEUE AVERAGES
;**TEMP** 3A ONLY
RS(XB2RED,1)
RS(XB2WRT,1)
;**TEMP END**
;STORAGE
NSKDP==:100 ;SIZE OF SCHED PDL
RS SKDPDL,NSKDP ;SCHEDULER LOCAL PDL
RS SCKATM,1 ;ALARM TIME - MIN OF ALL SCHED CLOCKS
RS OLDTCK,1 ; "
RS PISC7R,4
RS PI7AC1,2 ;TEMPS AT PISC7
RS ALARMT,1 ;MIN TIME OF FORKS ON CLKLST
RS SKDLST,1 ;LAST READING OF HP CLOCK
RS SKDLRT,1 ;RUNTIME OF LAST TRIP THRU SCHEDULER
RS SNPSV1,1 ;PLACE TO SAVE AN AC WHILE CHECKING PC
; TO SEE IF IT IS IN A SNOOP BREAK POINT
RS FORKX,1 ;INDEX OF CURRENTLY RUNNING FORK
RS FREJOB,1 ;LIST OF FREE JOBS
RS WTLST,1 ;WAITING FORK LIST
RS WT2LST,1 ;WAITING FORKS TO BE WAKED BY UNBLK1
RS TTILST,1 ;LIST OF FORKS WAITING FOR TTY INPUT
RS FRZLST,1 ; .. .. UNFREEZING
RS TRMLST,1 ; .. .. INFERIOR FORK TERMINATION
RS CLKLST,1 ; .. .. CLOCK
RS JTLST,1 ; JSYS traps queue
RS JTLSTL,1 ; ... last; doubly linked list of forks
; waiting on JTLCK to PSI some mon fork
RS GOLST,1 ;RUNNABLE FORK LIST
RS JB0FLG,1 ;RUN JOB 0 REQUEST
RS FRECB,1 ;FREE CORE NUMBER BITS
RS FREFK,1 ;LIST OF FREE FORKS
RS SYSIFG,1 ;SYSTEM HAS BEEN INITIALIZED IF NOT 0
RS PWRDWN,1 ;POWER FAILURE DETECTED IF .G. 0, DONE IF .L. 0
RS RLODPC,4 ;PC'S FOR KEEP ALIVE RELOAD
RS FPTABL,MAXSEC+1 ;PAGEM DISPATCH FOR SECTION NUMBERS
;BALANCE SET VARIABLES
NBP==:^D50 ;MAX NUMBER FORKS IN BALSET
RS BALSET,NBP ;BALANCE SET LIST
RS NBW,NBP ;TOD OF START OF LAST WAIT
RS NBQ,NBP ;MINIMUM QUANTUM TO BE USED WHILE IN BALSET
RS BSQ,NBP ;BALSET LOCAL RUN QUANTUM
RS BSPT,NBP ;BALSET FORK QUEUE (DOUBLE CHAIN)
RS FBALS,1 ;1 + HIGHEST BALSET SLOT IN USE
RS NBPROC,1 ;NUMBER OF PROCESSES IN BAL SET
RS NBWT,1 ;NUMBER WAITING PROCESSES IN BALSET
RS MAXBP,1 ;MAX NUMBER OF JOBS IN BAL SET
RS BALLST,1 ; TAIL,,HEAD OF BALSET FORK QUEUE
RS BALLS0,1 ;TAIL OF BALSET HIGH QUEUE
RS SUMNR,1 ;SUM OF RESERVE PAGES, ALL PROCESSES
RS BALSHC,1 ;COUNT OF PAGES IN BALSET BECAUSE OF SHARING
RS PUBCL,1 ;PROCESS USE BITS TO BE CLEARED AT GCCOR
RS MAXNR,1 ;MAX VALUE OF SUMNR
RS NEBAL,1 ;NUMBER OF PROCESSES NOW ENTERING BALSET
RS REMFGS,1 ;FLAGS SET ON REMBSJ/REMBSF
RS NPMAX,1 ;MAX NUMBER OF PAGES IN CORE FOR ONE PROCESS
RS SNPMAX,1 ;SMALL NPMAX FOR LOADED CONDITIONS
RS IRJAV,1 ;NEAREST INTEGER TO RJAV
RS BSHQN,1 ;NUMBER BALSET FORKS ON .L. MAXQ
RS BSLQN,1 ;NUMBER BALSET FORKS ON MAXQ
RS NHQFK,1 ;NUMBER FORKS ON .L. MAXQ
RS NLQFK,1 ;NUMBER FORKS ON MAXQ
;SCHEDULER VARIABLES
RS SCHFLG,1 ;PERMANENT SCHEDULER FLAGS
RS SKEDF1,1 ;START PROCESS VIA CH7 BREAK IN 1
RS SKEDF3,1 ;PROCESS CLOCK COUNTED TO 0
RS SKEDFC,1 ;FORCE CLEAR OF BALSET & MEMORY
RS INSKED,1 ;IN SCHEDULER IF NON-ZERO
RS SSKED,1 ;LAST JOB RUNNING WAS NOSKED
RS SETPAG,1 ;TEMP FOR SETTING PAGER AT SCDR
RS RSKCHK,4 ;XPCW DESTINATION
RS RTSKED,1 ;REAL-TIME SERVICE REQUIRED IF NON-0
RS PSKED,1 ;PAGE TRANSFER COMPLETED
RS QSKED,1 ;BLOCKED FORK NOW UNBLOCKED IF .G. 0
RS BSKED,1 ;FORK VOLUNTARILY LEFT BALSET IF .G. 0
RS NGOJOB,1 ;NUMBER OF RUNNABLE JOBS
RS BSCTIM,1 ;TIME AT LAST CHANGE TO NBPROC
RS RJTTIM,1 ;TIME AT LAST UPDATE TO RJTSUM
RS RJATIM,1 ;TIME OF NEXT RJAV UPDATE
RS RJAVS1,1 ;RJTSUM AT LAST RJAV UPDATE
RS RJAVS2,1 ;HQFSUM AT LAST RJAV UPDATE
RS RJAVS3,1 ;LQFSUM AT LAST RJAV UPDATE
;CLOCKS COUNTED DOWN AND TESTED, PARALLEL TO PCLKT, DON'T REORDER
RS BSQNT,1 ;RUNNING JOB REMAINING QUANTUM
RS TIM1,1 ;SCHED FAST CLOCK
RS TIM2,1 ;SECOND CLOCK, 100 MS
RS FKT0,1 ;CLOCK AT START OF RUNNING
RS FKT1,1 ;TIME USED SINCE SETRT
RS TIM0,1 ;TODCLK AT LAST C1STAT
RS SCDRQI,1 ;SCHEDULER REQUEST QUEUE
RS SCDRQO,1
NSCDRQ==:^D33 ;SIZE OF SCHED REQUEST QUEUE
RS SCDRQB,NSCDRQ
RS TODCLK,1 ;MILLISECOND CLOCK, MONOTONICALLY INCREASING
RS TODPWL,1 ;TIME OF DAY (IN SECONDS) BY POWER LINE CLOCK
RS CHKTIM,1 ;TIME AT WHICH JOB 0 CONSIDERED OVERDUE
RS SCDRN1,1 ;RUN ONLY JOB N IF N .G. -1
;DIRECTORY RELATED STORAGE
RS MXDIRN,1 ;MAXIMUM DIRECTORY NUMBER
RS NDIRPG,1 ;MAX # OF PAGES FOR A DIRECTORY FILE
RS FBTSIZ,1 ;SIZE FO FREE BIT TABLE BLOCK
RS IDXORA,1 ;WORD CONTAINING START OF INDEX TABLE
RS DIRORA,1 ;WORD CONTAINING BASE ADR OF MAPPED DIR
RS BTBORA,1 ;WORD CONTAINING BASE ADR OF MAPPED BIT TABLE
;MISC STORAGE
;SYSTEM STARTUP FLAG. REPLACES DIDSCA AND STOKF
RS STARTF,1
;STORAGE FOR BUGHLT AND BUGCHK
RS BUGHLT,2
RS SVVEXM,1 ;SAVE VALID EXAMINE IN BUGTYO
;USED IN KS10 TO SAVE KEEPALIVE WORD
RS BUGLCK,1 ;LOCK ON BUGXXX ROUTINES
RS BUGCHK,2
RS BUGINF,2 ;INFORMATIONAL BUGCHK
RS BUGACS,20 ;ACS
RS BUGACU,20 ;PLACE TO SAVE PREV CONTEXT ACS
BUGPLN==:^D12 ;PUSH DOWN LIST SIZE
RS BUGPDL,BUGPLN ;PUSH DOWN LIST
BUGMAX==:5 ;DONT LET MORE THAN 5 IN QUEUE
RS BUGCNT,1 ;COUNT OF BUG BLOCKS IN QUEUE
RS BUGNUM,1 ;NUMBER OF BUG CHECKS SINCE STARTUP
RS BUGSEB,1 ;SYSERR BLOCK POINTER
RS BUGP,1 ;PLACE TO STORE P DURING BUG HLT/CHK
RS BUGP1,1
RS BUGP2,1
RS BUGP3,1
;STORAGE FOR THE UTEST JSYS
RS UTLOCK,1 ;CONTAINS THE FORK # OF OWNER
RS UTBASE,1 ;THE STARTING ADR OF ROUTINE BEING TESTED
RS UTLEN,1 ;THE NUMBER OF WORDS BEING TESTED
UTNPG==:2 ;NUMBER OF PAGES OF STORAGE SPACE
NUTWDS==UTNPG*PGSIZ ;WORDS OF BUFFER SPACE FOR UTEST
NRP UTPGS,NUTWDS ;BUFFER SPACE
;STORAGE FOR TTYSRV
NCHBF==:<TTSIZ-1>*4 ;NUMBER OF CHARS IN 1 BUFFER
;TTY BUFFERS--INPUT, OUTPUT, AND ECHO
;BUFFERS ARE OF SIZE TTSIZ, AND START AT LOCATIONS N*TTSIZ+1
RS TTBUFS,NTTBF*TTSIZ+TTSIZ
;WORD THAT CONTAINS THE UNIT NUMBER ON THE .FEDLS DEVICE BY WHICH
;THE FRONT END KNOWS THE CTY. USED IN IDCTY.
RS CTYINT,1
RS TCOERR,1 ;TCOUT SETS THIS IF FAILS IN SCHEDULER CONTEXT
RS SALCNT,1 ;COUNT OF LINES DOING SENDALL
;STORAGE
RS TTFREC,1 ;COUNT OF FREE BUFFERS
RS TTFREB,1 ;LIST OF FREE BUFFERS
NTSQWD==:<NLINES+^D35>/^D36 ;NUMBER OF WORDS IN START OUTPUT QUEUE
RS TTSOQ,NTSQWD ;START OUTPUT QUEUE, ONE BIT PER LINE
;BIG BUFFER
RS TTBIGI,1 ;INPUT INDEX
RS TTBIGO,1 ;OUTPUT INDEX
RS TTBIGC,1 ;COUNT
RS TTBBUF,TTBSIZ ;BUFFER
RS TTQCNT,1 ;COUNT OF SPECIAL LINE ITEMS
RS TTCQLN,1 ;CONTROL OP CURRENT LINE NUMBER
RS TTHNGL,1 ;LINE BEING EXAMINED FOR HUNG
RS TTHNGT,1 ;TIME AT WHICH LINE WILL BE DEFINED AS HUNG
RS TTHNGN,1 ;LAST HUNG LINE ,, NUMBER UNHANGS DONE
RS LINKF,1 ;LINKED OUTPUT CHAR IN NOT 0
RS IMECHF,1 ;IMMEDIATE ECHO OUTPUT CHAR IF NON-0
RS TTCHIC,1 ;INPUT CHARACTER IN TTCHI
IFN SMFLG,<RS DZCHCT,1> ;"CLOCK" FOR DZ11 PI CHECK
IFG DTFLG!SMFLG,< ;FOR FE CONFIGURATIONS
SNDSIZ==:20 ;SIZE FOR A SEND ALL BUFFER
RS SNDALL,SNDSIZ ;ALLOCATE THE BUFFER
>
RS TTSTAT,NLINES ;STATIC DATA
RS TTACTL,NLINES ;POINTER TO DYNAMIC DATA
RS SPDBLK,1 ;POINTS TO RESIDENT BLOCK FOR LINE SPEEDS
NR TTSPWD,NLINES ;INPUT,,OUTPUT SPEEDS
RS TTCSAD,NLINES ;ROUTINE FOR SCHEDULER TO CALL
RS TTCSTM,NLINES ;TIME TO CALL ROUTINE IN TTCSAD
;STORAGE FOR STRING CONTAINING VERSION AND NAME OF MONITOR
NR SVN,NSVNT ;TEXT IS READ FROM SYSTEM:MONNAM.TXT
; OR DEFAULTED TO A PREASSEMBLED STRING
; AT TSVN
;DISK SIZE DATA DESCRIBING ALL KNOWN DISK TYPES
;THE ACTUAL TABLES ARE IN RESIDENT STORAGE AND ARE DEFINED LATER IN
;THIS MODULE. DSKSZ0 CONTAINS THE RP04/RP05 DATA; DSKSZ1 CONTAINS THE
;RP06 DATA; AND DSKSIZ CONTAINS POINTERS TO THESE TABLES.
IFN RP04F,<
NWSEC==:200 ;NUMBER OF WORDS PER SECTOR
;PGSIZ==:1000 ;WORDS PER PAGE - DEFINED IN PROLOG
;DATA FOR RP04 AND RP05
SECPG0==PGSIZ/NWSEC ;SECTORS PER PAGE
LPPCT0==0 ;LOST SECTORS PER CYL
SECSF0==^D20 ;SECTORS PER SURFACE
SECCY0==^D19*SECSF0 ;SECTORS PER CYLINDER
PAGCY0==SECCY0/SECPG0 ;PAGES PER CYLINDER
CYLUN0==^D400 ;CYLINDERS PER UNIT
SECUN0==SECCY0*CYLUN0 ;SECTORS PER UNIT
BTWCY0==<PAGCY0+^D35>/^D36 ;NUMBER BIT WORDS IN BIT TABLE FOR A CYLINDER
MINFP0==PAGCY0/3 ;MINIMUM FREE PAGES FOR FREE CHOICE ALLOCATION
; IN DSKASN
MAXFP0==PAGCY0*CYLUN0 ;PAGES PER UNIT FOR DAKASN TURNING POINT
USSCU0==^D13 ;MICROSECONDS PER LATOPT UNIT
;DATA FOR RP06
SECPG1==PGSIZ/NWSEC ;SECTORS PER PAGE
SECSF1==^D20 ;SECTORS PER SURFACE
SECCY1==^D19*SECSF1 ;SECTORS PER CYLINDER
PAGCY1==SECCY1/SECPG1 ;PAGES PER CYLINDER
CYLUN1==^D800 ;CYLINDERS PER UNIT
SECUN1==SECCY1*CYLUN1 ;SECTORS PER UNIT
LPPCT1==0 ;LOST SECTORS PER CYL
BTWCY1==<PAGCY1+^D35>/^D36 ;NUMBER OF BIT WORDS PER CYLINDER IN BIT TABLE
MINFP1==PAGCY1/3 ;MINIMUM FREE PAGES FOR FREE CHOICE ALLOCATION
; IN DSKASN
MAXFP1==PAGCY1*CYLUN1 ;PAGES PER UNIT FOR DSKASN TURNING POINT
USSCU1==^D13 ;MICROSECONDS PER LATOPT UNIT
;DATA FOR RM03
SECPG3==PGSIZ/NWSEC ;SECTORS PER PAGE
LPPCT3==2 ;LOST SECTORS PER CYL
SECSF3==^D30 ;SECTORS PER SURFACE
SECCY3==<^D5*SECSF3>-LPPCT3 ;SECTORS PER CYLINDER
PAGCY3==SECCY3/SECPG3 ;PAGES PER CYLINDER
CYLUN3==^D820 ;CYLINDERS PER UNIT
SECUN3==SECCY3*CYLUN3 ;SECTORS PER UNIT
BTWCY3==<PAGCY3+^D35>/^D36 ;NUMBER OF BIT WORDS PER CYLINDER IN BITTABLE
MINFP3==PAGCY3/3 ;MINIMUM FREE PAGES FOR FREE CHOICE ALLOCATION
MAXFP3==PAGCY3*CYLUN3 ;PAGES PER UNIT FOR DSKASN TURNING POINT
USSCU3==^D8 ;MICROSECONDS PER LATOPT UNIT
BTBMAX==:15000 ;MAXIMUM WORDS AVAILABLE FOR BIT TABLE
BTBTOP==:3100 ;SIZE OF TOP HALF FOR OLD DISKS
BTBBOT==:11300 ;SIZE OF BOTTOM HALF FOR OLD DISKS
;BIT TABLE
RS BTBSIZ,1 ;MAXIMUM WORDS AVAILABLE FOR BITTABLE
IFE NETN!EXADF,< BTBLEN==:BTBMAX> ;LENGTH OF BITTABLE IF IN SECTION 0
IFN NETN!EXADF,< BTBLEN==:0> ;DO NOT RESERVE SPACE IN SECTION 0
NRP BTB,BTBLEN
;NOTE THAT THE OLD ASSUMPTION THAT SOME CYLINDERS ARE NOT AVAILABLE
;FOR FILES HAS BEEN REMOVED. LOTRK (THE FIRST AVAILABLE CYLINDER) IS
;NOW ALWAYS 0, AND HITRK (THE HIGHEST AVAILABLE CYLINDER) IS THE LAST
;CYLINDER IN THE STRUCTURE, WHICH IS CONTAINED IN SDBCYL IN THE SDB
LOTRK==:0
>
RS BTBLCK,1 ;BIT TABLE LOCK
RS DERRHD,1 ;HEADER FOR BAT BLOCK QUEUE
ERRLNK==:4 ;OFFSET IN ERROR NODE FOR THE LINK
;VARIABLES HOLDING PARAMETERS OF PUBLIC STRUCTURE
RS NSSUN,1 ;# OF SWAPPING SECTORS PER UNIT
RS FSSUN,1 ;FIRST SWAPPING SECTOR ON UNIT
;VARIABLES USED BY FSI ROUTINES
RS FSIBLK,20 ;TEMPORARY BLOCK
RS FEFSIZ,1 ;SIZE OF FRONT END FILE SYSTEM IN PAGES
RS BOTSIZ,1 ;SIZE OF BOOTSTRAP.BIN IN PAGES
NPGSFE==:NTRFE*PAGCY0 ;DEFAULT NUMBER OF PAGES IN FE FILE SYSTEM
NPGSBT==:NTRBT ;DEFAULT NUMBER OF PAGES IN BOOTSTRAP.BIN
DSKMSK==:777774 ;BITS NOT USED IN LH OF DISK ADDRESS
;PAGES RESERVED FOR SWPMON BOOTSTRAP--USED ONLY WHEN SWPMON ACTUALLY
;BEING BOOTSTRAPPED
;**BEWARE** IF YOU CHANGE BUTPG THEN
; ALSO CHANGE VORG IN BOOT AND IT'S PARAM.MAC FILES*****
BUTPG==:617 ;READ NOTE ABOVE
IFN EXADF,<BUTPG==:667> ;READ NOTE ABOVE
BUTPGA=:BUTPG*PGSIZ
;HOME BLOCKS
IFN RP04F,<
HOME:: 0 ;BOOT STRAP FOR THE 11
1 ;HOME BLOCK
2 ;BAT BLOCK
3 ;RESERVED
4 ;RESERVED
5 ;RESERVED
6 ;RESERVED
7 ;RESERVED
10 ;RESERVED
11 ;RESERVED
12 ;SECONDARY HOME BLOCK
13 ;SECONDARY BAT BLOCK
NHOME==:.-HOME
>
;DO NOT REORDER ERROR WORDS, USED BY GETAB
NDSKEW==:^D10 ;NUMBER OF ERROR WORDS FOR GETAB
RS DSKRCE,1 ;COUNT OF RECOVERABLE ERRORS
RS DSKRER,4 ;COMMAND WORDS AND ERROR BITS OF LAST ERROR
RS DSKNRE,1 ;COUNT OF NON-RECOVERABLE ERRORS
RS DSKLER,4 ;COMMAND WORDS AND ERROR BITS LAST NON-REC ERR
;PARAMETERS FOR THE BAT BLOCK ERROR QUEUE
NODSIZ==:5 ;SIZE OF AN ENTRY
MAXNOD==:^D10 ;NUMBER IN FREE POOL
RS IOERRQ,MAXNOD*NODSIZ ;ALLOCATE THE POOL
RS IOERRH,1 ;THE QUEUE HEADER
;BAT BLOCK VARIABLES
CODBAT==:606060 ;UNLIKELY CODE IN BATCOD
MAXBFR==:^D61*2 ;MAX FREE SPACE IN BAT BLOCK
MAXBAD==:^D511 ;MAX BAD SPOTS IN A BAD PAIR
BAT1P==:4 ;OFFSET OF FIRST BAD PAIR
;STRTAB AND SDB DEFINITIONS
NR (UCSEED,1) ;SEED FOR UNIQUE CODE FOR EACH STRUCTURE
NR (STRLOK) ;LOCK FOR THE DISMOUNT CODE
STRN==:^D16 ;MAXIMUM NUMBER OF STR'S ALLOWED
RS STRTAB,STRN ;TABLE OF POINTERS TO SDB'S
NDG MXSTRU,4 ;MAX # OF PACKS IN A STRUCTURE
; (ASSUMES RP04'S, USED TO LIMIT SDBUDB)
HOMTBL==:MXSTRU ;LENGTH OF HOMTAB
MXPGUN==:<HOMTBL*PAGCY0*CYLUN0> ;MAX ADDRESS WE CAN SUPPORT
RS HOMTAB,HOMTBL ;LOGICAL TO PHYSICAL MAPPING
; (CHANNEL,,UNIT) PER LOGICAL UNIT
;SDB - STRUCTURE DATA BLOCK FORMAT
SDBNAM==:0 ;STRUCTURE NAME
SDBNUM==:1 ;NUMBER OF UNITS IN STRUCTURE
SDBSIZ==:2 ;SIZE IN SECTORS OF EACH UNIT IN STR
SDBSTS==:3 ;STATUS FLAGS,,INITING FORK
SDBRXB==:4 ;ADDRESS OF ROOT DIR INDEX BLOCK
SDBBXB==:5 ;ADDRESS OF BACKUP COPY OF ROOT DIR
SDBNSS==:6 ;NUMBER OF SWAPPING SECTORS PER UNIT
SDBFSS==:7 ;FIRST SWAPPING SECTOR PER UNIT
SDBBTB==:10 ;OFN OF BIT TABLE
SDBFRC==:11 ;COUNT OF FREE PAGES ON STRUCTURE
SDBIDX==:12 ;HANDLE'S OF INDEX TABLE AND ROOT-DIRECTORY
SDBLDN==:13 ;LAST DIRECTORY NUMBER ON THIS STRUCTURE
SDBLCA==:14 ;LAST CYLINDER ASSIGNED BY DSKASN
SDBCYL==:15 ;TOTAL CYLINDERS IN STRUCTURE
SDBBT0==:16 ;LENGTH OF TOP HALF OF BIT TABLE
SDBBT1==:17 ;LENGTH OF BOTTOM HALF OF BIT TABLE
SDBTYP==:20 ;ADDRESS OF DSKSIZ TABLE FOR THIS TYPE OF DISK
SDBFLK==:21 ;FILE LOCK COUNT,,UNIQUE CODE
SDBCNT==:22 ;MOUNT COUNT,,OPEN FILE COUNT
SDBPUC==:23 ;PACK UNIQUE CODE FOR MEDIA IDENTIFICATION
SDBOMF==:24 ;ORIGINAL MINIMUM FREE PAGES LIMIT
SDBMXF==:25 ;BOUNDRY ABOVE WHICH SDBMFP=SDBOMF
SDBMFP==:26 ;MIN FREE PAGES BELOW WHICH DSKASA
;CHANGES ASSIGNMENT ALGORITHM
SDBUDB==:27 ;FLAGS,,POINTERS TO UDB'S
SDBLN==:SDBUDB+MXSTRU ;LENGTH OF ONE SDB
RS SDBBL0,SDBLN ;STRUCTURE DATA BLOCK FOR PS
;STORAGE FOR RESIDENT FREE SPACE POOL
.RESP1==:0 ;HIGHEST PRIORITY, ALWAYS TRY TO ASSIGN SPACE
;NO PAGE FAULTS ALLOWED
.RESP2==:1 ;SECOND LEVEL, NO PAGE FAULTS ALLOWED
;BUT DONT ASSIGN SPACE IF BELOW RESMIN
.RESP3==:2 ;PROCESS CONTEXT. PAGE FAULTS ALLOWED.
;LOCK DOWN MORE SPACE IF NECESSARY
.RESGP==:0 ;GENERAL RESIDENT FREE SPACE POOL
.RESTP==:1 ;TERMINAL POOL
.RESNP==:2 ;NETWORK POOL
.RESLP==:3 ;LOGICAL LINK POOL
.RSTMP==:4 ; TIMER pool
RESQTL==:5 ;NUMBER OF POOLS OF RESIDENT FREE SPACE
.RESGQ==:12000 ;GENERAL QUOTA - USED BY PHYSIO FOR UDBS
; CDBS, KDBS, AND FOR SDBS.
; APPROXIMATELY 8 CHANNELS, 64 DRIVES,
; AND 16 ONLINE STRUCTURES
.RESTQ==:40*ACTLNS ;TERMINAL QUOTA - USED BY TTYSRV
.RESEQ==:1000 ;ERROR QUOTA - USED BY ALCSEB (SYSERR)
.RESNQ==:^D<50*2*30> ;NETWORK QUOTA - MESSAGE SIZE * ( # OF
; INPUT MESSAGES + # OF OUTPUT MESSAGES)
; * # OF ACTIVE LINKS
.RESLQ==:^D<14*25> ;QUOTA FOR LOGICAL LINKS
.RSTMQ==:^D20*NJOBS ; For TIMER 5 per job, 4 words each
RESFRM==:400/4 ;BLOCKS GUARANTEED FOR .RESP1 REQUESTS
RESFRA==:RESFRM*3 ;AVERAGE AMOUNT OF FREE SPACE LOCKED DOWN
RESFRB==:RESFRA+^D25 ;SMALL INCREMENT OVER RESFRA FOR
; JOB 0 COMPLETION
RS RESMIN,1 ;MINIMUM LEVEL FOR ALL BUT LEVEL 1 REQUESTS
RS RESAVE,1 ;AVERAGE AMOUNT OF FREE SPACE LOCKED
RS UPRSAV,1 ;LIMIT FOR JOB 0 ACTIVITY
RS RESFRE,1 ;COUNT OF FREE BLOCKS LEFT
RS RESFFB,1 ;FIRST FREE 4 WORD BLOCK
RS RESIFL,1 ;INITIALIZATION FLAG = -1 DURING STARTUP
NRESFP==:2*<.RESGQ+.RESTQ+.RESNQ+.RESLQ+.RSTMQ>/3000
;# OF PAGES IS 2/3 OF SUM OF QUOTAS
NRESFP==:12 ;TEMPORARY VALUE
NRESFB==:NRESFP*PGSIZ/4 ;NUMBER OF RESIDENT FREE 4 WORD BLOCKS
NRP RESFRP,<NRESFP*PGSIZ> ;RESERVE SPACE FOR RESIDENT FREE POOL
RESBTL==:<NRESFP*PGSIZ/4+^D35>/^D36 ;LENGTH OF BIT TABLE
RS RESBTB,RESBTL ;RESIDENT FREE SPACE BIT TABLE
RS RESBAS,1 ;BASE ADDRESS OF THE RESIDENT FREE POOL
RS RESUTB,RESQTL ;RESIDENT FREE SPACE USAGE TABLE
INTERN NDEV,DVXTT0
; Initial device tables used to initialize the working device tables
;CHARACTERISTICS DEFINITIONS AND MODE DEFINITIONS
DSCHR==DV%OUT!DV%IN!DV%DIR!DV%MDD
STRCHR==DV%OUT!DV%IN!DV%DIR!DV%MDD
DSCH1==0
STRCH1==0
DSMOD==DV%M0!DV%M1!DV%M2!DV%M3!DV%M4!DV%M5!DV%M6!DV%M7!DV%M10!DV%M11!DV%M12!DV%M13!DV%M14!DV%M15!DV%M16!DV%M17
MTCHR==DV%OUT!DV%IN!DV%AS
MTCH1==0
MTMOD==DV%M0!DV%M17
DTCHR==DV%MDV!DV%OUT!DV%IN!DV%DIR!DV%AS
DTCH1==0
DTMOD==DV%M0!DV%M17
IFG FEN,<
FECHR==DV%IN!DV%OUT!DV%AS
FECHR1==0
FEMOD==DV%M0>
PRCHR==DV%IN!DV%AS
PRCH1==0
PRMOD==DV%M0!DV%M1!DV%M10!DV%M13!DV%M14
PPCHR==DV%OUT
PPPCHR==DV%OUT!DV%AS
PPCH1==D1%SPL
PPPCH1==0
PPMOD==DV%M0!DV%M1!DV%M10!DV%M13!DV%M14
VBCHR==DV%OUT!DV%IN!DV%AS
VBCH1==0
VBMOD==DV%M0!DV%M17
IFG CDRN,<
CDRCHR==DV%IN!DV%AS
CDRCH1==0
CDRMOD==DV%M0!DV%M10
>
LPCHR==DV%OUT
PLPCHR==DV%OUT!DV%AS
LPCH1==D1%SPL
PLPCH1==0
LPMOD==DV%M0
CRCHR==DV%IN
CRCH1==D1%SPL
CRMOD==DV%M0
CPCHR==DV%OUT ;SPOOLED CARD PUNCH
CPCH1==D1%SPL
CPMOD==DV%M0+DV%M10
CPCHR==DV%OUT ;SPOOLED CARD PUNCH
CPCH1==D1%SPL
CPMOD==DV%M0+DV%M10
TTYCHR==DV%OUT!DV%IN!DV%AS
TTYCH1==0
TTYMOD==DV%M0!DV%M10
PTYCHR==DV%OUT!DV%IN!DV%AS
PTYCH1==0
PTYMOD==DV%M0
NULCHR==DV%OUT!DV%IN
NULCH1==0
NULMOD==DV%M0!DV%M1!DV%M2!DV%M3!DV%M4!DV%M5!DV%M6!DV%M7!DV%M10!DV%M11!DV%M12!DV%M13!DV%M14!DV%M15!DV%M16!DV%M17
NETCHR==DV%OUT!DV%IN!DV%DIR
NETCH1==0
NETMOD==DV%M0!DV%M5!DV%M6!DV%M7
PLCHR==DV%OUT
PPLCHR==DV%OUT!DV%AS
PLCH1==D1%SPL
PPLCH1==0
PLMOD==DV%M0
DLXCHR==DV%IN!DV%OUT!DV%AS
DLXCH1==0
DLXMOD==DV%M0
DCNCHR==DV%IN!DV%OUT
DCNCH1==0
DCNMOD==DV%M0
DEFINE DV (NAME,UNITS,TYPE,DISP,CHAR1,CHAR2,MODES)<
SIXBIT /NAME/
XWD NDEV,DISP
EXP CHAR1!<TYPE>B17!MODES
EXP CHAR2+UNITS
IFE UNITS,<NDEV==:NDEV+1>
NDEV==:NDEV+UNITS>
DVTSTP==:4 ;STEP SIZE FOR INIDVT TABLE
;DEVICE INITIALIZATION TABLE (LOADED IN SWAPPABLE CODE SEGMENT)
NDEV==:0
INIDVT:: DV(DSK,0,0,DSKDTB,DSCHR,DSCH1,DSMOD) ;DSK ALWAYS EXISTS
DVXST0==:NDEV
DV(STR,STRN,0,DSKDTB,STRCHR,STRCH1,DSMOD)
DVXSTN==:NDEV
IFG MTAN,<
DV(MTA,MTAN,2,MTADTB,MTCHR,MTCH1,MTMOD) ;MAGTAPE
DV(MT,MTAN,77,MTDTB,MTCHR,MTCH1,MTMOD) ;MT (FOR USER)
>
IFG DTAN,< DV(DTA,DTAN,3,DTADTB,DTCHR,DTCH1,DTMOD)> ;DECTAPE
IFG PTRN,< DV(PTR,PTRN,4,PTRDTB,PRCHR,PRCH1,PRMOD)> ;PTR
IFG SPTPN,< DV(PTP,0,5,SPLDTB,PPCHR,PPCH1,PPMOD) ;SPOOLED PTP
DV(PTP,SPTPN,5,SPLDTB,PPCHR,PPCH1,PPMOD)> ;SPOOLED PTP UNITS
IFG PTPN,< DV(PPTP,PTPN,5,PTPDTB,PPPCHR,PPPCH1,PPMOD)> ;PTP
IFG VBCN,< DV(VBC,0,6,VBCDTB,VBCHR,VBCH1,VBMOD)> ;VB10 DISPLAY
DV(LPT,0,7,SPLDTB,LPCHR,LPCH1,LPMOD) ;SPOOL LPT ALWAYS EXISTS
IFG LPTN,< DV(LPT,LPTN,7,SPLDTB,LPCHR,LPCH1,LPMOD)> ;SPOOLED LPT UNITS
DVXLP0==:NDEV
IFG LPTN,<
DV(PLPT,LPTN,7,LPTDTB,PLPCHR,PLPCH1,LPMOD)> ;PHYSICAL LPT
DV(CDR,0,10,SPLDTB,CRCHR,CRCH1,CRMOD) ;SPOOLED CDR
IFG CDRN,<DVXCD0==:NDEV
DV(PCDR,CDRN,10,CDRDTB,CDRCHR,CDRCH1,CDRMOD)> ;PCDR
IFG CDPN,< DV(CDP,0,21,SPLDTB,CPCHR,CPCH1,CPMOD)> ;SPOOLED CDP
IFG FEN,< DV(FE,FEN,11,FEDTB,FECHR,FECHR1,FEMOD) ;THE FE DEVICES
>
DVXTT0==:NDEV ;SAVE DEV TABLE INDEX OF FIRST TTY
DV(TTY,NLINES,12,TTYDTB,TTYCHR,TTYCH1,TTYMOD) ;TTYS ALWAYS EXIST
IFG NTTPTY,< DV(PTY,NTTPTY,13,PTYDTB,PTYCHR,PTYCH1,PTYMOD)> ;PSEUDO TTY
DV(NUL,0,15,NILDTB,NULCHR,NULCH1,NULMOD) ;THE NULL DEVICE
IFG NETN,< DV(NET,0,16,NETDTB,NETCHR,NETCH1,NETMOD)>
IFG SPLTN,< DV(PLT,0,17,SPLDTB,PLCHR,PLCH1,PLMOD) ;SPOOLED PLOTTER
DV(PLT,SPLTN,17,SPLDTB,PLCHR,PLCH1,PLMOD)> ;SPOOLED PLT UNITS
IFG PLTN,< DV(PPLT,PLTN,17,PLTDTB,PPLCHR,PPLCH1,PLMOD)> ;PLOTTER
IFG DLXN,< DV(DLX,DLXN,20,DLXDTB,DLXCHR,DLXCH1,DLXMOD)> ;DL10
IFG DCN,< DV(DCN,0,22,DCNDTB,DCNCHR,DCNCH1,DCNMOD)
DV(SRV,0,23,SRVDTB,DCNCHR,DCNCH1,DCNMOD)>
BLOCK 2*DVTSTP ;LEAVE ROOM TO PATCH 2 DEVICES
NINIDV==:.-INIDVT
NDEV=NDEV+2 ;LEAVE ROOM TO PATCH 2 DEVICES
RS(DEVLCK) ; Lock for assigning devices
NR(DEVNAM,NDEV) ; Sixbit device name
NR(DEVCHR,NDEV) ; Device characteristics
NR(DEVCH1,NDEV) ;DEV CHAR WORD # 2
NR(DEVCH2,NDEV) ; DIR NUMBER OF SPOOL DIRECTORY
NR(DEVDSP,NDEV) ; Lh = ofn if any, rh = dispatch table address
RS(DEVUNT,NDEV) ; Lh = job of assigner, rh = unit number
;PARAMETERS AND STORAGE FOR ACCOUNT VALIDATION
NR ACTOFN,1 ;OFN FOR <SYSTEM>ACCOUNTS-TABLE.BIN
NR ACTPGN,1 ;FILE PG # MAPPED INTO ACCOUNT WINDOW PAGE
NR ACTLCK,1 ;LOCK FOR HASH TABLE AND ACCOUNT WINDOW PAGE
NR AVALON,1 ;ACCOUNT VALIDATION RUNNING IF NONZERO
NRP(HSHPG,PGSIZ) ;HASH TABLE PAGE
NRP(ACTPG,PGSIZ) ;ACCOUNT WINDOW PAGE
HASHLN==:PGSIZ-1 ;# OF HASH VALUES FOR ACCOUNT VALIDATION
;PARAMETERS AND DATA STORAGE FOR IPCF,ENA, AND NETWORK STRINGS
ENQBKS==:6 ;ENQ/DEQ BLOCK SIZE (OPTIMUM)
HSHLEN==:3*NJOBS ;LENGTH OF ENQ/DEQ HASH TABLE
ENFREL==:HSHLEN*ENQBKS ;FREE SPACE FOR ENQ/DEQ
PDFKTL==:<NFKS+^D35>/^D36 ;LENGTH OF FORK BIT TABLE
PIDHDS==:4 ;LENGTH OF PID HEADER
MESHDS==:6+MAXLW+1 ;LENGTH OF MESSAGE HEADER
PAGMSZ==:MESHDS+3 ;LENGTH OF PAGE MESSAGE
MAXMSL==:^D30 ;MAXIMUM LENGTH OF A NON-PAGE MESSAGE
MINPHL==:4 ;MINIMUM SIZE OF PID DESCRIPTOR BLOCK
SWOPTL==:MESHDS+^D12 ;OPTIMAL LENGTH OF FREE STORAGE BLOCK
PIDSSQ==:^D20 ;STANDARD SEND QUOTA
PIDSRQ==:^D20 ;STANDARD RECEIVE QUOTA
PIDSPQ==:2 ;STANDARD PID QUOTA PER JOB
IPCCFL==:<.IPCCC>B32 ;FLAGS USED WHEN SENDING AN IPCC
; REQUEST TO INFO
PIDTBS==:NJOBS ;SET UP AN AVERAGE OF 2 PIDS PER JOB
MAXPID==:PIDTBS*2 ;HIGHEST POSSIBLE PIDTBL INDEX
PDFREL==:MAXPID*<PIDHDS+SWOPTL> ;FREE SPACE SIZE (1 MESS/PID)
SRVSPC==^D32
DCNSPC==^D15
MAXBLK==:SRVSPC*^D25+DCNSPC*^D15 ;STRING SPACE FOR NETWORK CONNECTIONS
ENQMXF==:ENFREL+PDFREL*3/4 ;MAXIMUM ENQ FREE SPACE UTILIZATION
SWFREL==:PDFREL+MAXBLK+ENFREL ;IPCF STORAGE + ENQ/DEQ STORAGE+NET STRINGS
MAXPIT==:<SWFREL+PAGMSZ-1>/PAGMSZ ;MAXIMUM NUMBER OF PAGES IN TRANSIT
PIDPBL==:<MAXPIT+^D35>/^D36 ;LENGTH OF PIT BIT TABLE
PIDFTL==:<MAXPIT+^D511>/^D512 ;LENGTH OF PIT OFN TABLE
NR(PIDTBL,PIDTBS) ;PID TABLE HAS HALFWORD PER PID
; THE HALF WORD POINTS TO THE HEADER
; OF THE PID IF IT EXISTS
SPDTBL==:5 ;LENGTH OF SYSTEM PID TABLE SET BY USERS
NR(SPIDTB,SPDTBL) ;TABLE OF COMMONLY USED PIDS
NR(PIDLOK,1) ;LOCK ON PID FREE POOL AND DATA STRUCT.
NR(NXTPID,1) ;NEXT UNIQUE # TO BE USED AS LH OF PID
NR(INFOPD,1) ;PID OF SYSTEM INFO
NR(INFOPV,1) ;PUBLIC VALUE OF SYSTEM INFO PID
NR(PIDLST,1) ;NUMBER OF FIRST FREE PID, 0 IF NONE
NR(PIDMXP,1) ;HIGHEST PAGE IN PAGES-IN-TRANSIT FILE
NR(PIDPBT,PIDPBL) ;BIT TABLE OF PAGES-IN-TRANSIT FILE
NR(PIDFTB,PIDFTL) ;TABLE OF PTN'S OF FORKS FOR PAGES IN TRANSIT
NR(SWPFRE,7) ;FREE SPACE HEADER BLOCK
NR(SWFREE,SWFREL) ;FREE STORAGE SPACE FOR MESSAGES
;AND HEADERS
NR(PIDCNT,NJOBS) ;TABLE OF QUOTAS AND COUNTS FOR IPCF
RS(PDFKTB,PDFKTL) ;ONE BIT PER FORK, WAKE UP TABLE
;LOCAL STORAGE FOR ENQ/DEQ
ENFKTL==:<NFKS+^D35>/^D36 ;LENGTH OF FORK BIT TABLE
NR(HSHTBL,HSHLEN) ;HASH TABLE FOR ENQ LOCKS
NR(ENQLOK,1) ;DATA BASE LOCK FOR ENQ AND DEQ
NR(ENQSPC,1) ;COUNT OF FREE SPACE AVAILABLE FOR ENQ'S
NR(ENQLTL,1) ;LIST OF LONG TERM LOCKS
NR(ENQLTS,1) ;TIME OF NEXT GARBAGE COLLECT
RS(ENFKTB,ENFKTL) ;WAKE UP TABLE - ONE BIT PER FORK
;LOCAL STORAGE FOR DIRECTORY LOCK ENQ/DEQ
LCKDBN==:<NFKS+^D35>/^D36 ;LENGTH OF FORK BIT TABLE
RS LCKDBT,LCKDBN ;FORK BIT TABLE, ONE BIT PER FORK
; Local storage for TIMER
RS (TIMLCK,1) ; Lock on TIMER Q's
RS (TIMMLQ,1) ; Elapsed time clock Q head
RS (TIMDTQ,1) ; Date & time clock Q head
RS (TMNSS,1) ; # times scheduler has scanned Q's
RS (TMMUSE,1) ; # milliseconds use by scheduler
;LOCAL STORAGE FOR PTY
RS PTYSTS,NTTPTY ;STATUS BITS
;STORAGE FOR CRJOB JSYS
NR (CRJAC1,1) ;CALLER'S AC1 FLAG BITS
NR (CRJACT,11) ;ACCOUNT FOR NEW JOB LOGIN (STRING)
RS (CRJANS,1) ;ANSWER CELL FROM SCHED OR EXEC0
RS (CRJCAM,1) ;CAP MASK TO APPLY AT LOGIN TIME
RS (CRJCPU,1) ;CPU TIME LIMIT
NR (CRJEVO,1) ;ENTRY VECTOR OFFSET FOR NEW JOB
NR (CRJEXF,1) ;EXEC FLAGS FOR NEW JOB
NR (CRJFAC,20) ;FORK'S AC'S FOR NEW JOB
NR (CRJFIL,40) ;FILE NAME TO RUN IN NEW JOB
RS (CRJJNO,1) ;JOB NUMBER, SET AT SCHED LEVEL
RS (CRJLCK,1) ;LOCK ON ALL THIS DATA, SCHED TESTED
NR (CRJOJC,1) ;OWNING JOB'S CAPABILITIES
NR (CRJONJ,1) ;OWNING JOB'S JOB NUMBER
NR (CRJPJF,1) ;PRIMARY JFNS FOR NEW JOB
NR (CRJPSW,10) ;LOGIN PASSWORD FOR NEW JOB
RS (CRJSLO,1) ;PID TO SIGNAL ON LOGOUT
NR (CRJTTY,1) ;REQUESTED TTY FOR NEW JOB
NR (CRJUSR,10) ;NAME STRING TO LOG NEW JOB IN AS
NR (JOBONT,NJOBS) ;OWNER OF THIS JOB IN RH, ELSE -1
; ALSO, B1 MEANS JOB WANTS TO LOG OUT
;SM10 DEPENDENT DATA
; UNIBUS ADAPTER SAVE AREAS
IFN SMFLG,<
RS (SMADNX,4) ;NXT FREE NPR MAP FOR UBA
RS (SMUAMR,1) ;VALUE TO USE FOR SM10 UNIBUS ADAPTER MAINT REG
RS (SMUASR,1) ;VALUE TO USE FOR SM10 UNIBUS ADAPTER STATUS REG
> ;END IFN SMFLG
IFG DTAN,<
; Private storage for dectapes
DTNBUF==3*DTAN+2 ;Number of buffers is one for read
;One for write, one for directory, and
;2 more for double buffering 1st files
DTNBUF==:<DTNBUF+3>/4*4 ;Round to next higher page boundary
NDBMSK==:-1_<^D36-3*DTAN> ;Mask for unavailble 2nd buffers
RS(DTALCK,DTAN) ;Lock word
RS(DTASTS,DTAN) ;Lh -- status bits (see below)
;Rh -- directory location (0 if none)
RS(DTIBF1,DTAN) ;Bit 0 -- buffer busy
;Bit 1 -- error in this buffer
;Bits 2-11 -- next input block number
;Bits 13-17 -- input file number
;Rh -- location of input buffer 1
RS(DTIBF2,DTAN) ;Bit 0 -- buffer busy
;Bit 1 -- error in this buffer
;Bits 2-11 -- current block number
;Bit 12 -- if doing a nop spacing (rew etc)
;Bit 13 -- if unloading
;BIT 14 -- WRITE LOCK CHECK REQUESTED
;BIT 15 -- WRITE OK (NOT LOCKED OUT) AT LAST CHECK
;BIT 16 -- ACCESS OK (SELECTED) AT LAST CHECK
;BIT 17 -- LAST MOUNT REQUESTED NO DIR READ
;Rh -- location of input buffer 2 (0 if none)
RS(DTOBF1,DTAN) ;Bit 0 -- buffer busy
;Bit 1 -- error in this buffer
;Bits 2-11 -- next output block number
;Bit 12 -- last buffer
;Bits 13-17 -- output file number
;Rh -- location of output buffer 1
RS(DTOBF2,DTAN) ;Bit 0 -- buffer busy
;Bit 1 -- error in this buffer
;Bits 2-11 -- first block number of output file
;Bit 12 -- last buffer
;Rh -- location of output buffer 2 (0 if none)
RS(DTAPTR,DTAN) ;Temp pointer to directory entry
RS(DTAIOW,DTAN) ;Iowd during dead reckoning
RS(DTARKN,DTAN) ;Bit 0 -- dead reckoning for a write
;Bit 1 -- going backward
;Bits 8-17 -- block number
;Rh -- chain to next dead reckoning unit (-1 if end)
RS(DTARCE,DTAN) ;Total error count
NRP(DTABUF,DTNBUF*200) ;Dectape buffers
> ;END IFG DTAN
IFG DLXN,<
DLMASK==:100 ;SIZE OF PDP-10 MEMORY BLOCK IN PDP-11
DLNPIS==:20 ;SIZE OF PI LEVEL STACK
DLIMIN==:20 ;MINIMUM SIZE OF INPUT BUFFER
DLNOB==:2 ;NUMBER OF OUTPUT BUFFERS
DLNIB==:2 ;NUMBER OF INPUT BUFFERS
;SIZE OF EACH OUTPUT BUFFER
DLOBFL==:<DLOBFP*PGSIZ/<<DLXN+3>/4*4*DLNOB>>
DEFINE DLSTOR (X,Y)<
X==:DLPC+DLBASE
IFB <Y>,<DLPC==DLPC+1>
IFNB <Y>,<DLPC==DLPC+Y>>
DLPC==0 ;DEFINE AREAS USED BY PDP-11'S
DLSTOR(DLINTW) ;INTERRUPT VECTOR WORD
DLSTOR(DLUNIT) ;UNIT NUMBER OF THIS PDP-11
DLSTOR(DLOC11) ;COUNT OF OUTPUT BYTES FOR TO 11 TRANS
DLSTOR(DLOP11) ;POINTER TO OUTPUT BUF FOR TO 11 TRANS
DLSTOR(DLIC11) ;COUNT OF BYTES IN INPUT BUF FOR TO 10
DLSTOR(DLIP11) ;POINTER TO INPUT BUF FOR TO 10 TRANS
DLPC==DLXN*DLMASK ;NOW DEFINE LOCAL STORAGE
DLSTOR(DLUBAS,0) ;START OF PER 11 LOCAL STORAGE AREA
DLSTOR(DLXSTS,DLXN) ;STATUS WORD
DLSTOR(DLXPNT,DLXN) ;LH=INITIAL BYTE POINTER, RH = S-FIELD
DLSTOR(DLXOCT,DLXN) ;COUNT OF BYTES IN A FULL OUTPUT BUF
DLSTOR(DLXICT,DLXN) ;COUNT OF BYTES IN A FULL INPUT BUF
DLSTOR(DLXBPW,DLXN) ;BYTES PER WORD
DLSTOR(DLOCNT,DLXN) ;# OF BYTES LEFT TO FILL OUTPUT BUFFER
DLSTOR(DLOPNT,DLXN) ;POINTER TO 10 OUTPUT BUFFER
DLSTOR(DLICNT,DLXN) ;# OF BYTES LEFT TO EMPTY BUFFER
DLSTOR(DLIPNT,DLXN) ;POINTER TO 10 INPUT BUFFER
DLSTOR(DLOBCT,DLXN) ;# OF FULL OUTPUT BUFFERS
DLSTOR(DLIBCT,DLXN) ;# OF FULL INPUT BUFFERS
DLSTOR(DLON11,DLXN) ;NEXT OUTPUT BUF TO BE GIVEN TO 11
DLSTOR(DLIN11,DLXN) ;NEXT INPUT BUF TO GIVE TO 11 TO FILL
DLSTOR(DLON10,DLXN) ;NEXT OUTPUT BUF TO BE FILLED BY 10
DLSTOR(DLIN10,DLXN) ;NEXT INPUT BUF TO BE GIVEN TO 10 USER
DLSTOR(DLOBFC,<DLNOB*DLXN>) ;# OF BYTES IN EACH OUTPUT BUFFER
DLSTOR(DLIBFC,<DLNIB*DLXN>) ;# OF BYTES IN EACH INPUT BUFFER
DLSTOR(DLXIMP,<<DLXN+3>/4*20>) ;4 WORD BLOCKS USED BY XPCW ON INTERRUPTS
DLSTOR(DLAC,5) ;PLACE TO STORE ACS DURING AN INTERRUPT
DLSTOR(DLACP,1) ;PLACE TO STORE P DURING INTERRUPTS
DLSTOR(DLPISK,DLNPIS) ;INTERRUPT LEVEL STACK
DLIBUF==:DLPC+DLBASE ;END OF LOCAL STORAGE
DLIBFL==:<PGSIZ*DLIBFP-DLPC>/<DLNIB*DLXN> ;REST OF PAGE IS FOR INPUT BUFFERS
IFL DLIBFL-DLIMIN,<PRINTX NOT ENOUGH ROOM FOR INPUT BUFFERS!>
> ;END OF IFG DLXN
;STORAGE FOR DECNET
IFG DCN,< ;ONLY IF PRESENT
NDG DCOPNM,4 ;MAX LINKS PER JOB FOR NO PRIVILEGES
RS LLLLCK,1 ;LL TREE LOCK
MAXEXP==:7 ;EXP FOR MAXIMUM LL ADDRESS
MAXLNK==:1_<MAXEXP>-1 ;GENERATE LARGEST LL ADDRESS
RS LLHEAD,1 ;HEAD OF LL TREE
OBJMAX==:377 ;MAX # OF OBJECTS
DECOBJ==:177 ;MAX OBJECT # RESERVED TO DEC
NR OBJTBL,OBJMAX+1 ;GENERATE LOOK UP TABLE
NR LASTSK,1 ;WORD FOR GENERATING RANDOM TASK NAMES
LLBIT==:<MAXLNK+1+43>/44 ;WORDS IN LL ADDRESS BIT TABLE
NR LLBITS,LLBIT ;BIT TABLE FOR AVAILABLE LINK INDEXES
NR BLKASG,1 ;AMOUNT OF SWAPPABLE STRING SPACE NOW ASSIGNED
NR OURNUM,1 ;LOCAL NODE NUMBER
NDG NODNUM,100 ;DEFAULT LOCAL NODE NUMBER
NR OURNAM,2 ;SPACE TO HOLD LOCAL NODE NAME
NR OURCNT,1 ;COUNT OF CHARS IN "OURNAM"
RS RMSGQ,1 ;EXPENDED MESSAGE QUEUE
RS MSGQ,1 ;MESSAGE QUEUE
RS SMSGQ,1 ;SCHEDULER'S MESSAGE Q
NR NSPLPB,1 ;RH IS LOOPBACK PORT NUMBER
NR MCBDTE,DCN ;THE DTE # OF THE MCB FRONT END
NR NSPMAX,DCN ;MAX SEG SIZE OF INTERCEPT NODE
NR ITSNUM,DCN ;MCB'S NODE NUMBER
NR ITSNAM,<DCN*2> ;MCB'S NODE NAME
NR ITSID,<DCN*^D9> ;MCB'S SYSVER STRING
NR NAKCNT,DCN ;COUNT OF NAK'ED SEGS
MCPRON==:.VNMCB ;MCB PROTOCOL IF DCN ASSEMBLED IN
> ;END OF IFG DCN CONDITIONAL
IFE DCN,<MCPRON==:0> ;IF NO DCN, NO MCB PROTOCOL
;STORAGE FOR KMC11'S
IFLE KDPN,< ;ONLY IF NOT PRESENT
KDPINI==:R
KDPTSK==:R
IFN SMFLG,<
.BOOT:: MCENT
JRST UJSYS0
>
>
IFN DCN,<
RS KDPFLG,1 ;SET NONZERO WHEN NEED KDPTSK
>
IFG KDPN,< ;ONLY IF PRESENT
KMCQLN==:4+2*4*KDPN ;LENGTH OF KMC11 INPUT QUEUE
RS KMCINQ,KMCQLN ;QUEUE OF INPUT FOR KMC11
; 1ST WORD IS PUTTER, 2ND WORD IS TAKER
; REST IS 2 WORD ENTRIES
RS KMCACS,20 ;INTERRUPT SAVE ACS
RS KMCIPL,50 ;INTERRUPT PDL FOR KMC
RS KDPLIM,1 ;LH IS NEGATIVE NUMBER OF KDP'S ON SYSTEM
; RH IS 0
RS KDPNLN,1 ;POSITIVE NUMBER OF KDP'S ON SYSTEM
RS KDPPAG,KDPN ;UBA ADR OF PAGE,,OUR ADR OF PAGE
RS KDPXPC,10 ;XPCW BLOCK FOR KMC11 INTERRUPTS
>
;STORAGE FOR DTE'S
IFG DTEN,< ;DTE STORAGE
RS UPFLAG,1 ;WORD TO GENERATE CONTINUED MESSAGE
NRP DTERBT,1000 ;PAGE TO DO -11 REBOOTS
EXTN <SVDTAC,INTDTE> ;NECESSARY EXTERNALS
RS LOAD11,1 ;IF AN -11 NEEDS TO BE LOADED
RS LODFRK,1 ;HANDLE OF MONITOR FORK DOING RELOADING
NQPKT==:^D20 ;NUMBER OF QUEUE PACKETS
QPKT==:5 ;SIZE OF A PACKET
RS(DTEDTE,1) ;CELL TO REMEMBER INTERRUPTING
; DTE
RS (CTYUNT,1) ;FE PHYSICAL UNIT FOR TS TTY
RS (DTEQS,DTEN) ;SET UP DRIVER QUEUE HEADERS
QPKT1==QPKT*NQPKT
RS(COMQ,QPKT1) ;SET UP PACKETS
RS(COMH,1) ;THE QUEUE HEADER
RS(DTESTS,DTEN) ;DTE STATUS WORD
RS(DTEST1,DTEN) ;SECONDARY STATUS WORD
BUFSIZ==:^D33 ;TRANSFER BUFFER SIZE
BYTBUF==:BUFSIZ*4 ;BYTES PER BUFFER
RS(DTBFWD,DTEN) ;THE HEADER WORD FOR THE BUFFERS
DTESZ==:60 ;SIZE OF INTERRUPT STACK
RS(DTETRA,2) ;WORD FOR INTERRUPT RETURN
RS(DTESKP,DTESZ) ;THE LOCAL STACK
RS(DTEACB,20) ;BLOCK TO SAVE REGISTERS
RS(DTEIND,DTEN) ;STORAGE FOR INDIRECT FUNCTIONS
PKTSIZ==:3 ;THE QUEUE PACKETS
PKTSZ1==PKTSIZ*DTEN
RS(PKTADR,PKTSZ1) ;ONE PER DTE
COMSIZ==:COMDAT+COMRGN ;SIZE OF THE "BASIC" COMM REGION
CMSZ==:COMSIZ*<DTEN+1>+COMRGN*DTEN
RS(COMBUF,DTEN+1) ;SIZE OF "VECTOR" FOR THE COMM REGION
RS(COMBAS,CMSZ) ;ALLOCATE COMMUNICATIONS REGION
RS ENDRGN,0 ;END OF COMM REGION
IEXSIZ==:CMSZ-<DTEN+1> ;INITIAL EXAMINE SIZE
RS(TAD11,3) ;TIME FROM -11 CELL
RS(TO11TM,3) ;PACKET TO SEND TIME TO THE -11
KLISIZ==^D10 ;WORDS FOR KLINIK DATA BASE
KLIMAX==:<KLISIZ-1>*4 ;MAX NUMBER OF BYTES IN KLINIK DATABASE
RS (KLIDTA,KLISIZ) ;KLINIK DATABASE
DEFINE DTEPRO (UNIT)< ;MACRO TO GENERATE DTE INTERRUPT VECTOR
DTEN'UNIT:BLOCK 3
.+1
JSR SVDTRJ ;;SAVE REGISTERS
MOVEI A,UNIT
DMOVE B,DTEN'UNIT ;;GET INTERRUPT PC
DMOVEM B,DTETRA ;;TO COMMON TRAP CELL
CONI DTE'UNIT,F ;;GET DTE STATUS
JRST INTDTE ;;GO DO COMMON STUFF
>
DEFINE DTEINN (UNIT)< ;;TO GENERATE INTERRUPT VECTOR
XPCW DTEN'UNIT ;;THE XPCW
>
> ;END IFG DTEN
IFN DTFLG,<
;FIXED CORE ADDRESSES IN EPT FOR DTE PROTOCOL
DTEFLG==:KIEPT+444 ;OPERATION COMPLETE FLAG
DTECKF==:KIEPT+445 ;CLOCK INTERRUPT FLAG
DTECKI==:KIEPT+446 ;CLOCK INTERRUPT INSTRUCTION
DTET11==:KIEPT+447 ;TO 11 ARGUMENT
DTEF11==:KIEPT+450 ;FROM 11 ARGUMENT
DTECMD==:KIEPT+451 ;COMMAND WORD
DTESEQ==:KIEPT+452 ;DTE20 OPERATION SEQUENCE NUMBER
DTEOPR==:KIEPT+453 ;OPERATION IN PROGRESS FLAG
DTECHR==:KIEPT+454 ;LAST TYPED CHARACTER
DTETMD==:KIEPT+455 ;MONITOR TTY OUTPUT COMPLETE FLAG
DTEMTI==:KIEPT+456 ;MONITOR TTY INPUT FLAG
DTESWR==:KIEPT+457 ;CONSOLE SWITCH REGISTER
SDTE==:3 ;SHIFT VALUE FOR EPT DTE SET
> ;END IFN DTFLG
IFN SMFLG,<
; EPT RESERVED LOCATIONS
SMTEPT==:KIEPT+100 ;POINTERS TO SM10 VECTOR TABLE
>
MSECTB=:KIEPT+540 ;MONITOR SECTION TABLE
;CELLS IN EXEC PROCESS TABLE (EPT)
EPTMHI=:KIEPT+200 ;MAP FOR HIGH EXEC (400-777)
EPTTPI=:KIEPT+420 ;TRAP INSTRUCTIONS
EPTMLO=:KIEPT+600 ;MAP FOR LOW EXEC (0-337)
KIEMP==:KIEPT ;BASE FOR MONITOR PAGES 400-777
;ADD RESIDENT STORAGE FOR TAPE SCEDULER TEST
;DTESRV STORAGE
NR BTLOCK ;LOCK ON BOOT PAGE (DTERBT)
RS SNGPK1,6
RS SNGPK2,6
;LINEPRINTER STORAGE
NDG NLPBF,400 ;DEFAULT BUFFER SIZE
RS(LPTTYP,LPTN) ;TYPE OF LPT VECTOR FOR DEVICE INDEPENDENCE
RS(LPTSTS,LPTN) ; Status word
RS(LPTST1,LPTN) ;SECOND STATUS WORD
RS(LPTST2,LPTN) ;THIRD STATUS WORD
RS(LPTST3,LPTN) ;YES
RS(LPTERR,LPTN) ; LAST ERROR WORD
RS(LPTCNT,LPTN) ; Buffer counter
NRP(LPTBUF,LPTN*2*NLPBF) ;2 BUFFERS
RS LPTCLS,LPTN ;LPTCHK CLOCK SWITCH
RS LPTCCW,LPTN ;BLKI/O PTR
RS LPTICT,LPTN ;INTERRUPT BYTE COUNT
RS LPTCKT,LPTN ;INTERVAL FOR LPTTIM
RS(LPTLCK,LPTN) ; Lock on opening lpt
RS (PGDATA,LPTN) ;PAGE COUNTER PLACED HERE TO SEND IT TO -11
NR (LPTOFN,LPTN) ;VFU,,RAM OFN'S TO PREVENT OPENS FOR WRITE
LPFLSZ==:^D28 ;NUMBER OF WORDS IN FILENAME BUFFERS
NR (VFUFIL,LPFLSZ*LPTN) ;ALLOCATE SWAPPABLE STORAGE FOR VFU FILE NAMES
NR (RAMFIL,LPFLSZ*LPTN) ;ALLOCATE SWAPPABLE STORAGE FOR RAM FILE NAMES
IFN SMFLG,<
IFG <LPTN-1>,<PRINTX %%ILLEGAL NUMBER OF LINEPRINTERS DEFINED FOR KS10>
RS L11A,LPTN ;HOLDS FAKE -11 ADDRESS OF BUFFER
RS LPWINA,LPTN ;ADDRESS OF UNIBUS WINDOW
RS LPACS,20 ;AC'S DURING LPT INTERRUPT
LPSLEN==:50 ;LENGTH OF LPT INTERRUPT STACK
RS LPSTAK,LPSLEN ;PDL DURING LPT INTERRUPT
RS LPXJEN,1 ;XJEN INSTRUCTION FOR DISMISSING LPT INTERRUPT
RS LPXPTB,LPTN*4 ;LP INTERRUPT INSTRUCTION IS XPCW
; TO 4-WORD BLOCK IN THIS TABLE
LPERSZ==:6 ;NUMBER OF WORDS PER ERROR BLOCK
RS LPERBF,LPERSZ*LPTN ;ERROR BLOCK CONTAINING ERROR INFORMATION
;FOR SYSERR.
> ;END IFN SMFLG
IFG FEN,< ;PRIVATE STORAGE FOR FE DEVICES
RS FEUDB0,FEN
RS FEUDB1,FEN
RS FEUDB5,FEN
RS FEUDB6,FEN
RS FEUDB7,FEN
RS FEUDB3,FEN
RS FEUDB4,FEN
RS FELOCK,1
> ;END OF FE STORAGE DEFINITIONS
;PHYSICAL CARD READER STORAGE
IFG CDRN,<
CDRSIZ==:^D40 ;SIZE OF A CARD IMAGE
CDRLEN==:2*CDRSIZ ;SPACE IN CDRBUF FOR 1 CDR
RS CDRCT1,CDRN ;BUFFER COUNT
RS CDRCKT,CDRN ;WORD FOR SCHEDULER TEST
RS CDRSTS,CDRN ;THE STATUS WORD
RS CDRST1,CDRN ;THE SECOND STATUS WORD
RS CDRST2,CDRN ;THIRD STATUS WORD
RS CARDCT,CDRN ;COUNT OF CARDS READ
RS CARDER,CDRN ;NUMBER OF "HARDWARE" ERRORS
RS CDRLCK,1 ;THE CDR LOCK WORD
RS CDRCNT,1 ;COUNT OF CDR'S OPENED
NRP CDRBUF,1000 ;THE BUFFER PAGE
IFN SMFLG,< ;KS PARAMETERS
RS CDUBAD,CDRN ;ADDRESS OF UBA WINDOW
RS CD11A,CDRN ;ADDRESS OF UBA-11 ADDRESS
RS CDERBF,CDRN*20 ;ERROR STATUS FOR CARDREADER
RS CDUNIT,CDRN ;UNIT NUMBER OF CARDREADER
>
>
IFG MTAN,<
;Private storage for magtapes
RS(MTALCK,MTAN) ;Lock word
RS(MTASTS,MTAN) ;Status of unit
NR(MTANR1,MTAN) ;NON-RESIDENT STORAGE FOR MAGTAPE
NR(MTANR2,MTAN)
NR(MTANR3,MTAN)
NR(MTANR4,MTAN)
NR(MTANR5,MTAN)
NR(MTANR6,MTAN)
RS(MTARS1,MTAN) ;RESIDENT STORAGE FOR MAGTAPE
RS(MTINDX,1) ;NUMBER OF REAL MTA'S ON SYSTEM, SET UP BY PHYM2
; AND/OR PHYX2
RS(MTCUTB,MTAN) ;CDB ,, UDB TABLE
MTBUFN==:2 ;NUMBER OF BUFFERS/IORB'S
MAXPPB==:20 ;MAXIMUM PAGES PER BUFFER
IRBLEN==:6 ;LENGTH OF AN IORB (ALSO IN PHYPAR)
MTIRSD==:IRBLEN ;START OF DEVICE SPECIFIC AREA
;SEE MAGTAP FOR DEFSTR'S OF THIS AREA
MTIRTL==:MTIRSD+2 ;START OF TRANSFER LIST
MTIRBL==:MTIRTL+MAXPPB+1 ;TOTAL LENGTH OF MAGTAPE IORB
MTABFL==MTAN*MTBUFN*MTIRBL
MTPBFL==MTBUFN*MAXPPB*MTAN
RS(MTAPBF,MTPBFL) ;SPACE FOR BUFFER PAGE POINTERS
RS(MTIRBF,MTABFL) ;SPACE FOR IORB'S
RS(MTIOWD,MTAN) ;Iowd for next transfer
RS(MTBIOW,MTAN) ;BACKUP IOWD (FOR NEXT XFER)
RS(MTAOLS,MTAN) ;LENGTH OF LAST XFER,,
RS(MTARCE,MTAN) ;Total error count
RS(REWCNT) ;Number of rewinding units
RS(MTERAS) ;Rewrite erase counter
RS(MTPNTR) ;Iowd during transfer
RS(MTAUNT) ;Unit currently attached to controller
RS(MTERRC) ;Retry counter
RS(MTERFL) ;State of retry
RS(MTACOM) ;Cono word of current operation
RS(MTDINR) ;Return address from data interrupt
RS(MTACLS) ;Clock routine switch, 0 for no clock wanted
;PRIVATE STORAGE FOR MT (DUMMY TAPES)
RS (TLABBP,2*MTAN) ;PNTR TO LOCKED BUFFER PAGE
RS (TLABR0,MTAN) ;RESIDENT STORAGE FOR LABEL INFO
NR (TLABL0,MTAN) ;NON-RESIDENT STORAGE FOR TAPE
NR (TLABL1,MTAN) ; LABEL INFORMATION
NR (TLABL2,MTAN)
NR (TLABL3,MTAN)
NR (TLABL4,MTAN)
NR (TLABL5,MTAN)
NR (TLABL6,MTAN)
NR (TLABL7,MTAN)
NR (TLABL8,MTAN)
NR (TLABL9,MTAN)
NRP (TLABBF) ;BUFFERS FOR LABEL I/O
IFG <^D20*MTAN-1000>,<PRINTX *** LABEL BUFFER OVERFLOW>
> ;END IFG MTAN
RS(MTAJB0,1) ;JOB 0 FLAG FOR MTA UNIT CAME ON LINE
IFG PLTN,<
;PLOTTER STORAGE
PLTBFZ==:401 ; Size of plt buffer
RS(PLTBF1,PLTBFZ*PLTN) ; First buffer
RS(PLTBF2,PLTBFZ*PLTN) ; Second buffer
RS(PLTSTS,PLTN) ; Status word
RS(PLTLCK,PLTN) ; Plt open lock
RS(PLTCNT,PLTN) ; Count of full buffers
RS(PLTITC,PLTN) ; Count of items remaining in current buffer
RS(PLTFDC,PLTN) ; SPECIAL FUNCTION TO BE DONE
RS(PLTPTR,PLTN) ; Byte bointer for emptying current buffer
RS(PLTPWR,PLTN) ;PLOTTER HAS REMOTE POWER INDICATE
> ;END OF IFG PLTN
IFG PTPN,<
PTPBFZ==:41 ; Size of ptp buffer
RS(PTPBF1,PTPBFZ) ; First buffer
RS(PTPBF2,PTPBFZ) ; Second buffer
RS(PTPSTS) ; Status word
RS(PTPLCK) ; Ptp open lock
RS(PTPCNT) ; Count of full buffers
RS(PTPITC) ; Count of items remaining in current buffer
RS(PTPFDC) ; Count of lines of feed left to punch
RS(PTPPTR) ; Byte bointer for emptying current buffer
RS(PTPSIO) ; Saved ios during interrupt
> ;END IFG PTPN
IFG PTRN,<
PTRBFZ==:41 ; Size of ptr buffers
RS(PTRBF1,PTRBFZ) ; First buffer
RS(PTRBF2,PTRBFZ) ; Second buffer
RS(PTRSTS) ; Status word
RS(PTRLCK) ; Ptr open lock
RS(PTRCNT) ; Count of full buffers
RS(PTRITC) ; Count of room left in filling buffer
RS(PTRCHC) ; Count of items inserted in buffer
RS(PTRPTR) ; Byte pointer for filling buffers
RS(PTRSIO) ; Saved ios during int
> ;END IFG PTRN
IFG VBCN,<
RS(PENLOC,4) ;X,Y COORDINATE OF LAST PEN HIT
PENADR==:PENLOC+1 ;PROGRAM ADDRESS OF WHERE HIT OCCURED
ERRLOC==:PENLOC+2 ;X,Y COORDINATE OF FIRST ERROR SEEN
ERRADR==:PENLOC+3 ;ADDRESS OF WHERE ERROR OCCURED
RS(DISREL) ;8 BIT BOUNDRY OF FIRST LOCKED PAGE
RS(DISPRT) ;# OF 1K PIECES OF CORE LOCKED
RS(DISBEG) ;LH=PROTECTION AND RELOCATION FOR DISPLAY
;RH=STARTING ADDRESS OF DISPLAY PROGRAM
RS(VBCIOS) ;STATUS WORD
> ;END IFG VBCN
IFG NETN,<
;SIZES OF NETWORK TABLES.
NSQ==:10 ;NUMBER OF SPECIAL IMP QUEUES TO HANDLE
NHSTAD==:400 ;NUMBER OF POSSIBLE HOST ADDRESSES IN LEADER
;(OLD FORMAT LEADER - THIS WILL CHANGE.)
IMP8XS==:40 ;SIZE OF IRREG MESSAGE BUFFER
IMPLBT==:<NHSTAD+^D35>/^D36 ;BIT TABLE LENGTH, 1 BIT PER HOST
NIMSTK==:20 ;SIZE OF PI LEVEL STACK
IMPNLK==:^D200 ;SIZE OF LINK TABLES
NSKT==:200 ;MAX NUMBER OF SOCKETS DEFINED AT ONCE
NHOSTS==:400 ;LENGTH OF HOSTN TABLE
NHSTN==:700 ;LENGTH OF HOST NAME TABLE (TEXT)
;STORAGE
;FIRST IMPGTN ARE A GETAB TABLE - DON'T SEPARATE
RS IMPRDY,1 ;0=DOWN, .GTR. 0 =GOING DOWN, -1=UP
RS NETON,1 ;0=NETWORK OFF
RS NETENT,1 ;FLAGS TO DRIVE NETSER. E.G., DON'T ALLOW LOGIN
RS NCPUPT,1 ;GTAD OF LAST TIME NCP CYCLED UP.
RS IGDMSG,1 ;MOST RECENT IMP-GOING-DOWN MSG
RS IMPDNT,1 ;TIME OF LAST IMP READY LINE DROP
RS IMPUPT,1 ;TIME OF LAST IMP READY LINE UP
RS IGDTIM,1 ;TIME OF ABOVE IMP-GOING-DOWN MSG
IMPGTN==:8 ;LENGTH OF THIS GETAB TABLE
;END OF GETAB GROUP
RS IMPORD,1 ;OUTPUT READY. NON-ZERO PERMITS OUTGOING MSGS
RS IMPRDL,1 ;READY LINE NOTICED OFF
RS IMPRDT,1 ;TODCLK WHEN READY LINE FIRST WENT OFF
RS IMPFLG,1 ;SERVICE NEEDED BY ASYNC PROCESS
RS NCPFRK,1 ;FORKX OF NCP FORK
RS TTNOF,1 ;SCAN OF NET TTY LINES REQUESTED IF NON-0
RS IMPNOS,1 ;OUTPUT SCAN REQUEST FLAG
RS IDVLCK,1 ;LOCAL LOCK
RS IDVLLK,1 ;LAST IDVLCK LOCKER
RS IMPOJB,1 ;OLD JOBBIT OF CURRENT IDVLCK LOCKER
RS IMPDRQ,1 ;RESET CYCLE REQUESTED IN NON-0
RS NETTCH,1 ;STATE OF NET HAS CHANGED IF NON-0
RS IMPFRI,1 ;LIST OF FREE INPUT BUFFERS
RS IMPNFI,1 ;COUNT OF FREE INPUT BUFFERS
RS IMPNIB,1 ;NUMBER OF INPUT BUFFERS TO KEEP ON TAP
RS SIQIBI,NSQ ;SPECIAL QUEUE
RS SIQIBO,NSQ
RS SIQTIM,NSQ ;TIME OF FIRST MESSAGE ON SPECIAL QUEUE
RS SIQSPC,NSQ ;SPACE OCCUPIED BY SPECIAL INPUT Q
RS SQJOB,NSQ ;JOB TO WHICH SPECIAL Q IS ASSIGNED
RS SQVAL,NSQ ;VALUE TO COMPARE AGAINST FOR MUX SPECIAL Q
RS SQMSK,NSQ ;MASK TO USE IN COMPARE
RS SQLCK,1 ;INTERLOCK FOR ASSIGNING SPECIAL Q
RS IMPIBI,1 ;IN BUFFERS IN PTR
RS IMPIBO,1 ;IN BUFFERS OUT PTR
RS IMPOBI,1 ;OUTPUT BUFFERS IN POINTER
RS IMPOBO,1 ;OUTPUT BUFFERS OUT POINTER
RS IMPHBI,1 ;HI PRIORITY OUTPUT BUFFERS IN POINTER
RS IMPHBO,1 ;HI PRIORITY OUTPUT BUFFERS OUT POINTER
RS IMIB,1 ;CURRENT IN BFR, PI LEVEL
RS IMPOB,1 ;BUFFER NOW BEING EMPTIED BY PI ROUTINE
RS IMPINP,1 ;BLKI POINTER ON INPUT
RS IMPOUP,1 ;BLKO POINTER
RS IMINFB,1 ;BUFFERS MADE FREE BY PI ROUTINES
RS ANIVI1,4 ;TWO WORDS FOR INPUT INTERRUPT XPCW
IMIDSP=:ANIVI1+3 ;INPUT DISPATCH ADDRESS
RS ANOVI1,4 ;AND TWO FOR OUTPUT
IMODSP=:ANOVI1+3 ;OUTPUT DISPATCH ADDRESS
RS IMOIRD,1 ;TEMP FOR IRREG MSG OUTPUT DATA
RS IMPIOV,1 ;FLAG FOR INPUT BUFFER OVERFLOW
RS IMPNCL,1 ;NUMBER OF CONTROL INPUT CONNS
RS IMPNOL,1 ;NUMBER OF CONTROL OUTPUT CONNS
RS LNKNDL,1 ;NUMBER OF DELETES IN LINK TABLE
RS IMIS32,1 ;INPUT REPACKING STATE WORD
RS IMOS32,1 ;OUTPUT REPACKING STATE WORD
RS IMPTIM,1 ;TIME OF NEXT CLOCK RUN DOWN
RS IBPTIM,1 ;TIME OF NEXT IMPIBP RUN
RS NETTIM,1 ;TIME OF NEXT CHECK OF FSM FOR HANGS
RS RFNTIM,1 ;TIME OF NEXT CHECK FOR LOST RFNM'S
RS NEGTIM,1 ;NEGOTIATION TIME-OUT CLOCK
RS ITMSTM ;TIME TO FLUSH ALL TTMSG'S TO NVT'S
RS IMPCHU,1 ;0 IF CURRENT CONTROL MESS HOST NOT UP
RS IMPCHO,1 ;HOST NUMBER OF CONTROL MSG, MUST PRECEDE I8CAL
RS I8CAL,5 ;ARGS OF CONTROL OPERATION, MUST FOLLOW IMPCHO
RS IMPFLS,1 ;COUNT (NEG) OF MESSAGES TO FLUSH
RS NOPCNT,1 ;COUNT OF NOPS LEFT TO SEND
RS IMPGDM,1 ;LAST IMP GOING DOWN MSG
RS HSTGDM,1 ;CURRENT HOST GOING DOWN MESSAGE
RS IMPCCH,1 ;INDEX TO HOST NUMBER FOR PERIODIC CHECK
RS IMP8XI,1 ;IRREG MES BUFFER IN PTR
RS IMP8XO,1 ;.. .. OUT
RS IMP8XC,1 ;.. .. COUNT
RS IMP8XB,IMP8XS ;IRREG MES BUFFER
RS IMPHRT,IMPLBT ;HOST READY BITS
RS HSTSTS,<NHOSTS/2> ;DEAD HOST STATUS TABLE (18 BITS PER HOST)
RS IMPHCT,IMPLBT ;RECENT MESSAGE SENT
IFDEF POLLF,<RS IMPHL1,IMPLBT> ;HOSTS WHICH HAVE GONE DOWN
IFDEF POLLF,<RS IMPHL2,IMPLBT> ;STATE OF HRT AT LAST LOG TTY REPORT
RS IMPBHT,IMPLBT ;'BAD' HOST TABLE
RS NWPBT,IMPLBT ;BIT TABLE OF HOSTS USING RAR/RAS ETC.
RS IMPIAC,5 ;PI LEVEL AC STORAGE
RS IMSTK,NIMSTK ;PI LEVEL STACK
RS IMINP,1
;TIME ACCUMULATORS
RS IMCCLK,1 ;RUN TIME OF LAST CHECK
RS IMCLST,1 ;POINTER TO CURRENT CLOCK
RS IMCIDL,1 ;TIME SPENT IDLING
RS IMCNRB,1 ;TIME SPENT RELEASING SPENT BUFFERS
RS IMCGC,1 ;TIME SPENT GARBAGE COLLECTING LINK TABLES
RS IMCGIB,1 ;TIME SPENT ASSIGNING INPUT BUFFERS
RS IMCCNP,1 ;TIME SPENT PROCESSING CONTROL MESSAGES
RS IMCP1,1 ;TIME SPENT DISPATCHING INPUT MESSAGES
RS IMC8XM,1 ;TIME SPENT PROCESSING IRREGULAR MESSAGES
RS IMCTS,1 ;TIME SPENT SCANNING FOR NVT OUTPUT
RS IMCNVI,1 ;TIME SPENT UNPACKING NVT INPUT
RS IMCOS,1 ;TIME SPENT SCANNING FOR OUTPUT TO DO
RS IMCNCK,1 ;TIME SPENT PROBING NETWORK
RS IMCRFN,1 ;TIME SPENT CHECKING OVERDUE RFNM'S
RS IMCNCC,1 ;TIME SPENT IN NCP CHECKS
RS IMNIDL,1 ;COUNT OF IDLING
RS IMNNRB,1 ;COUNT OF RELEASING SPENT BUFFERS
RS IMNGC,1 ;COUNT OF GARBAGE COLLECTING LINK TABLES
RS IMNGIB,1 ;COUNT OF ASSIGNING INPUT BUFFERS
RS IMNCNP,1 ;COUNT OF PROCESSING CONTROL MESSAGES
RS IMNP1,1 ;COUNT OF DISPATCHING INPUT MESSAGES
RS IMN8XM,1 ;COUNT OF PROCESSING IRREGULAR MESSAGES
RS IMNTS,1 ;COUNT OF SCANNING FOR NVT OUTPUT
RS IMNNVI,1 ;COUNT OF UNPACKING NVT INPUT
RS IMNOS,1 ;COUNT OF SCANNING FOR OUTPUT TO DO
RS IMNNCK,1 ;COUNT OF PROBING NETWORK
RS IMNRFN,1 ;COUNT OF CHECKING OVERDUE RFNM'S
RS IMNNCC,1 ;COUNT OF NCP CHECKS
;LINK TABLES
RS IMPLT1,IMPNLK ;LH -- UNIT (INDEX TO NCP TABLES)
; OR -1 IF CONTROL LINK
;B18-19/00 -- RECEIVE
; 10 -- SEND
; 11 -- FREE
; 01 -- DELETED
;B20-27 -- HOST
;B28-35 -- LINK
RS IMPLT2,IMPNLK ;B0-B5 -- FLAGS
;B5-9 -- UNUSED
;B10-17 -- BYTE SIZE
;RH -- IN BFR PTR
RS IMPLT3,IMPNLK ;LH -- OUT BFR PTR
;RH -- SAVE MESSAGE FOR RETRANSMISSION
RS IMPLT4,IMPNLK ;LH -- CURRENT BUFFER
;RH -- MSG ALLOCATION
;VARIABLES
DBGNBF==:4
RS(DBGFAC,1) ;FAILURE COUNTER
RS(DBGSP,1) ;STORE POINTER
RS(DBGRP,1) ;READ POINTER
RS(DBGNWD,1) ;NUMBER OF WORDS IN BUFFER
NR(DBGBUF,DBGNBF) ;DEBUG BUFFER
RS(LSKT,NSKT) ;LOCAL SOCKET NUMBER
RS(FSKT,NSKT) ;FOREIGN SOCKET NUMBER
RS(NETAWD,NSKT) ;B0-8 -- FOREIGN HOST NUMBER (777 FOR NONE)
;B9-17 -- LINK NUMBER (0 FOR NONE)
;B18-23 -- TIME-OUT COUNTDOWN
;B24-26 -- UNUSED
;B27-35 -- INDEX TO LINK TABLE
RS(NETBAL,NSKT) ;BITS OF ALLOCATION
RS(NETDAL,NSKT) ;DESIRED LEVEL OF BIT ALLOCATION
RS(NETBUF,NSKT) ;B0-17 -- BYTES PER BUFFER
;B18-35 -- BUFFER LOCATION -1 (0 FOR NONE)
RS(NETSTS,NSKT) ;B0-3 -- FSM STATE
;B4-11 -- FLAG BITS
;B12-17 -- BIT STREAM BYTE SIZE
;B18-35 -- MESSAGE COUNT STATISTICS
RS(NETFRK,NSKT) ;B0-B5 -- INTERRUPT CHANNEL FOR INS
;B6-B11 -- UNUSED
;B12-B17 -- FSM STATE CHANGE INTERRUPT CHANNEL
;B18-B35 -- FORKX OF FORK TO INTERRUPT
RS(NETBTC,NSKT) ;BIT COUNT STATISTICS
RS(NCPLCK) ;LOCK TO PREVENT DOFSM CONFUSION
RS(NCPLLK) ;FORKX OF LAST NCPLCK LOCKER
RS(NCPLCN) ;COUNT OF NCPLCK LOCKS
RS(NCPLFC) ;COUNT OF NCPLCK FAILURES
RS(ASNTBC) ;ASNTBF TRAFFIC COUNTER
RS(NETCNC) ;COUNT OF TOTAL CONECTIONS OPENED
RS(FUNNYC) ;COUNT OF FUNNY INPUTS TO FSM
NTBUFS==:1000 ;START OF NETWORK BUFFER SECTION TO USE
RS(NETFRE,5) ;NET BUFFER FREE LIST HEADER
;WD 0 IS BUFFER FREE LIST POINTER
;WD 1 BUFFER LOCK
;WD 2 TOTAL FREE BUFFER SPACE
;WD 3 START OF BUFFER AREA
;WD 4 END OF BUFFER AREA
RS(ASNTHR,1) ;THRESHOLD BELOW WHICH WE GET NERVOUS
; ABOUT BUFFER SPACE
NR(HOSTN,NHOSTS) ;TABLE OF HOST NUMBERS, POINTERS TO NAMES.
NR(HSTNAM,NHSTN) ;TEXT TABLE OF HOST NAMES
NR(MHOSTS,1) ;MINUS NUMBER OF HOSTS IN TABLE.
> ; END OF IFG NETN
;DUMMY ROUTINES FOR NON-ARPANET SYSTEMS
IFE NETN,<
CHKNVT:: ;IS TERMINAL AN NVT
NETKFK:: ;FORK KILLING TIME
NETLGO:: ;JOB LOGOUT TIME
IMPHLT:: ;SYSTEM SHUTDOWN TIME (HSYS4)
IMPBEG:: ;SYS STARTUP TIME, CREATE JOB 0 FORK
HSTINI:: ;SYS STARTUP AND SMON. INIT HOST TABLES
CHKNET:: ;WAIT FOR NET TO FINISH
NETINI::RET ;INITIALIZATION OF NCP FORK
NR (NETON) ;CELL USED BY SMON, RSO DEFINE IT.
NR (IMPDRQ) ;EVEN THOUGH NEVER USED BY SYSTEM
.ASNSQ::
.CVSKT::
.SNDIM::
.RELSQ::
.FLHST::
.CVHST::
.ATNVT::
.RCVIM::ITERR ILINS2 ;NETWORK ONLY JSYS'S
NTBFIX==:0 ;NEWORK PUFFER SECTION PAGE TABLE
IMPGTN==:0 ;NETWORK GETAB TABLES
IMPRDY==:0
IMPLBT==:0
IMPHRT==:0
HSTSTS==:0
NHSTN==:0
HSTNAM==:0
NHOSTS==:0
HOSTN==:0
NSKT==:0
LSKT==:0
FSKT==:0
NETAWD==:0
NETBAL==:0
NETSTS==:0
NETBUF==:0
NETBTC==:0
IMPNLK==:0
IMPLT1==:0
IMPLT2==:0
IMPLT3==:0
IMPLT4==:0
>;END OF IFE NETN
;STORAGE FOR RS04 SERVICE
IFG DRMN,<
IFG RS04F,<
NTRK==:^D8 ;NUMBER OF TRACKS ON RS04
DRMSEC==:^D64 ;NO. OF DRUM SECTORS
;SWAP ALLOCATOR PARAMETERS
SWPSEC==:DRMSEC ;USE DISK PARAMETERS
NDST=<<NDST+SWPSEC-1>/SWPSEC>*SWPSEC
SWPTRK==:NDST/SWPSEC ;..
SWPNUN==:1 ;..
IFN PHYIOF,<
NDRMEW==:1
RS DRMCFE,1
MAXDRM==:^D8 ;MAX NUMBER OF UNITS
;CAN BE GREATER THAN 8
RS DRMNUM,1 ;NUMBER OF DRUMS (COUNTED BY RS4INI)
RS DRMTAB,MAXDRM ;VIRTUAL TO PHYSICAL DRUM ADDRESSES
;CDB,,UDB
>;IFN PHYIOF
IFE PHYIOF,<
MAXDRM==:^D8 ;MAX NUMBER UNITS
NDRCCW==:10 ;NUMBER OF DRUM CCWS
DRMCCL==:50 ;TEMP UNTIL RH20 FIXED
NDRMEW==:5 ;NUMBER OF DRUM ERROR WORDS FOR GETAB
RS DRMCFE,5 ;DRM ERR BLOCK (NAME IS HISTORICAL) SEE DRMERP FOR DESCR
RS DRMEC,1 ;ERROR COUNT, THIS XFER
RS DRMERR,1 ;TOTAL NUMBER OF DRUM ERRORS
RS DRMNRE,1 ;DRM NON REC ERRS
RS DRMNRQ,1 ;NUMBER OF REQUESTS IN QUEUE OR IN PROGRESS
;PER CHANNEL DATA (WILL LIVE IN CCB EVENTUALLY)
RS RHPBAR,1 ;CURRENT BAR - ALSO USED AS ACTIVE FLG
RS RHPTCR,1 ;CURRENT TCR
RS RHPUCB,1 ;UCB CORRESPONDING TO ABOVE
RS RHPCCW,1 ;WILL POINT TO BEG OF PRI. CCW LIST
RS RHSBAR,1 ;SBAR
RS RHSTRC,1 ;STCR
RS RHSUCB,1 ;UCB FOR ABOVE
RS RHSCCW,1 ;WILL POINT TO BEG OF SEC CCW LIST
RS RHCNI,1 ;CONI ON LAST INTERRUPT
;PER UNIT DATA - UCB OFFSETS
RHURI==:0 ;READ Q INPUT PTR
RHURO==:RHURI+DRMSEC ;READ Q OUTPUT PTR
RHUWI==:RHURO+DRMSEC ;WRITE Q INPUT PTR
RHUWO==:RHUWI+DRMSEC ;WRITE Q OUTPUT PTR
RHUSEC==:RHUWO+DRMSEC ;NEXT AVAILABLE SECTOR ON UNIT
RHUERR==:RHUSEC+1 ;ERR REG,,TOTAL ERR COUNT
RHUNRE==:RHUERR+1 ;ERR REG,NON REC ERRS
RHUNRQ==:RHUNRE+1 ;NUMBER OF REQUESTS TO THIS UNIT
RHUUNI==:RHUNRQ+1 ;DRIVE NUMBER
RHUODT==:RHUUNI+1 ;TIME WHEN UNIT REQUEST IS OVERDUE
RHUSTS==:RHUODT+1 ;UNIT STATUS:
; B0 - OFFLINE
UCBLEN==:RHUSTS+1
RS UCBDAT,UCBLEN*MAXDRM ;STORAGE AREA FOR UCBS
RS RH0UTB,MAXDRM ;LH INDEX BY PHYS UNIT #, RH INDEX BY LOG UNIT #
RS DRMACS,5 ;AC0-4 DURING DRUM INTERRUPT
RS DRMACP,1 ;AC P DURING INTERRUPT
RS DRMP12,2 ;INTERRUPT ACS P1&P2
NDRMPD==:25 ;PDL SIZE FOR DRM PD LISTS
RS DRMPDL,NDRMPD ;PDL FOR DRUM INTERRUPT SERVICE
RS DRMSPP,1 ;SAVED P AT NON INT LEVEL
RS DRMPD1,NDRMPD ;PDL FOR NON PI LEVEL
RS RHXIOA ;IO ADDRESS OF MBC
RS RHXICO ;INITIAL CONO
RS RHXATN ;CONI ATTN BIT
RS RHXRAE ;REG ACCESS ERR IN CONI
RS RHXENB ;CONO ENABLE BITS NEEDED TO SEE ALL CONI BITS
RS RHXCRE ;MACHINE INSTR. NEEDED TO CLEAR RAE
RS RHXERR ;CONI ERROR BITS
RS RHXBAR ;LH OF BLOCK ADDR REG LOAD DATAO
RS RHXTCR ;LH OF TRANSFER CONTROL REG LOAD DATAO
RS RHXCIJ ;CHANNEL INITIAL JUMP
RS RHXCHL ;CHANNEL HALT
RS RHXCWC ;CHANNEL WORD COULD
RS RHXLIA ;DATAO TO LOAD INT VECOTR
>;END IFE PHYIOF
>;END IFG RS04F
> ;END IFG DRMN
;STORAGE FOR RC10 DRIVER
IFG DRMN,<IFG RC10F,<
NTRK==:^D90/2 ;NUMBER OF TRACKS PER DRIVE
DRMSEC==:^D15 ;NO. OF DRUM SECTORS
MAXDRM==:^D4 ;MAX NUMBER UNITS
;SWAP ALLOCATOR PARAMETERS
SWPSEC==:DRMSEC ;USE DRUM PARAMETERS
NDST=<<NDST+SWPSEC-1>/SWPSEC>*SWPSEC
NDST=<<NDST+SWPSEC-1>/SWPSEC>*SWPSEC
SWPTRK==:NTRK ;..
SWPNUN==:MAXDRM ;..
DRMPST==:^D60 ;NUMBER OF PHYSICAL SECTORS PER TRACK
DRMNWS==:^D64 ;NUMBER OF WORDS PER DRUM SECTOR
DRMNSP==:PGSIZ/DRMNWS ;NUMBER OF DRUM SECTORS PER PAGE
RS DRMRI,DRMSEC*MAXDRM ;DRUM READ QUEUE INPUT POINTER
RS DRMRO,DRMSEC*MAXDRM ;DRUM READ QUEUE OUTPUT POINTER
RS DRMWI,DRMSEC*MAXDRM ;DRUM WRITE QUEUE INPUT POINTER
RS DRMWO,DRMSEC*MAXDRM ;DRUM WRITE QUEUE OUTPUT POINTER
RS DRMCCL,2 ;COMMAND LIST FOR DF10
RS DRMEC,1 ;ERROR COUNT, THIS XFER
RS DRMACT,1 ;DRUM IS ACTIVE IF NON-0
RS DRMDAO,1 ;LAST DATAO TO DRUM
NDRMEW==:4 ;NUMBER OF DRUM ERROR WORDS FOR GETAB
RS DRMCFE,1 ;COUNT OF CFM ERRORS
RS DRMLER,3 ;LAST ERRONEOUS DRUM COMMAND AND ERROR BITS
>> ;END IFG DRMN & RC10F
;STORAGE FOR DUMMY DRUM DRIVER
IFE DRMN,<
DRMSEC==:0 ;NO SECTORS...
NTRK==:0 ;NO TRACKS...
MAXDRM==:0 ;NO UNITS...
SWPSEC==:^D95 ;USE DISK PARAMETERS
NDST=<<NDST+SWPSEC-1>/SWPSEC>*SWPSEC
SWPTRK==:NDST/SWPSEC ;..
SWPNUN==:1 ;..
NDRMEW==:1 ;NUMBER OF DRUM ERROR WORDS FOR GETAB
RS DRMCFE,1 ;COUNT OF ERRORS
IFN PHYIOF,<
RS DRMNUM,1 ;PHONEY NUMBER OF DRUMS (0)
RS DRMTAB,1
>;IFN PHYIOF
>;IFE DRMN
;STORAGE FOR SWAP ALLOCATOR -- MUST FOLLOW ALL DRUM DRIVER DECLARATIONS
NDG SWDST,NDST ;IF NOT ALREADY DEFINED, THIS IS DEFAULT
DRMMXB==:SWPNUN*SWPTRK ;MAX NUMBER OF BANDS POSSIBLE
DRMBSZ==:<SWPSEC+^D35>/^D36 ;NUMBER OF BIT WORDS PER TRACK
;PARAMETERS FOR SWAPPING STRUCTURE
RS NPDRMS,1 ;NUMBER OF PHYSICAL DRUMS, SET BY DRMIOI
RS MAXDRA,1 ;NUMBER OF PAGES OF PHYSICAL DRUMS
;FOLLOWING VARIABLES ARE FOR "LOGICAL" DRUM, I.E. SWAPPING SPACE
;RESERVED ON DISK
RS DRMBND,1 ;NUMBER OF DRUM TRACKS
RS MDRMBD,1 ;MINUS DRMBND
RS DRMTPG,1 ;TOTAL NUMBER OF PAGES ON DRUM
;STORAGE
RS DRMBBT,DRMMXB*DRMBSZ ;BIT TABLE - DRMMXB GROUPS OF DRMSEC BITS
RS DRMCNT,DRMMXB ;FREE PAGE COUNT FOR EACH TRACK
RS DRMBN0,1 ;TRACK NUMBER OF LAST ADDRESS ASSIGNED
RS DRMFRE,1 ;TOTAL FREE PAGE COUNT FOR DRUM
;STORAGE FOR SYSERR FACILITY
SEBBSZ==:1000 ;BUFFER SIZE
RS SEBBFR,SEBBSZ ;BUFFER - PI LEVEL TO JOB 0
RS SEBFRE,1 ;FREE PTR - BEG OF CONTIGUOUS BUFFER
RS SEBEFE,1 ;END OF CONTIGUOUS FREE BUFFER
RS SEBQIN,1 ;JOB 0 QUEUE - IN PTR
;SEBQOU IS IN A FIXED PLACE IN LOWER CORE
RS SEBFCT,1 ;FREE COUNT - CONTIG BUFFER SPACE
RS SEBRLQ,1 ;QUEUE OF RELEASED BLOCKS
RS SEBJFN,1 ;JFN FOR SYSERR.LOG FILE
RS SECHKF,1 ;FLAG TO WAKE JOB 0 SYSERR FORK
RS SEIETM,1 ;TIME AFTER WHICH FAILING SEBOFI TRIED AGAIN
;STORAGE COMMON TO ALL DRUM DRIVERS
RS DRMJ0R,1 ;JOB 0 INTERLOCK ON ERROR BLOCK
RS DST,NDST ;DRUM STATUS TABLE
;SWAPPER PAGES RESERVED IN PROCESSOR-PRIVATE AREA
DEFINE ASNPPG (P,N)<
.PSECT PPVAR
P'A:: BLOCK N*PGSIZ
P==:P'A_-PGSFT
.ENDPS PPVAR
...CNT==...CNT+N
>
...CNT==0
ASNPPG CSWPG,1 ;SWAPPER TEMP
ASNPPG FITPG,1 ;PRELOAD/POSTPG TEMP
ASNPPG PRLPG,1 ;PRELOAD/POSTPURGE TEMP
ASNPPG PIPG,1 ;FOR REAL-CORE REFS AT PI LEVEL
NRSPG==:...CNT
;STORAGE AND CODE BOUNDARIES
LALL ;****TEMP****
;JOB-COMMON AREA
DEFINE ASNJSB (P,N)<
P'A:: BLOCK N*PGSIZ
P=:P'A_-PGSFT
>
;JSB FREE PAGES
NDG NJSBPG,^D50 ;NUMBER OF FREE JSB PAGES
.PSECT JSVAR ;DECLARE ALL PAGES OWNED BY JSB
ASNJSB JSBPG,4 ;JSB IS FIRST PAGE IN JOB-COMMON AREA
; PLUS 3 PAGES FOR JFNS
ASNJSB JSJFN,0 ;END OF THE JFN STORAGE AREA
;JSB=:JSBPGA ;MORE COMMON NAME FOR THE START OF JSB
ASNJSB JTBPG,2 ;JSYS TRAP BLOCKS. FIRST WORD USED BY
; NEWJTB
JTBFRE=:JTBPGA ; Free JTB bit table (jffo)
JTBIFR==:777777,,770000 ; initial contents of JTBFRE
JTBOFF==:JTBPGA+1 ; address of 0th JTB
ASNJSB FREJP,NJSBPG ;JOB FREE STORAGE. MUST BE LAST
; DEFINITION IN JOB AREA
ASNJSB JSLST,0 ;END OF JSB REGION. MUST BE LAST ASNJSB
.ENDPS JSVAR ;END OF JSB OWNED PAGES
;PROCESS-PRIVATE AREA
DEFINE ASNPSB (P,N)<
P'A:: BLOCK N*PGSIZ
P=:P'A_-PGSFT
>
.PSECT PSVAR ;START OF PSB OWNED PAGES
ASNPSB PSSPS,0 ;START OF PSB SPECIAL PAGES,MUST BE FIRST
ASNPSB CXBPG,1 ;SWAPPER, MAP TEMP
ASNPSB CPTPG,1 ; ..
ASNPSB CPYPG,1 ; ..
ASNPSB PSSPE,0 ;END OF PSB SPECIAL PAGES
ASNPSB FPG0,1 ;FORK UTILITY PAGES
ASNPSB FPG1,1 ; ..
ASNPSB FPG2,1 ;FORK UTILITY PAGES
ASNPSB FPG3,1 ; ..
NPSIPG==:2 ;# OF PAGES FOR PI STORAGE
ASNPSB PSIPG,NPSIPG ;PSI IN PROGRESS STORAGE
NIDXPG==:^D16 ;NUMBER OF PAGES FOR THE INDEX
IFE EXADF,<ASNPSB IDXPG,NIDXPG> ;INDEX TABLE IS MAPPED HERE
IFN EXADF,<ASNPSB IDXPG,0>
DRSMDA==:30 ;MAX SIZE OF A DIR ON A MODEL A
IFE EXADF,<NDG DRMASZ,DRSMDA> ;NUMBER OF DIR PAGES
IFN EXADF,<NDG DRMASZ,0>
ASNPSB DIRPG,DRMASZ ;DIRECTORY WINDOW
ASNPSB DDTPG,1 ;MDDT PRIVATE SEGMENT
;FROM HERE TO THE END OF THE PSB ARE MAGIC PAGES. THEY NEED TO LIVE
;TOGETHER AT THE END.
ASNPSB UPTPG,1 ;USER SECTION 0 PAGE TABLE
ASNPSB HWPT,0 ;HARDWARE VARIABLES IN PSB
ASNPSB PSBPG,1 ;PROCESS CONTEXT VARIABLES
ASNPSB PSB1,1 ;PSB ADDITION (STACK AND WS), MUST BE LAST
PSBMSZ==:<<PSB1A-PSSPSA>_-PGSFT>+1 ;SIZE OF PSB (PAGES)
.ENDPS PSVAR ;END OF PSB OWNED PAGES
;MACROS FOR DECLARATION OF STORAGE
;PSB STORAGE
DEFINE TS(T,N)<
T=:PSBPGA+TSBLOC
IFB <N>,<
TSBLOC==TSBLOC+1>
IFNB <N>,<
TSBLOC==TSBLOC+N>
>
;PROCESS STORAGE BLOCK ASSIGNMENTS
.PSECT PSVAR
TSBLOC==0 ;INITIAL VALUES
ENDPSB==:777777 ;END OF VARIABLE STORAGE IN PSB
TS UACB,NUACB ;MONITOR-CALL AC STACK
TS EUACB,0 ;END
TS JOBNO,1 ;JOB NUMBER TO WHICH THIS FORK BELONGS
TS JOBBIT,1 ;SCHEDULER CONTROL BITS
TS FNPMAX,1 ;MAX NUMBER PAGES IN WS FOR THIS FORK
TS JOBCK0,1 ;VARIABLES FOR SCHEDULER TIME QUARANTEE
TS JOBCK1,1 ; ..
TS RUNT2,1 ;RUNTIME FRACTIONAL PARTS OF A MILLISECOND
NLFKS==:16 ;MAX NUMBER FORK HANDLES/PROCESS
TS FKTAB,NLFKS/2 ;LOCAL FORK HANDLE TO JOB HANDLE TABLE
TS FORKN,1 ;JOB FORK NUMBER OF TOP FORK,,THIS FORK
TS FKRT,1 ;FORK RUN TIME
TS PRARGP,1 ;POINTER TO PROCESS ARGUMENTS
TS MPP,1 ;MONITOR SAVED STACK POINTER AT LAST MENTR
TS(PRIMRY,1) ; Primary io indirection pointers
TS SLOWF,1 ;SLOW MON ROUTINE FLAG
TS INTDF,1 ;DEFER INTERRUPTS IF .GE. 0
TS INTDFF,1 ;SOS INTDF OR JSYS PSISV1
TS MJRSTF,1 ;JRSTF @FPC OR JRST PSISV0
TS ACBAS,1 ;CURRENT AC STACK POINTER
TS ITFFL,1 ;FLAGS ON INTERRUPT TO MEXEC ***MUST STAY WITH ITFPC
TS ITFPC,1 ;PC ON INTERRUPT TO MEXEC
TS TRPID,1 ;IDENT OF PT OR PAGE CAUSING TRAP
TS TRPPTR,1 ;STORAGE ADDRESS OR POINTER CAUSING TRAP
TS UAC,20 ;USER AC'S (FROM BLOCK 1)
TS PAC,20 ;PROCESS AC'S
TS PFL,1 ;PROCESS FLAGS ***MUST STAY WITH PPC
TS PPC,1 ;PROCESS PC
TS NSKED,1 ;NO-SCHEDULE WORD
TS RSKED,1 ;NO-SCHEDULE TRAP
NTSK==:62 ;SIZE OF PAGER TRAP STACK
TS TRAPSK,NTSK ;STACK USED DURING PAGER TRAPS
TS TRAPSW,1 ;TRAP STATUS WORD
TS TRAPAP,1 ;PAGE TRAP SAVED P
TS TRAPC,1 ;PAGER TRAP RECURSION COUNT
TS UTRPCT,1 ;COUNT OF PAGER TRAPS FOR THIS PROCESS
TS USWPCT,1 ;COUNT OF SWPINW CALLS FOR THIS PROCESS
TS PTTIM,1 ;TIME SPENT IN PAGER TRAPS
TS IFAV,1 ;INTER-FAULT AVERAGE, CONTINUOUSLY MAINTAINED
TS CAPT,1 ;WORKING SET WINDOW SIZE IN MS.
NWSPGS==:<PGSIZ/^D36>+1 ;NUMBER OF WORDS TO HOLD 512 BITS
TS WSPGS,NWSPGS ;WORKING SET PAGES BIT TABLE
XWSPGS=:-PSBPGA+FITPGA+WSPGS
NPIPDL==:34 ;SIZE OF PSI STACK
;*** NOTE, THIS VALUE SHOULD BE
;GREATER THAN THE VALUE NUFKS.
;HOW MUCH GREATER IS VARIABLE, BUT
;IT SHOULD BE AT LEAST 2 MORE.***
TS PIPDB,NPIPDL ;PSI ROUTINES STACK
TS PIAC,20 ;SAVED USER AC'S DURING BREAK START
TS PSICHA,NTERMI/6 ;CHANNEL ASSIGNED TO TERM CODE
TS PIMSK,1 ;PSI REQUEST WORD BEING PASSED TO PSI SERVICE
TS PSIBW,1 ;BREAK WAITING WORD
TS FORCTC,1 ;CHANNEL WHICH CAUSED FORCED FORK TERMINATION
TS PSICHM,1 ;CHANNEL ENABLED WORD
TS SUPCHN,1 ;CHANNELS RESERVED BY SUPERIOR
TS PSIBIP,1 ;BREAK IN PROGRESS WORD (LEVELS)
;LEAVE ROOM FOR HARDWARE STORAGE
IFN TSBLOC-420,<PRINTX ?PSB STORAGE NOT ALIGNED TO HDWR BOUNDARY>
;CELLS IN USER PROCESS TABLE (UPT)
UPTPPM=:HWPTA+400 ;PER-PROCESS MAP ORIGIN
NPPMPG==40 ;NUMBER OF ENTRIES (2/WORD) IN PP MAP
UPTTPI=:HWPTA+420 ;TRAP INSTRUCTIONS
UPTOVI=:HWPTA+421 ;OVERFLOW TRAP INSTRUCTION
KIMUFL=:HWPTA+424 ;MUUO FLAGS
KIMUPC=:HWPTA+425 ;MUUO PC
KIMUEF=:HWPTA+426 ;EFFECTIVE ADDRESS
KIMPCW=:HWPTA+427 ;PROCESS CONTEXT WORD
UPTPCW=:HWPTA+427 ;PROCESS CONTEXT WORD
UPTDSP=:HWPTA+430 ;DISPATCH VECTOR-UUO NEW PC WORDS
USECTB=:HWPTA+540 ;USER SECTION TABLE
UPTPFW=:HWPTA+500 ;PAGE FAIL WORD
TRAPS0==:UPTPFW ;PAGE FAIL WORD USED DIRECTLY
UPTPFL=:HWPTA+501 ;PAGE FAIL OLD FLAGS WORD
UPTPFO=:HWPTA+502 ;PAGE FAIL OLD PC WORD
UPTPFN=:HWPTA+503 ;PAGE FAIL NEW PC WORD
FFL==:KIMUFL ;MENTR-MRETN PC
FPC==:KIMUPC ;MENTR-MRETN PC
TRAPFL==:UPTPFL
TRAPPC==:UPTPFO
TSBLOC=600
TS ENSKR,4 ;SCHEDULER TEMP (RETURN)
TS ADRBRK,1 ;ADDRESS BREAK INFO
TS ADRBK1,1 ;ADDRESS OF INSTRUCTION CAUSING ADDR BREAK
TS MONBK,1 ;INTERRUPT TO MONITOR IF NON-0
TS PIFL,1 ;SAVED FLAGS MUST STAY WITH PIPC *****
TS PIPC,3 ;SAVED PC DURING INITIAL PI SERVICE
; CALLED WITH XPCW
TS IFTIM,1 ;TIME SINCE LAST PAGE FAULT
TS SKDFL,1 ;SCHEDULER TEMP (RETURN FLAGS)
TS SKDPC,1 ;SCHEDULER TEMP (RETURN) **MUST STAY WITH SKDFL
TS MONFL,1 ;TEMP MONITOR PC AND FLAGS
TS MONPC,1 ;MUST STAY TOGETHER ****
TS PSIPT,1 ;PSI STORAGE LIST POINTER
TS PIOLDS,1 ;FKSTAT PRIOR TO PSI IF WAS WAITING
TS LEVCHN,1 ;LEVEL TABLE,,CHANNEL TABLE ADDRESSES
TS PSISYS,1 ;NON-0 IF PSI SYSTEM OFF
TS MONCHN,1 ;CHANNELS RESERVED BY MONITOR
TS UTRSW,1 ;SAVED TRAPSW FOR USER
TS UMUUOW,2 ;SAVE MUUO WORD FOR USER
TS KIMUU1,2 ;LAST UUO WORD FROM USER
TS PGTIM,1 ;TIME SINCE AGE REG TICK
TS FKTOFF,1 ;TIME AT WHICH CPU CLOCK TURNED OFF
TS FKTLST,1 ;LOST TIME WHILE CLOCK TURNED OFF
; Variables in psb associated with DIRECTORIES
TS(DRLOC,1) ;LOCATION IN DIR DURING SEARCHES
TS(DRINP,1) ;POINTER TO INPUT NAME DURING LOOKUP
TS(DRINL,1) ;LENGTH OF INPUT STRING
TS(DRMSK,1) ;MASK OF 0 BITS IN LAST WORD OF STRING
TS(DRSCN,1) ;POINTER TO FDB LINK DURING LOOKUPS
TS(DROFN,1) ;RH = OFN OF LAST DIRECTORY MAPPED
;LH = LAST FDB CHECKED
TS(DRMAP,1) ;ADDRESS OF MAP PAGE WHEN SEC2
TS(IDXMAP,1) ;ADDRESS OF IDX TABLE PAGE MAP WHEN EXTENDED ADDRESSING
TS(STRINF,1) ;FILE STRUCTURE INFORMATION
TS ENTVEC,1 ;ENTRY VECTOR POINTER
TS PATADR,1 ;10/50 COMPATABILITY ENTRY VECTOR
TS PATU40,1 ;WHERE TO STORE C(40), SETUP AS UMOVEM 1,XX
TS PATUPC,1 ;WHERE TO STORE PC, SETUP AS UMOVEM 1,YY
TS DMSADR,1 ;DMS ENTRY VECTOR
TS DMSU40,1 ;WHERE TO STORE C(40) ON DMS CALL
TS DMSUPC,1 ;WHERE TO STORE PC OF DMS CALL
TS(CAPMSK,1)
TS(CAPENB,1)
TS(SNPPGS,1) ; PAGES LOCKED DOWN FOR SNOOPING
; XWD COUNT ,, PAGE # OF FIRST PAGE
TS(SNPLST,1) ; XWD FLAGS ,, LINK TO 1ST BP FOR FORK
TS(LSTERR,1) ; Last error number
NERRSV==:4 ; NUMBER OF ERROR PARAMETERS
TS(ERRSAV,NERRSV) ; Block of error parameters
TS(PSBMAP,PSBMSZ) ;MAP FOR PROCESS AREA
PSBM0=:PSBMAP-PSSPS ;BEG OF PSBMAP RELATIVE TO VIRT P G 0
PPLOW==:<PSBMAP-PSBPGA>+<PSSPEA-PSSPSA>/PGSIZ ;LOWEST NON-SPECIAL PAGE IN PP AREA
PPHI==:<PPLOW+<UPTPGA-PSSPEA>/PGSIZ>-1 ;HIGHEST NONSPECIAL PAGE
; STORAGE ASSOCIATED WITH JSYS TRAPS
TS JTBLK,1 ; FKJTB+forkn for this fork
TS JTLCK,1 ; Lock on jsys traps to monitor (this)
; fork; protects JTTRW and allows only
; one jsys trap interrupt at a time to
; this monitor
TS JTTRW,1 ; Jsys Trap Trap Word
; (set by interrupting fork)
; Contains trapping instruction
TS JTTFK,1 ; Forkn of trapping fork
TS JTMNW,1 ; Jsys Traps Monitor fork Word
; B12-B17: monitor's PSI channel,
; 77 means don't PSI this montior
; RH: forkn of mon interrupted (PSI'd)
TS PNSKDC,1 ;NOSKED'S DONE BY DIAG AND OTHER
; RESOURCE MONGERS
TS ARTHTR,1 ;USER-SPECIFIED ARITH TRAP INST
NUPDL==:300 ;SIZE OF MONITOR CALL STACK
UPDL=:PSBPGA+2*PGSIZ-NUPDL ;PUT UPDL AT TOP OF STACK PAGE
IFL <2*PGSIZ-NUPDL>-TSBLOC,<PRINTX ?PSB VARIABLES AND STACK CONFLICT>
.ENDPS PSVAR
;JOB STORAGE BLOCK ASSIGNMENTS
;JSB STORAGE
DEFINE JS(T,N)<
T=:JSBPGA+JSBLOC
IFB <N>,<
JSBLOC==JSBLOC+1>
IFNB <N>,<
JSBLOC==JSBLOC+N>
>
.PSECT JSVAR
JSBLOC==0 ;INITIAL VALUES
ENDJSB==:JSBPGA+1000 ;END OF VARIABLE STORAGE IN JSB
JS(JOBMAP,<<JSLSTA-JSBPGA>/PGSIZ>) ;OBJECT MAP FOR JOB-COMMON AREA
JOBM0=:JOBMAP-JSBPG ;BEG OF JOBMAP RELATIVE TO VIR PG 0
NUFKS==:30 ;MAX NUMBER FORKS/JOB
JS SYSFK,NUFKS ;JOB FORK INDEX TO SYSTEM FORK INDEX
JS FKCTTY,NUFKS-<NUFKS/2> ; 1/2 word per fork
JS FKJTB,NUFKS ; Address of Jsys Trap Block
JS FKPTRS,NUFKS ;FORK POINTERS (STRUCTURE)
JS FKPSIE,NUFKS ;TERM INTERRUPT ENABLED WORD
JS FKDPSI,NUFKS ;DEFERRED TERM INTERRUPTS MASK
JS FREJFK,1 ;FREE JOB FORK SLOT LIST
JS FKLOCK,1 ;LOCK FOR FORK STRUCTURE MODIFICATION
JS LSTLGN,1 ; Last login D&T
JS CTRLTT,1 ;LINE NUMBER OF CONTROLLING TTY
JS TTSPSI,1 ;CODE ENABLED ANYWHERE IN THIS JOB
JS TTSDPS,1 ;TERM INT CODE DEFERRED
JS TTJTIW,1 ;TERMINAL INTERRUPT ENABLE MASK
JS (CONSTO,1) ;CONSOLE TIME ON (TODCLK UNITS)
JS (CTIMON,1) ;CONNECT TIME ON (GTAD UNITS)
JS (CONCON,1) ;CONSOLE CONNECT TIME (FOR USAGE)
JS (JBRUNT,1) ;JOB RUN TIME (FOR USAGE)
JS (JBNODE,1) ; NODE NAME (SIXBIT)
JS (JBBNAM,1) ; BATCH JOB NAME (SIXBIT)
JS (JBBSEQ,1) ; BATCH SEQUENCE NUMBER
JS (ACCTSL,1) ;LENGTH OF ACCTSR
JS (ACCTSR,MAXLW) ;ACCOUNT STRING
JS (ACCTSX,1) ;EXPIRATION DATE OF ACCTSR
JS (CSHACT,MAXLW) ;MOST RECENTLY VALIDATED ACCOUNT
JS (CSHACX,1) ;CSHACT EXPIRATION DATE
JS (JSSRM,MAXLW+1) ;SESSION REMARK
JS (USRNAM,MAXLW+1) ;USER NAME STRING
JS(JFNLCK) ; Lock to prevent tampering with jfn's
JS(MAXJFN)
JS(ENQLST) ; LH - QUOTAS AND COUNTS
; RH - POINTER TO Q-BLOCKS FOR THIS JOB
JS(TIMALC) ; TIMER clocks limit
JS(LNTABP) ; POINTER TO LOGICAL NAME TABLE
JS(LNMLCK) ; LOCK FOR LOGICAL NAME DATA BASE
JS(JOBUNT) ; CONNECTED DSK UNIT
JS JBCLCK,1 ; LOCK FOR ASGPAG
JS(JBCOR,4) ; Page allocation bit table
JS(JSBFRE,7) ; Job area free storage header
JS(JSFREE,IJSFRE) ; Free storage area in job block
;STRUCTURE TABLES, 3 WORDS PER STRUCTURE. DATA INCLUDES STRUCTURE NUMBER
JSSTMX==:3 ;NO ENTRIES PER STRUCTURE
JS JSSTRT,JSSTMX*STRN ;3 WORDS PER STRUCTURE
JSSTRF==:0 ;OFFSET FOR (FLAGS,,STRUCTURE UNIQUE CODE)
JSGRPS==:1 ;OFFSET FOR (AOBJN POINTER TO LIST OF GROUPS)
JSADIR==:2 ;OFFSET FOR (UNUSED,,ACCESSED DIRECTORY NUMBER)
JS JSSTLK,1 ;LOCK ON THE JSSTRT BLOCK
JS(JSBSDN) ; CONNECTED STRUCTURE UNIQUE CODE,,DIRECTORY #
JS(JSBCDS) ;POINTER TO CONNECTED DIR NAME STRING
JS(MODES) ; DDBMOD WORD FROM LOGIN
JS(GROUPS) ; GROUPS TO WHICH LOGIN USER BELONGS
JS RSCNPT,1 ;RESCAN POINTER
JS RSCNBP,1 ;POINTER TO RSCAN BUFFER
RSCMXC==:777 ;MAX SIZE OF RSCAN BUFFER
JS JBINFO,1 ;PID OF PRIVATE [SYSTEM]INFO FOR JOB
JS JSCDR,1 ;SPOOLED CDR INFORMATION
;LH = NEXT VERSION NUMBER - 1
;RH = ADDRESS OF SPOOL SET STRING
JS JSMTA1,1 ;DEFAULT DENSITY, MODE, AND RECORD SIZE
; FOR MAGTAPES BEING USED BY THIS JOB
JS JBFLAG,1 ;LH = FLAGS SENT TO SPOOLER ON CLOSE
; OF SPOOLED FILE AND LOGOUT
;RH = GENERAL JOB WIDE FLAGS (SEE PROLOG)
;RH = GENERAL JOB WIDE FLAGS (SEE PROLOG)
JS JSLOPD,1 ;PID TO GET LOGOUT MESSAGE, FROM CRJOB.
JS JSLOJB,1 ;JOB NUMBER OF WHO DID LGOUT TO ME
JS JSFSTK,1 ;STACK OF THINGS TO BE DONE ON
; FORK CLEAN UP
JS JSFLCK,1 ;THE LOCK FOR THE JSFSTK STRUCTURE
JS CRJFLG,1 ;FLAG THAT THIS IS A CRJOB STARTUP.
; USED BY MEXEC AND LOGIN
JS DCNCNT,1 ;NETWORK LINK QUOTA,,COUNT
;JFN BLOCK - EACH JFN USES BLOCK OF N WORDS, JFNS CAN GROW
;BEYOND END OF JSB INTO SUCCESSIVE PAGES.
; *** THIS MUST BE LAST STORAGE DEFINED IN JSB ***
;NAMES DEFINED WITH 0 OVERLAY THE NAME FOLLOWING. POSSIBLE
;BECAUSE THEY ARE USED ONLY DURING GTJFN
;FIRST DEFINE JFN LIMITS AND SIZES
MLJFN==:23 ; # OF WORDS PER JFN BLOCK
MJFN==:<<JSJFNA-ENDJSB+MLJFN-1>/MLJFN> ;MAX NUMBER OF JFNS
RJFN==:MJFN*MLJFN ;ACTUAL SPACE USED BY JFNS
JS(JFN0,0) ; FIRST JFN
JS(FILTMP,0) ; Lh -0 ptr to temp string block for default
; Rh -0 point to temp string block
JS(FILBYT) ; Byte pointers to current window
JS(FILPRT,0) ; Pointer to protection string or protection #
JS(FILBYN) ; Byte number of current byte
JS(FILACT,1) ; Pointer to account string or account number
JS(FILLEN) ; Total length of file in bytes
JS(FILCNT) ; Bytes remaining in current buffer
JS(FILLCK) ; File lock word
JS(FILSKT,0) ;ARPANET CONNECTION NUMBER,,UNUSED
JS(FILOPT,0) ; Byte pointer to store string in gtjfn
JS(FILWND) ; Lh - current page number
; Rh - location of current window
JS(FILSTS) ; Lh - file status bits
; RH - STATUS, AND MODE IN BITS 32-35
JS(FILDEV) ; Device dependent information
JS (FILLLB,0) ; FOR DECNET, POINTER TO LL BLOCK
JS(FILOFN) ; Lh - ofn for this file
; Rh - ofn of long file pt table
JS(FILLNM,0) ; RH - POINTER TO LOGICAL NAME CHAIN
; LH - POINTER TO RDTXT BUFFER
JS(FILLFW) ; LH - COUNT OF PAGES MAPPED
; Rh - location of page table table
JS(FILDDN) ; Lh - pointer to device string block
; Rh - directory number
JS(FILDNM) ; LH - DIR NAME STRING
; RH - POINTER TO ATTRIBUTE LIST (FILATL)
PFXMSK==:777 ;UP TO 512 POSSIBLE PREFIXES
NOATRF==:1B18 ;THIS ATTRIBUTE DOES NOT HAVE A VALUE
.PFACT==:1 ;ACCOUNT STRING ATTRIBUTE
.PFPRT==:2 ;PROTECTION ATTRIBUTE
.PFCOP==:3 ;SPOOLED FILE COPIES
.PFFRM==:4 ;SPOOLED FILE FORMS
.PFALC==:5 ;PREALLOCATE FILE SPACE
.PFBLK==:6 ;MAGTAPE BLOCK LENGTH
.PFEXP==:7 ;MAGTAPE EXPIRATION DATE
.PFFMT==:10 ;MAGTAPE RECORD FORMAT
.PFPOS==:11 ;MAGTAPE POSITION
.PFRLN==:12 ;MAGTAPE RECORD LENGTH
.PFUDT==:13 ;NETWORK USER I.D.
.PFPWD==:14 ;NETWORK ASCII PASSWORD
.PFBPW==:15 ;NETWORK BINARY PASSWORD
.PFACN==:16 ;NETWORK ACCOUNT STRING
.PFOPT==:17 ;NETWORK OPTDATA FIELD
.PFBOP==:20 ;NETWORK BINARY OPTDATA
JS(FILNEN) ; Lh - pointer to file name string block
; Rh - pointer to extension string block
JS(FILVER) ; Lh - fork number of originator of this jfn
; Rh - version number
JS (FILBFO,0) ;FOR DECNET, OUPTU BUFFER POINTER
JS(FILMS1) ; LH- DIRECTORY WILD MASK
; RH- NAME WILD MASK
JS(FILIDX,0) ; RH - INDEX INTO DEVICE TABLES FOR THE
; ORIGINAL DEVICE GTJFN'ED. I.E.
; DOES NOT CHANGE DURING SPOOLING
JS (FILBFI,0) ;FOR DECNET, POINTER TO INPUT BUFFER
JS(FILMS2) ; LH- EXTENSION WILD MASK
JS (FILBCT,0) ;FOR DECNET, POINTER TO COUNTS
JS(FILFDB) ; ADDRESS OF THE FDB IN THE DIRECTORY
JS(FILCOD) ;C(LH) := STRUCTURE UNIQUE CODE
;C(RH) := PT0 OFN FOR LONG FILE
.ENDPS JSVAR
;THE FOLLOWING MUST BE THE FIRST RESIDENT CODE LOADED
RESCD
;PATCH SPACE FOR RESIDENT CODE
FFF::
FFF1::
FFF2:: REPEAT 100,<
XLIST
0>
LIST
;PARAMETER DEPENDENT DEVICE CODE
;DTE
DTSCNW::0 ;HOLD CONO WORD FOR MASTER DTE
MSTRDT::0 ;ID OF MASTER DTE
IFG DTEN,< ;DTE STORAGE
PWRFLE::CALL DTEPWF ;TELL MASTER -11 OF POWER FAIL
PROFLG::1 ;IF 0 DON'T GO INTO PRIMARY PROTOCOL
FEFLG::0 ;USE 2ND PROTOCOL UNITL FURTHER NOTICE
FEDBSW::0 ;FE DEBUG SWITCH
SVDTRJ::BLOCK 1 ;DOES A JSR TO HERE
JRST SVDTAC ;GO SAVE REGS AND SET UP STACK
XALL ;*****TEMP*****
QQ==0 ;GENERATE INT VECTOR
DTETRP::REPEAT DTEN,<DTEINN \QQ ;DO ONE
QQ==QQ+1> ;DO ALL DTE'
QQ==0 ;NOW DO INTERRUPT CODE
REPEAT DTEN,<DTEPRO \QQ ;DO ONE
QQ==QQ+1> ;AND DO ALL
QQ==0 ;DEFINE PROTOTYPE HARDWARE INSTRUCTIONS
CNDO:: REPEAT DTEN,<CONO DTE0+QQ,
QQ==QQ+4> ;DO ALL DTE'S
QQ==0
DATO:: REPEAT DTEN,<DATAO DTE0+QQ, ;THE DATAO TABLE
QQ==QQ+4> ;DO ALL DTE'S
DTESTK::IOWD DTESZ,DTESKP ;DTE LOCAL STACK
>
IFE DTEN,< ;IF NO DTE
PWRFLE::JFCL ;NO SPECIAL POWER FAIL CODE
>
IFN SMFLG,<
;SM10
;THESE ARE CURRENTLY USED ONLY FOR TTY SERVICE FOR SINGLE/MULTI TTYS.
PROFLG::1 ;PROTOCOL FLAG 0 DON'T ENTER PROMAIY PROTOCOL
FEFLG::0 ;USE 2ND PROTOCOL UNTIL FURTHER NOTICE
>
IFE DCN,< ;IF NO DECNET SUPPORT
DEDMCB::
NSPSPC::
NSPQ:: BUG(HLT,NSPUDF,<UNSUPPORTED NETWORK FUNCTION>)
NODINI::
NSPINI::RET ;NOTHING TO DO
.NODE:: JRST UJSYS0 ;UNDEFINED IF NO DECNET SUPPORT
DCOPNM==:0 ;DEFAULT OF 0 IF NO DECNET
>
;BUFFER ADDRESSES
LPTRLP::
XX==0
REPEAT LPTN,<
-NLPBF,,LPTBUF+XX
XX=XX+2*NLPBF>
;TTYSRV
IBFRC:: EXP <^D20>B7+<NTTBL>B12+<NTTBL>B17+<NTTBL*NCHBF-1>B26+<NTTBL*NCHBF-2>B35
;GLOBAL CONTROL FLAGS
DRUMP:: DRMN ;1 = SWAP ON DRUM, 0 = SWAP ON DSK,
;-1 = DO NOT SWAP
NSWPGS::SWDST ;NUMBER OF SWAP PAGES TO ALLOCATE
PRELDF::0 ;NO PRELOADING IF 0
SWRSAF::1 ;REASSIGN SWAP ADDRESSES IF .G. 0
POSPGF::0 ;POST PURGE IF .G. 0
SMLKF:: 0 ; .G 0 MEANS LOCK SWPMON IN CORE,
; .E 0 MEANS DEMAND PAGE SWPMON
CTYLNO::0 ;CTY LINE NUMBER (STORED IN TTINIT)
CTYTYP::TYPCTY ;LINE TYPE FOR CTY
KLILNO::0 ;KLINIK LINE NUMBER
PSNAM:: 'PS ' ;NAME OF THE PUBLIC STRUCTURE
LPSNAM::0 ;LOGICAN NAME IF OTHER THAN PS
;DISK QUOTA ENFORCEMENT FLAG AND VALUE
NDG USRSCF,-1 ;INITIAL CONTENTS OF USRSPC (NON-0 TO PREVENT
; WRITE OPENF IF USER OVER ALLOCATION)
USRSPC:: USRSCF ;TRUE = DON'T ALLOW WRITE OPEN IF USER EXCEEDS
;DIRECTORY DISK ALLOCATION
SYSSPC:: SYSSCF ;DON'T ALLOW WRITE OPEN IF SYSTEM FREE PAGE
;COUNT IS .L. C(SYSSPC)
RS APRSER,1 ;APR SERIAL NUMBER
EXADFL::0 ;EXTENDED ADDRESSING FLAG 1=MODEL B MACHINE
EXADF1::0 ;MUUO/PAGE FAIL FLAG 1=MODEL B MACHINE
SMFLAG::SMFLG ;VALUE OF SMFLG (0=NON SM10 1=SM10)
EXADDR::0 ;DIRECTORY FLAG 0=SEC 0 740000
;+>= SEC 2 MAX SIZE 30 PGS
;- = SEC 2 MAX SIZE 256. PGS
SYSTAD::0 ;SYSTEM LOAD DATE/TIME
;SYSTEM LOGICAL NAME INITIAL VALUES
SWAPCD
SYNMTB::XWD [ASCIZ/SYS/],[ASCIZ/PS:<SUBSYS>/]
XWD [ASCIZ/HLP/],[ASCIZ/SYS:/]
XWD [ASCIZ/SYSTEM/],[ASCIZ/PS:<NEW-SYSTEM>,PS:<SYSTEM>/]
SYNMCT==:.-SYNMTB
;TERMINAL TYPE TABLES
; B0, B1, B2, B3, B4-7, B8-11, B12-15, B16-19
; FF,TAB, LC, --, CRPD, LFPAD, TABPAD, FF PAD
;NORMAL MODE IS LOWERCASE BIT ON, MOST DEVICES WILL PRINT LC CHAR
;AS UC. FF AND TAB PADDING IS SPECIFIED FOR TTYS IN CASE
;FF OR TAB BIT TURNED ON MANUALLY
DEFINE TY(BB,CRPD,LFPD,TBPD,FFPD,WID,LEN)<
^D<<BB>B2+<CRPD>B7+<LFPD>B11+<TBPD>B15+<FFPD>B19+<WID>B27+<LEN>B35>
>
RESCD
TTYPE0::TY(0,0,0,2,12,72,66) ; 0 - MOD 33
TY(6,0,0,2,12,72,66) ; 1 - MOD 35
TY(1,0,0,2,12,72,66) ; 2 - MOD 37
TY(1,10,0,0,0,80,66) ; 3 - TI
0 ; 4 - RESERVED FOR CUSTOMER
0 ; 5 - " " "
0 ; 6 - " " "
0 ; 7 - " " "
TY(1,6,6,2,12,72,66) ; 8 - DEFAULT: MAX PADDING, ETC.
TY(7,0,0,0,0,0,0) ; 9 - 'IDEAL' TERMINAL, NO FILL INF SIZ
TY(2,0,4,0,12,72,20) ; 10 - VT05
TY(2,0,0,0,0,80,12) ; 11 - VT50
TY(0,6,6,2,12,80,66) ; 12 - LA30
TY(1,0,0,0,0,80,30) ; 13 - GT40 (WITH SMALL CHAR STRAPPING)
TY(1,0,0,0,0,132,66) ; 14 - ;LA36. SAME AS VT50 BUT WIDER
TY(3,0,0,0,0,80,24) ; 15 - VT52
NTTYPS==:.-TTYPE0
;SECOND PARALLEL TYPE INFORMATION TABLE
DEFSTR DSPTB,TTYPE1,35,18 ;ADDRESS OF DISPLAY CONTROL TABLE
DEFINE TY1(DPTAB)<
0,,DPTAB
>
TTYPE1::
REPEAT ^D10,< ;TYPES 0-9 ARE NOT DISPLAYS
TY1(0)
>
TY1(VT05TB) ; 10 - VT05
TY1(VT50TB) ; 11 - VT50
TY1(0) ; 12 - LA30
TY1(0) ; 13 - GT40
TY1(0) ; 14- LA36
TY1 (VT52TB) ; VT52
IFN <.-TTYPE1>-NTTYPS,<PRINTX %%TERM TYPE TABLES OF DIFFERENT LENGTHS>
;CURSOR CONTROL TABLES. TABLE FOR EACH TERMINAL TYPE, INDEXED
;BY FUNCTION.
.STP==:377 ;STOP CODE
;VT05 TABLE AND FUNCTION INDEX DEFINITIONS
VT05TB::
PHASE 0
.CURUP::!Z [BYTE (8)32,0,0,0,0,.STP]
.CURDN::!Z [BYTE (8)13,0,0,0,0,.STP]
.CURBK::!BYTE (8).CHBSP,.STP
.CURFW::!BYTE (8)30,.STP
.CURHM::!Z [BYTE (8)35,0,0,0,0,.STP]
.CURES::!Z [BYTE (8)37,0,0,0,0,.STP]
.CUREL::!Z [BYTE (8)36,0,0,0,0,.STP]
DEPHASE
;VT50 TABLE - USES ESCAPE SEQUENCES
VT52TB::
VT50TB::BYTE (8).CHESC,"A",.STP ;CURSOR UP
Z [BYTE (8).CHLFD,0,0,0,0,.STP] ;CURSOR DOWN
BYTE (8).CHBSP,.STP ;CURSOR BACK
BYTE (8).CHESC,"C",.STP ;CURSOR FORWARD
BYTE (8).CHESC,"H",.STP ;CURSOR HOME
BYTE (8).CHESC,"J",.STP ;ERASE SCREEN
BYTE (8).CHESC,"K",.STP ;ERASE LINE
SWAPCD
; NAME OF FILE INTO WHICH ACCOUNTING INFO IS WRITTEN
FCTFIL::ASCIZ /PS:<ACCOUNTS>FACT.BIN/
USGFIL::ASCIZ /PS:<ACCOUNTS>SYSTEM-DATA.BIN/
CKPFIL::ASCIZ /PS:<ACCOUNTS>CHECKPOINT.BIN.1/
;ACCOUNTING SYSTEM DATA-BASE
NR USGJFN,1 ;JFN OF USGFIL
NR USGEOF,1 ;END OF FILE FOR USAGE FILE
NR USGBEG,1 ;HEAD OF QUEUE FOR JOB 0
NR USGEND,1 ;TAIL OF QUEUE FOR JOB 0
NR USQCNT,1 ;COUNT OF ITEMS ON USAGE QUEUE
NR CKPJFN,1 ;JFN OF CKPFIL
NR CKPINV,1 ;CHECKPOINT INTERVAL (SETTABLE)
NR CKPTIM,1 ;CHECKPOINT TIMER CELL
NR CKPDTL,1 ;DATE/TIME OF LAST CHECKPOINT
RS USGLOK,1 ;LOCK ON USAGE FILE
RESCD
;PHYSIO STORAGE
IFG PHYIOF,<
;TABLE OF KNOWN CHANNEL DISPATCH ROUTINES
PHYCHT::
IFG RH20F,< XWD .CTRH2,RH2DSP>
IFG RH11F,< XWD .CTRH2,RH2DSP>
PHYCHL==:PHYCHT-. ;NEGATIVE LENGTH OF TABLE
;TABLE OF KNOWN UNIT DISPATCH ROUTINES
PHYUNT::
IFG RS04F,< XWD .UTRS4,RS4DSP>
IFG RP04F,< XWD .UTRP4,RP4DSP>
IFG TM02F,< XWD .UTTM2,TM2DSP>
IFG DX20F,< XWD .UTDX2,DX2DSP>
PHYUNL==:PHYUNT-. ;NEGATIVE LENGTH OF TABLE
RS CHNTAB,CHNN ;TABLE FOR CDB POINTERS
RS MAXCHN ;HIGHEST NUMBERED CHANNEL IN USE
RS ZSEND ;CURRENT END OF PAGE ZERO STORAGE
RS PHYSEC ;PHYSIO MINUTE COUNTER
RS CHNPIT,8 ;HEAD OF LIST OF CHANS ON EACH PI LEVEL
;RESIDENT STORAGE FOR DIAG
RS(DIAGLK) ;LOCK ON DIAG
RS(DIAGFK) ;TEMP PAGE,,FORK WHO HAS DIAG LOCK
RS DIAGAR,1 ;AR/ARX INTERCEPT LOCATION
;UDSKIO STORAGE
RS UIOLST ;FREE LIST FOR UDSKIO IORBS
RS UDIORB,<NUIORB*UIOLEN> ;POOL FOR UDSKIO IORBS
;SAVE AREAS AND PDLS
RS PHYACS,20 ;INTERRUPT SAVE ACS
RS PHYPDL,LPHYPD ;PRIVATE PDL FOR REQUESTS
RS PHYSVP ;CALLERS PDL
RS PHYIPD,LPHIPD ;INTERRUPT PDL
RS PHYEBL,1 ;POINTER TO ERROR BLOCK POINTER
;STORAGE ASSOCIATED WITH THE HOME BLOCK CHECKING LOGIC
RS CHBUDB,1 ;UDB BEING CHECKED
RS CHBODT,1 ;OVERDUE TIME FOR CURRENT REQUEST
RS CHBLUC,1 ;UDB OF LAST UNIT CHECKED - TO PREVENT LOCKOUT
RS CHBIRB,IRBLEN ;IORB
RS CHBCCL,2 ;CHANNEL COMMAND LIST
RS CHBHB1,176 ;BUFFER FOR FIRST PART OF HOME BLOCK
RS CHBHB2,2 ;LAST 2 WORDS OF HOME BLOCK
> ;END IFG PHYIOF
IFN RP04F,<
;RESIDENT TABLES OF SIZE DATA FOR DISKS BASED ON TYPE
;THE VALUES CONTAINED IN THESE TABLES ARE DEFINED EARLIER IN THIS
;MODULE. DSKSIZ IS PARALLEL TO DSKUTP (DEFINED IN PHYSIO), WHICH CONTAINS
;CODES FOR THE KNOWN DISK TYPES. WHEN AN ENTRY IS ADDED TO DSKUTP, A
;CORRESPONDING ENTRY MUST BE ADDED TO DSKSIZ TO POINT TO THE CORRECT
;SIZE DATA FOR THAT TYPE OF DISK.
;OFFSETS INTO DSKSIZ TABLES
SECPAG==:0 ;SECTORS PER PAGE
SECCYL==:1 ;SECTORS PER CYLINDER
PAGCYL==:2 ;PAGES PER CYLINDER
CYLUNT==:3 ;CYLINDERS PER UNIT
SECUNT==:4 ;SECTORS PER UNIT
BTWCYL==:5 ;BIT WORDS IN BIT TABLE PER CYLINDER
MINFPG==:6 ;MINIMUM FREE PAGES FOR FREE CHOICE
MAXFPU==:7 ;MAXIMUM FREE PAGES BEFORE TURNING POINT
LPPCYL==:10 ;LOST SECTORS PER CYLINDER
SECSRF==:11 ;SECTORS PER SURFACE
USSECU==:12 ;MICROSECONDS PER LATOPT SECTOR UNIT
;RP04 AND RP05
DSKSZ0::SECPG0 ;SECTORS PER PAGE
SECCY0 ;SECTORS PER CYLINDER
PAGCY0 ;PAGES PER CYLINDER
CYLUN0 ;CYLINDERS PER UNIT
SECUN0 ;SECTORS PER UNIT
BTWCY0 ;BIT WORDS IN BIT TABLE PER CYLINDER
MINFP0 ;MINIMUM FREE PAGES FOR FREE CHOICE ALLOCATION
; IN DSKASN
MAXFP0 ;MAX FREE BEFORE DSKASN TURNING POINT
LPPCT0 ;LOST SECTORS PER CYL
SECSF0 ;SECTORS/SURFACE
USSCU0 ;USEC/UNIT
;RP06
DSKSZ1::SECPG1 ;SECTORS PER PAGE
SECCY1 ;SECTORS PER CYLINDER
PAGCY1 ;PAGES PER CYLINDER
CYLUN1 ;CYLINDERS PER UNIT
SECUN1 ;SECTORS PER UNIT
BTWCY1 ;BIT WORDS IN BIT TABLE PER CYLINDER
MINFP1 ;MINIMUM FREE PAGES FOR FREE CHOICE ALLOCATION
; IN DSKASN
MAXFP1 ;MAX FREE BEFORE DSKASN TURNING POINT
LPPCT1 ;LOST SECTORS PER CYL
SECSF1 ;SECTORS/SURFACE
USSCU1 ;MICROSECONDS PER UNITS
;RM03
DSKSZ3::SECPG3 ;SECTORS PER PAGE
SECCY3 ;SECTORS PER CYLINDER
PAGCY3 ;PAGES PER CYLINDER
CYLUN3 ;CYLINDERS PER UNIT
SECUN3 ;SECTORS PER UNIT
BTWCY3 ;BIT WORDS IN BIT TABLE PER CYLINDER
MINFP3 ;MINIMUM FREE PAGES FOR FREE CHOICE ALLOCATION
MAXFP3 ;MAX FREE BEFORE DSKASN TURNING POINT
LPPCT3 ;LOST SECTORS PER CYL
SECSF3 ;SECTORS/SURFACE
USSCU3 ;USEC/UNIT
;THE POINTERS TO THE ABOVE TABLES ARE IN PHYSIO IN A TABLE CALLED
;DSKSIZ
>
;SNOOP BREAK POINT LABEL DEFINITIONS
REPEAT 0,<
BP$000 1 MILLISECOND INTERVAL
RUNS AT APR INTERRUPT LEVEL WITH NO STACK SET UP.
ALL ACS MUST BE SAVED AND RESTORED
BP$001 POWER LINE FREQUENCY INTERVAL (50 OR 60 CYCLES)
RUNS AT APR INTERRUPT LEVEL WITH NO STACK SET UP.
ALL ACS MUST BE SAVED AND RESTORED.
BP$002 1 SECOND INTERVAL
RUNS AT APR INTERRUPT LEVEL WITH NO STACK SET UP.
ALL ACS MUST BE SAVED AND RESTORED.
BP$003 BREAKPOINT FOR OPEN NEW FILE
ASSUMPTIONS: JOB CONTEXT, STACK, OFN IN T1
OFFSET FOR JOB'S JFN TABLE IN 11
THESE ASSUMPTIONS HOLD FOR BP$003-BP$009
BP$004 BREAKPOINT FOR OPEN EXISTING FILE
SEE ASSUMPTIONS FOR BP$003
BP$005 BREAKPOINT FOR GET EXISTING PTT
SEE ASSUMPTIONS FOR BP$003
BP$006 BREAKPOINT FOR MAKE NEW PTT FOR LONG FILE
SEE ASSUMPTIONS FOR BP$003
BP$007 BREAKPOINT FOR PT-0 OF LONG FILE
SEE ASSUMPTIONS FOR BP$003
BP$008 BREAKPOINT FOR MAKE NEW PT IN LONG FILE
ASSUMES PT-NUMBER IN -2(P); ALSO:
SEE ASSUMPTIONS FOR BP$003
BP$009 BREAKPOINT FOR GET EXISTING PT IN LONG FILE
ASSUMES PT-NUMBER IN 0(P); ALSO:
SEE ASSUMPTIONS FOR BP$003
BP$010 (AT DASOFN) BREAKPOINT TO RELEASE OFN
ASSUMES JOB CONTEXT, OFN IN T1, STACK
BP$011 (AT REMFP2) BREAKPOINT FOR DELETE PAGE IN CORE
ASSUMES CST-INDEX IN T1
BP$012 (BELOW BKUP3) BREAKPOINT FOR WRITE TO DISC
ASSUMES CST-INDEX IN T1
BP$013 (BELOW BKUP3) BREAKPOINT FOR WRITE TO RPLQ
ASSUMES CST-INDEX IN T1
BP$014 (BELOW SWPO2) BREAKPOINT FOR WRITE TO DRUM
ASSUMES CST-INDEX IN T1
BP$015 (BELOW BKUP0) BREAKPOINT FOR WRITE TO RPLQ (DRUM ADDR)
ASSUMES CST-INDEX IN T1
BP$016 (AT SWPI5) BREAKPOINT FOR READ FROM DEVICE
ASSUMES [STG-ADDR] IN T4, [IDENT] IN T1 (I.E., [SPTN,,PN])
BP$017 (BELOW TRP0C) BREAKPOINT FOR READ FROM RPLQ
ASSUMES STACK. WILL CALL GETPHA TO IDENTIFY PAGE
BP$018 (BELOW WCPY) BREAKPOINT FOR COPY-ON-WRITE
ASSUMES TARGET [SPTN,,PN] IN T1, SOURCE CST-INDEX IN 0(P)
BP$019 (BELOW .CFORK) BREAKPOINT FOR CREATE SUB-FORK
ASSUMES FORK-INDEX OF CREATED FORK IS IN 7
BP$020 (BELOW LOGI1) BREAKPOINT FOR CREATE MAIN FORK
ASSUMES FORKX HAS FORK-INDEX, FKJOB(FORK-INDEX) HAS JOBNO
BP$021 (AT KSELF) BREAKPOINT FOR KILL FORK.
ASSUMES FORKX HAS SUICIDAL FORK INDEX
BP$022 (AT MAPDI1-1 IN DIRECT) BREAKPOINT FOR ASOFN FOR DIRECTORIES
ASSUMES DIRECTORY# IN T1, OFN IN DROFN USUALLY, BUT IN STRRDO
IF T1=ROOTDN
>
;SCHEDULER TESTS - HERE BECAUSE NO OTHER RESIDENT CODE IN DIRECT
EXTN <MLDTAB,NLDTAB> ;DEFINED IN DIRECT
LKDTST::HRRZ T1,Q3 ;GET FORK INDEX
IDIVI T1,^D36 ;COMPUTE BIT ADDRESS
MOVE T2,BITS(T2)
TDNE T2,LCKDBT(T1) ;STILL WAITING?
JRST 0(T4) ;YES
JRST 1(T4) ;NO, WAKEUP
LKDSPT::MOVE T1,MLDTAB ;GET LIMIT OF TABLE
CAIL T1,NLDTAB ;FULL?
JRST 0(T4) ;YES
JRST 1(T4) ;NO
;ORIGIN OF MANUAL START TRANSFER VECTOR
SVECT=:140
;LOWER CORE DEFINITIONS - NOT CLEARED AT STARTUP
PWRTRP=:70 ;EXECUTED ON POWER-FAIL AUTO RESTART
RLDADR==:71 ;FE EXECUTE'S THIS ON CERTAIN RELAODS
EDDTF=:72 ;RETAIN EDDT IF 1
CRSTAD=:73 ;TOD OF LAST CRASH
;74 RESERVED FOR JOBDDT
;75 RESERVED - .JBHSO
DBUGSW=:76 ;BUGHLT ACTION SWITCH
DCHKSW=:77 ;BUGCHK ACTION SWITCH
;100 THROUGH 107 RESERVED FOR FE COMMAND LANGUAGE FUNCTIONS
;CELLS NOT CHANGED DURING DISK RELOAD OF RES MON
STSBLK==:110 ;STATUS BLOCK POINTER
; 111 ALSO RESERVED TO HOLD PHYSICAL ADDRESS
CRSTD1=:27 ;CRASH TIME AND DATE SAVED WHILE RELOADING
BUGHAD=:26 ;BUGHLT AND CHK ADDRESSES SAVED WHILE RELOADING
DBUGS1=:25 ;DBUGSW SAVED WHILE RELOADING
SEBQOU=:24 ;OUTPUT PTR FOR SYSERR BLOCKS
;IN A FIXED PLACE SO JOB 0 CAN QUEUE UP
;BUGHLT BLOCK AFTER A CRASH.
CRSHTM=:23 ;INITIAL TIME FOR RELOADS. -1 INDICATES NOT SETUP YET
NPISK==20 ;SIZE OF STACK FOR PI LEVELS
;MANUAL START TRANSFER VECTOR
LOC SVECT
EVDDT:: JRST DDTX ;EDDT
JRST SYSDDT ;RESET AND GO TO EDDT
EVDDT2::JRST DDTX ;COPY OF EDDT IN CASE OTHER CLOBBERED
EVSLOD::JRST SYSLOD ;INITIALIZE DISK FILE SYSTEM
Z 0 ;UNUSED OFFSET
EVRST:: JRST SYSRST ;RESTART
EVLDGO::JRST SYSGO ;RELOAD AND START
EVGO:: JRST SYSGO1 ;START
DDTPRS::0 ;DDT PRESENT IF NON-0
;AUTOMATIC RELOAD AND SWPMON LOAD STORAGE
BUTRXB::0 ;XB OF ROOT DIR ON SPECIFIED STR
BUTMUN::0 ;MAX. UNIT ON SPECIFIED STR
BUTDRT:: BLOCK 8 ;LOGICAL/ PHYSICAL MAPPING OF SPEC STR
BUTCMD:: BLOCK ^D15 ;ASCIZ MONITOR FILE NAME
BUTPGS::0 ;START,,END ADDRESSES OF VBOOT PAGES
BUTEPT::0 ;ADDRESS OF VBOOT PAGE TABLE PAGE
BUTPHY::0 ;# OF PAGES TO MAP,,# OF FIRST CORE PAGE
BUTVIR::0 ;VIRTUAL ADDRESS OF FIRST PAGE TO MAP
BOOTFL::0 ;0 - NORMAL BOOTSTRAP, +N - SPECIAL BOOT
TMPSMM==:500 ;TEMP SWPMON MAP DURING RESTART
DINFSW::0 ;INFORMATIONAL BUG SWITCH
IFN PHYIOF,<
;PAGE ZERO FREE STORAGE POOL FOR PHYSIO
PHYPZS::BLOCK PZSSIZ
> ;END IFN PHYIOF
RELOC
;END OF RESIDENT STORAGE--SET BY POSTLD
ZROEND::0
;NAME TO SAVE THE MONITOR IMAGE AFTER POSTLD AS
MONSNM::
IFN SMFLG,< ASCIZ /SMONITR.EXE/>
IFN NETN,< ASCIZ /AMONITR.EXE/>
IFE SMFLG!NETN,< ASCIZ /MONITR.EXE/>
DEFINE ECALL (DEV)<
IFG DEV'N,<
CALL DEV'CHK
RS DEV'TIM>>
;SCHEDULER DEVICE-DEPENDENT CALLS
LV8CHK::ECALL VBC
IFG DCN,<CALL NSPCH7> ;DO DECNET MESSAGES
RET
;TABLE OF CALLS FOR SECOND LEVEL CLOCKS
RS CLK2TM,0 ;SYMBOL OF FIRST CLOCK CELL IN TABLE
CLK2CL::
CALL WTCHK ;CHECK NON-SPECIAL WAITING FORKS
RS WTTIM,1
IFE PHYIOF,<
ECALL DSK ;DISK RE-QUEUE CHECK
ECALL DRM ;DRUM TIMEOUT CHECK
> ;END IFE PHYIOF
IFN PHYIOF,<
CALL PHYCHK ;PHYSIO TIMER ROUTINE
RS PHYTIM
> ;END IFN PHYIOF
ECALL DTE ;DO POLLER
ECALL KDP ;CHECK KDP (NSPSRV KMC11/DUP11)
ECALL PTP ;PAPER TAPE PUNCH
IFG PLTN,< ECALL PLT> ;PLOTTER
ECALL DTA ;DECTAPE
CALL LPTCHK ;PHYSICAL LPT
RS LPTTIM
ECALL CDR ;THE CARD READER
ECALL DLX ;DL10
IFN NETN,<
CALL IMPCHK ;ARPANET
RS IMPTM2
>
CALL TIMSCM
RS TMMLTM ; Millisecond TIMER Q (elapsed time)
CALL TIMSCD
RS TMDTTM ; D&T TIMER Q
CALL TTYCHK ;CHECK CONTROLLER THINGS
RS TTYTIM ;ALLOCATE TIMER WORD
N2CLKS==:.-CLK2CL
;DEVICE INITIALIZATION AFTER SWPMON LOADED
SWAPCD
DEFINE INICLL (DEV)<
IFG DEV'N,<
CALL DEV'INI>>
INIDEV::
INICLL MTA
IFG LPTN,< IFG LPTN-FELPTN,<
INICLL LPT
>>
IFG CDRN,< IFG CDRN-FECDRN,<
INICLL CDR
>>
IFG PLTN,< INICLL PLT>
INICLL PTP
INICLL PTR
INICLL DTA
INICLL VBC
RET
;DEVICE DEPENDENT ROUTINES USED ON KFORK
DEVKFK::
RET
;DEVICE INITIALIZATION FOR FRONT END DEVICES
INIDV1::
INICLL FE
IFG CDRN,<IFG FECDRN,<
INICLL CDR
>>
IFG LPTN,<IFG FELPTN,<
INICLL LPT
>>
RET
;GENERATE THE PROTOCOL DEVICE DISPATCH TABLE
RESCD
IFG DTEN,< ;ONLY IF A DTE EXISTS
DEFINE DTV (DEV)<
IFG DEV'N,<
DEV'DTV ;DISPACTH ADDRESS
>
IFE DEV'N,<
0 ;NO DISPATCH
>>
MINDEV==:.FECTY ;FIRST KNOWN DEVICE
DTEDTV::
BLOCK MINDEV ;RESERVE SPACE FOR UNKNOWN DEVICES
REPEAT 4,<TTYDTV> ;THE CTY,DL11,DH11, AND DLS DEVICES
IFG FELPTN,< ;FRONT END LPT'S?
DTV LPT> ;YES
IFE FELPTN,< ;BA10 LPT?
0> ;YES
IFG FECDRN,<
DTV CDR> ;THE CDR
IFE FECDRN,< ;IF NO CRD ON THE FE
0> ;RESERVE SPACE ANYWAY
0 ;UNKNOWN
DTV FE ;THE FE DEVICE
MAXDEV==:.-DTEDTV+MINDEV-1 ;LAST KNOWN DEVICE
> ;END OF PROTOCOL TRANSFER VECTOR LOGIC
NLHOST::-1 ;All references to lhostn should be
; to this cell, So it can be patched
; if needed.
NVTPTR::0 ; -number of nvt's,,first nvt
RESCD
;RESET ALL AND GO TO EDDT
SYSDDT: XCT PIRST
XCT IORST
JRST EVDDT2
;RELOAD SYSTEM FROM DISK AND RESTART
SYSGO::
;START SYSTEM KEEP EXISTING SWPMON PAGES
SYSGOX::MOVE P,PI7P ;GET A STACK
CALL SAVSMM ;SAVE PRESENT SWPMON MAP
MOVEI T1,IRBOOT ;NOTE SPECIAL INTERNAL BOOT
MOVEM T1,BOOTFL
JRST SYSGO1
;START FROM SCRATCH AFTER LOADING
SYSGO1::TDZA 7,7 ;INDICATE NORMAL STARTUP TO SAVE IN STARTF
SYSLOD::MOVX 7,MI%RFS ;INDICATE REFRESHING
MOVE P,PI7P
XCT PIRST ;RESET PI AND IO
XCT IORST
SETZM STSBLK ;NO STATUS BLOCK REPORTING
IFE SMFLG,<
MOVSI T1,-DTEN ;NUMBER TO POLL
MOVE T2,[CONSO DTE0,DTEPRV] ;LOOK FOR PRIVILEGED BIT
MOVE T3,[CONSO DTE0,DTEPI0+7] ;CHECK FOR PI ASSIGNED
MOVE T4,[CONO DTE0,0] ; A CONO WORD
FDMST1: XCT T3 ;HAVE A PI ASSIGNMENT?
JRST [ HRRI T4,DTEPI0+DTEPIE ;NO TRY TO TURN ON PI 0
XCT T4 ;DO IT
XCT T3 ;DID IT TURN ON?
JRST FDMST0 ;NO. NON-EX DEVICE
TRZ T4,DTEPI0 ;TURN IT OFF
XCT T4
JRST .+1] ;AND PROCEED
XCT T2 ;THIS IT?
JRST [ MOVEI T2,0(T1) ;YES. GET DTE NUMBER
MOVEM T2,MSTRDT ;SAVE DTE NUMBER
LSH T1,^D26 ;ADJUST DEVICE FIELD
ADD T1,[CONO DTE0,0(T1)] ;FORM CONO WORD
MOVEM T1,DTSCNW ;STORE IN THE PROTOTYPE WORD
JRST SYSLD1] ;AND PROCEED
FDMST0: ADD T2,[4B11] ;NEXT DTE
ADD T3,[4B11]
ADD T4,[4B11] ;ADJUST ALL I/O INSTRUCTIONS
AOBJN T1,FDMST1 ;LOOK AT NEXT
HALT . ;THIS CAN'T HAPPEN!!!!!!!!!!!!
SYSLD1:
IFN DTFLG,< ;DOING FE PROTOCOLS?
PIOFF ;MAKE SURE MACHINE IS QUIET
JSR BUGMON ;MAKE SURE IN PROPER PROTOCOL
>
> ;END IFE SMFLG
IFN SMFLG,<
SYSLD1:
MOVEI T1,1 ;START WITH SECOND MAPPING REGISTER
;FIRST ONE RESERVED FOR BOOT
MOVEM T1,SMADNX
> ;END IFN SMFLG
SETZM CRSTD1
MOVE 1,[XWD ZROCOR,ZROCOR+1]
SETZM -1(1)
MOVE 2,ZROEND ;GET END ADR OF RESIDENT STG
BLT 1,-1(2) ;CLEAR RESIDENT STORAGE AREA
MOVEM 7,STARTF
MOVE 1,[BTB] ;GET ADDRESS OF BIT TABLE
MOVEM 1,BTBORA ;SET UP BASE ADDRESS FOR REFERENCE ELSEWHERE
SETOM BTBLCK ;INITIALIZE BIT TABLE LOCK
SKIPE 1,CRSTAD ;HAVE SAVED PRE-CRASH INFO?
MOVE 1,BUGHAD ;YES, RESTORE CELLS
HRRZM 1,BUGHLT
HLRZM 1,BUGCHK
AOS INSKED
MOVE 1,[JRST BUGH0] ;SETUP JSR DISPATCHES
MOVEM 1,BUGHLT+1
MOVE 1,[JRST BUGC0]
MOVEM 1,BUGCHK+1
MOVE 1,[JRST BUGI0]
MOVEM 1,BUGINF+1
CALL GAPRID ;READ APR SERIAL NUMBER
MOVEM T1,APRSER
APRID T1 ;FIND TYPE OF MACHINE
TRZ 1,737777 ;CHECK FOR MODEL B MACHINE
IFE SMFLG,<
SKIPE [MSEC1] ;WANT TO TRY EXTENEDE ADDRESSING SECTIONS?
HRRZM 1,EXADFL ;YES, SET FLAG
HRRZM 1,EXADF1 ;AND SET PC FORMAT FLAG
IFN EXADF,< ;IF INTENDING TO USE EXTENDED FEATURES
TRNE T1,-1 ;MUST HAVE EXTENDED MACHINE
SKIPN [MSEC1] ;AND BE USING MULTIPLE SECTIONS
BUG (HLT,NOXADR,<EXTENDED ADDRESSING CONFUSION>)
> ;END OF IFN EXADF
>
IFN SMFLG,<
SETOM EXADF1 ;SM10 DOES MODEL B FORMAT ONLY
HRRZM 1,EXADFL ;AND SET EXTENDED ADDRESSING FLAG
>
MOVEI 1,RLDHLT ;THE BUGHLT ADDRESS FOR A KEEP ALIVE RELOAD
MOVEM 1,RLODPC+3 ;SET UP XPCW PC'S
SETOM BUGLCK ;INIT LOCK
MOVE T1,SWPCP0 ;INIT SWPCOR
MOVEM T1,SWPCOR
CALL RESFPI ;INITIALIZE THE RESIDENT FREE POOL
SETOM RESIFL ;MARK THAT WE ARE IN SYSTEM START UP
CALL PAGRST ;INIT PAGER SIMULATION (FOR KI10)
CALL PGRINI ;INIT DST, CST, ETC.
IFN SMFLG,<
CALL UNBINI ;INIT UNIBUS ADAPTER
>
IFN PHYIOF,<
CALL PHYINI ;MUST INIT BEFORE PAGER (GRABS RES STG)
> ;END IFN PHYIOF
IFE PHYIOF,<
; DRUM IS INITIALIZED AFTER CALLING FSIINI
CALL DSKINI ;DISK
> ;END IFE PHYIOF
CALL TTINIT ;TELETYPE MODULE
IFG DLXN,<CALL DLXINI> ;DL10 CONTROLER
CALL SCDIN ;SCHEDULER
CALL PIINIT ;PI MODULE - LAST INIT
SETZM RESIFL ;END OF SYSTEM START UP (FOR RES FREE POOL)
MOVS 1,CTYLNO ;GET CTY LINE NUMBER
HRRI 1,JOBSRT ;START A NEW JOB LOCATION
CALL SCDRQ7 ;INITIATE FIRST JOB
JRST SCHED0 ;TO SCHEDULER
;ROUTINE TO RETURN THE LINE FREQUENCY OF THE POWER LINE
;RETURNS LINE FREQUENCY IN A. CLOBBERS ONLY A
LINFRQ::PUSH P,B ;SAVE AN AC
MOVEI A,^D60 ;ASSUME 60 HZ
APRID B ;GET LINE FREQ INFO
TRNE B,1B18 ;60 HZ?
MOVEI A,^D50 ;NO. TELL HIM IT IS 50 HZ
POP P,B ;RESTORE B
RET ;RETURN VALUE IN A
;RESTART SYSTEM
DEFINE DEVRST (DEV)<
IFG DEV'N,<CALL DEV'RST>>
SYSRST::MOVE P,PI7P
IFG DTFLG,< ;DOING FE PROTOCOLS?
PIOFF ;MAKE SURE ALL PI'S ARE OFF
JSR BUGMON ;MAKE SURE IN PROPER PROTOCOL
>
XCT PIRST
XCT IORST ;RESET PI AND IO
SETOM SCDRN1
PUSH P,PWRDWN ;SAVE POWER FAIL INDICATOR
SETZM PWRDWN
CALL PAGRST ;INIT PAGER SIMULATION
CALL PGRRST
IFN SMFLG,<
CALL UNBRST ;RESTART UNIBUS ADAPTER
>
CALL TTRSET
IFE PHYIOF,<
DEVRST DRM
DEVRST DSK
DEVRST MTA
> ;END IFE PHYIOF
IFN PHYIOF,<
CALL PHYRST
> ;END IFN PHYIOF
DEVRST LPT
IFG KSCDRN,<
DEVRST CDR
>
DEVRST DTA
DEVRST PTR
DEVRST PTP
IFG PLTN,< DEVRST PLT>
DEVRST VBC
DEVRST DLX
PUSH P,INSKED
MOVEI 1,1
MOVEM 1,INSKED
SETZM SKEDF1
CALL PIINIT
CALL SWPRST ;SWAPPER CLEANUP
IFG DTFLG,< ;DOING FE DH CONFIGURATIONS?
SKIPE PROFLG ;AND DOING PRIMARY PROTOCOL?
CALL DTERST> ;YES. GO INIT THE PROTOCOL
POP P,1
EXCH 1,0(P) ;SAVE OLD INSKED, RESTORE OLD PWRDWN
SKIPGE 1 ;DOING POWER RESTART?
CALL TTDALL ;YES DETACH ALL JOBS THEN
POP P,1 ;GET OLD INSKED
JUMPN 1,SCHED0 ;RESUME SCHED IF THERE AT CRASH
CALL SETPPG ;REESTABLISH CONTEXT
SETZM INSKED
SETOM TRAPC
MOVSI 1,(UMODF) ;CRASH PROCESS RUNNING AT CRASH
MOVEM 1,FFL
SETZM FPC
SETOM SLOWF ;FAKE A USER CONTEXT SO RETURN CODE
; WILL ALWAYS WIN
JRST ITRAP
;DISPATCHES FOR PI CHANNELS 5-6.
;EACH ROUTINE CALLED WITH 'CALL'.
;ROUTINE SHOULD RETURN WITH 'RET' (CALLER +1) IF PI IS NOT FOR IT.
;ROUTINE SHOULD RETURN WITH 'UNBRK DEV' (JRST DEVCHR) AFTER HANDLING
;INTERRUPT.
DEFINE PICALL (DEV)<
IFG DEV'N,<CALL DEV'SV>>
PISC5:: XWD PI5R,.+1
IFN DTAN+PTRN,< ;GENERATE IF HELLIWELL IS ASSEMBLING
DMOVEM T1,PI5AC ;SAVE TEMP ACS
DMOVEM T3,PI5AC+2
DMOVEM CX,PI5CX ;SAVE CX, P
MOVE P,[IOWD NPISK,PI5STK]
PICALL DTA
PICALL PTR
PTRCHR::
DTACHR::
DMOVE T1,PI5AC ;RESTORE TEMPS
DMOVE T3,PI5AC+2
DMOVE CX,PI5CX ;RESTORE CX, P
XJEN PI5R
RS PI5R,4
RS PI5AC,4
RS PI5CX,2
RS PI5STK,NPISK
>
IFE DTAN+PTRN,<
BUG (CHK,PI5ERR,<UNEXPECTED UNVECTORED INTERRUPT ON CHANNEL 5>)
CLSB 5 ;CLEAR THE INTERRUPT ON 5
XJEN PI5R ;RESTORE INTERRUPTED PC
RS PI5R,4
>
PISC6:: XWD PI6R,.+1
IFN SMFLG!<PLTN+VBCN+PTPN>,< ;GENERATE FOR KS10 AND/OR HELLIWELL
DMOVEM T1,PI6AC ;SAVE TEMP ACS
DMOVEM T3,PI6AC+2
DMOVEM CX,PI6CX ;SAVE CX, P
MOVE P,[IOWD NPISK,PI6STK]
IFN SMFLG,<
CALL DZCTIN ;CALL TERMINAL SERVICE
>
PICALL PLT
PICALL VBC
PICALL PTP
PLTCHR::
VBCCHR::
PTPCHR::
LPTCHR::
DMOVE T1,PI6AC
DMOVE T3,PI6AC+2
DMOVE CX,PI6CX ;RESTORE ACS
XJEN PI6R
RS PI6R,4
RS PI6AC,4
RS PI6CX,2
RS PI6STK,NPISK
>;IFN SMFLG!<PLTN+VBCN+PTPN>
IFE SMFLG!<PLTN+VBCN+PTPN>,<
BUG (CHK,PI6ERR,<UNEXPECTED UNVECTORED INTERRUPT ON CHANNEL 6>)
CLSB 6 ;CLEAR THE INTERRUPT ON 6
XJEN PI6R ;RESTORE INTERRUPTED PC
RS PI6R,4
>;IFE SMFLG!<PLTN+VBCN+PTPN>
;DUMMY ROUTINES FOR DEVICES NOT PRESENT
IFE DTAN,< ;IF NO DECTAPES
DTADTB::
DTAACK::
DTAMCK::
DTASTS::
RET
>
IFE DRMN!PHYIOF,<
;DRUM DRIVER - DUMMY DRUM, USES DSK
RESCD
;DRUM IO DRIVER
; AC1/ 18-35 CORE PAGE NUMBER (CST INDEX) OF PAGE
; DWRBIT WRITE OPERATION IF 1, READ IF 0
DRMIO:: HLLZS CST3(1) ;SINGLE PAGE REQUEST, ZERO REST OF LIST
DRMIOM::SKIPG DRUMP ;DRUM ON SYSTEM?
JRST DSKIOM ;NO, USE DISK
BUG(HLT,DRUMP1,<DRMIO - DRUMP ON BUT NO DRUM CODE IN SYSTEM>)
DRMINI::SETOM DRMJ0R
RET
> ;END IFE DRMN!PHYIOF
TNXEND
END