.MCALL .MODULE .MODULE EDTGBL,VERSION=105,COMMENT= ; Copyright (c) 1998 by Mentec, Inc., Nashua, NH. ; All rights reserved ; ; This software is furnished under a license for use only on a ; single computer system and may be copied only with the ; inclusion of the above copyright notice. This software, or ; any other copies thereof, may not be provided or otherwise ; made available to any other person except for use on such ; system and to one who agrees to these license terms. Title ; to and ownership of the software shall at all times remain ; in Mentec, Inc. ; ; The information in this document is subject to change without ; notice and should not be construed as a commitment by Digital ; Equipment Corporation, or Mentec, Inc. ; ; Digital and Mentec assume no responsibility for the use or ; reliability of its software on equipment which is not supplied ; by Digital or Mentec, and listed in the Software Product ; Description. ;++ ; Facility: Monitor Header File ; ; Edit Who Date Description of modification ; ---- --- ---- --------------------------- ; 001 WLD 14-MAY-90 Added support for new monitor ; and start-up file names. ; Added SUP$Y conditional. ; ; (101) 18-Jun-90 Added definition for multi-terminal handler ; MBG hooks conditional ; ; 002 WLD 02-JUL-91 Clean-up for fixing conditionalization ; of BSTRAP. ; 003 WLD 08-JUN-92 Force TIME$R=1 if ERL$G <> 0 to make ; date/time available for the error log ; handler in SB environments. ; 105 TDS 13-JAN-98 Bump version from 10402 to 105 ; for RT-11 V5.7 release ;-- .SBTTL Post Release Edit History ;+ ; ; (104/01) 08-Nov-94 Megan Gentry ; Added definition for CTRLR ; ; (104/02) 28-Jan-95 Megan Gentry ; Added definitions for SPACE ; ;- .SBTTL CONDITIONAL SUMMARY ;+ ;COND ; ;NOTE: Record ALL monitor conditionals here. If you add one, also add it to ; SYSTEM.MAC (.MONDF) and to the block zero conditional record in BSTRAP, ; unless it will appear in the fixed area. ; ; (only applies to) ; [found in system image] ; [xxxxx. in yyyyyy means bit xxxxx. in location yyyyyy] ; [xxxxx.(M) in yyyyyy means bit mask xxxxx. in location yyyyyy] ; [xxxxxx(B) means the value in byte location xxxxxx] ; ;AI$COD (0) No autumatic Installation Code [AICOD. in $GENCD] ; 1 Automatic installation code ; <1-SB>!MMG$T!MTT$Y => AI$COD=0 ; ;BATC$H (0) No Batch support [BATCH. in $GENCD] ; 1 Batch support ; ;CLOCK (60.) Clock ticks at 60 Hz ; 50. Clock ticks at 50 Hz [CLK50$ in $CNFG1] ; ;CONT$N (0) No CONTNx.COM file used [CONTN. in $GENCD] ; 1 CONTNx.COM file used ; ;CVT$NU (0) Numeric conversion routine in RMON [CVTNU. in $GENUS] ; 1 Numeric conversion routine in USR ; MMG$T is default (forced =1 if MMG$T=1) ; ;DL11$L (1) Number of local DL terminals (MTT$Y) ; [$GENLN(B)-$GENLM(B)] ; ;DL11$M (0) Number of remote DL terminals (MTT$Y) [$GENLM(B)] ; ;DL11$N (1) Number of DL11's supported [$GENLN(B)] ; ;DLMD$M (0) No DL controller modem support [?????????] ; 1 DL controller modem support ; ;DZ11$L (0) Number of local DZ terminals (MTT$Y) ; [$GENZN(B)-$GENZM(B)] ; ;DZ11$M (0) Number of remote DZ terminals (MTT$Y) [$GENZM(B)] ; ;DZ11$N (0) Number of DZ11's supported [$GENZN(B)] ; ;DZLE$N (30) 8 bit char len for DZ11's (MTT$Y&DZ11$N) [DZLEN.(M) in $GENDZ] ; ;DZMD$M (0) No DZ controller modem support [?????????] ; 1 DZ controller modem support ; ;DZSP$D (2400) 300 baud line speed for DZ11's (MTT$Y&DZ11$N) [DZSPD.(M) in $GENDZ] ; ;DZST$P (0) Stop code is 1 unit for DZ11's (MTT$Y&DZ11$N) [DZSTP.(M) in $GENDZ] ; DZSP$D=1000 => DZST$P=40 (2 units for 110 baud) ; ;DZV$11 (0) DZ11 multiplexor support ; 1 DZV11 multiplexor support ; ;DH11$N (0) Number of DH11's supported [$GENHN(B)] ; ;DH11$L (0) Number of local DH terminals (MTT$Y) ; [$GENHN(B)-$GENHM(B)] ; ;DH11$M (0) Number of remote DH terminals (MTT$Y) [$GENHM(B)] ; ;DHLE$N (8) 8 bit char len for DH11's (MTT$Y&DH11$N) [DHLEN.(M) in $GENDH] ; ;DHST$P (1) Stop code is 1 unit for DH11's (MTT$Y&DH11$N) [DHSTP.(M) in $GENDH] ; ;DHMD$M (0) No DH controller modem support [?????????] ; 1 DH controller modem support ; ;DHSP$D (7000) 9600 baud line speed for DH11's (MTT$Y&DH11$N) [DHSPD.(M) in $GENDH] ; Generated when line-by-line initialization not selected ; ;DHSZ$c Number of lines for DH controller 'c' ; ;DHUS$c Number of lines used on DH controller 'c' ; ;DH$Bcl (7000) 9600 baud line speed for DH11 controller 'c', line 'l' ; Generated when line-by-line speed initialization selected ; ;EIS$I (0) Do not use EIS instructions [EISI. in $GENIN] ; 1 Use EIS instructions ; ;ERL$G (0) No error logging support [ERLG$ in $SYSGE] ; 1 Error logging support ; ;FJOBS (7) Number of FG jobs allowed if SYT$K=1 (SB=0) [$JOBS(B)-1] ;FJOBS (1) Number of FG jobs allowed if SYT$K=0 (SB=0) ;FJOBS (0) No FG jobs allowed in SB/XB (SB=1) ;FPU$11 (0) No FPU/FPP support [FPU11. in $GENIN] ; 1 FPU/FPP support ; ;GET$FD 0 GETFD routine in RMON [GETFD. in $GENUS] ; 1 GETFD routine in USR ; MMG$T is default ; ;GT$NM (0) GETNAM routine in RMON [GTNM. in $GENUS] ; 1 GETNAM routine in USR ; MMG$T is default (forced =1 if MMG$T=1) ; ;HSR$B (0) No High speed ring buffering (input) [HSRB. in $GENTT] ; 1 High speed ring buffering (input) ; ;HSRBSZ (16.) High speed ring buffer size (HSR$B) [$GENHS(B)] ; ;HSR$O (0) No High speed ring buffering (output) [HSRO. in $GENTT] ; 1 High speed ring buffering (output) ; ;IND$ON (0) SET KMON NOIND at boot [INDON. in $GENCD] ; 1 SET KMON IND at boot ; ;KW11$P (0) No KW11-P support [KW11P$ in $CNFG1] ; 1 KW11-P support ; ;L$ANG (1) Language related command set [LANG. in $GENDC] ; 0 No Language related command set ; ;LIGH$T (0) No light register update [LIGHT. in $GENMS] ; 1 Light register update ; ;LK4$DV 0 LK4DEV routine in RMON [LK4DV. in $GENUS] ; 1 LK4DEV routine in USR ; MMG$T is default ; ;LNK$IF =0 No LINK indirect file support (forced) [LNKIF. in $GENCD] ; ;$LRLPZ (4) Linkage routines links for patches (RTEM) [$GENLR(B)] ; ;MAT$S (0) No Asynchronous terminal status support (MTT$Y) [MATS. in $GENTT] ; 1 Asynchronous terminal status support ; ;M$INI (1) Minimum command set [MINI. in $GENDC] ; 0 No minimum command set ; ;MMG$T (0) Non-mapped system [KT11$ in $CNFG1] ; 1 Mapped system ; ;MPT$Y (0) No memory parity support [MPTYS$ in $SYSGE] ; 1 Memory parity support ;MQH$P2 (0) MQ uses Kernal PAR 1 [MQHP2. in $GENXM] ; 1 MQ uses Kernal PARs 1 & 2 ; MMG$T=0 => MQH$P2=0 ; ;MTI$M (0) No multi-terminal timeout support (MTT$Y) [MTIM. in $GENTT] ; 1 Multi-terminal timeout support ; ;MTT$Y (0) No Multi-terminal support [MTTY$ in $SYSGE] ; 1 Multi-terminal support ; ;MTY$HK (0) No Multi-terminal handlers hooks support ; 1 Multi-terminal handler hooks support ; MTT$Y=0 => MTY$HK=0 ; ;MXN$ST (3) Maximum @File nest depth [$IFMXN(B)] ; ;NAME$1 ('R) Monitor name R_____ [$MONAM(2W) in ] ;NAME$2 ('T) Monitor name _T____ [ RAD50 ] ;NAME$3 ('1) Monitor name __1___ ;NAME$4 ('1) Monitor name ___1__ ; MONITOR AND STARTUP FILE NAMES ARE: ; RT11%% STARTM RTEM ; RT11%% STARTV VENUS ; RT11AI STRTAI AUTO-INSTALL ; RT11SB STRTSB SINGLE BACKGROUND ; RT11FB STRTFB FOREGROUND/BACKGROUND ; RT11XB STRTXB EXTENDED BACKGROUND ; RT11XM STRTXM EXTENDED MEMORY ; RT11ZB STRTZB SUPERVISOR I-D BACKGROUND ; RT11ZM STRTZM SUPERVISOR I-D ; ; NOTE ON RT11AI: ; The file AI.ANS contains the definitions: ; AI$COD = 1 ; NAME$5 = <'A> ; NAME$6 = <'I> ; SUFX$S = <'A> ; In AI.MON, SB=1. Both MMG$T and SUP$Y default to zero in EDTG. ; AI$COD is not exlicitly mentioned below. However, the conditionals ; and defaults work out to RT11AI for monitor name and STRTAI for ; the startup file name. ; ;NAME$1 ('R) Monitor name R_____ ;NAME$2 ('T) Monitor name _T____ ;NAME$3 ('1) Monitor name __1___ ;NAME$4 ('1) Monitor name ___1__ ; ;NAME$5 ('S) Monitor name ____S_ if SB=1 & MMG$T=0 ;NAME$6 ('B) Monitor name _____B ; ;NAME$5 ('F) Monitor name ____F_ if SB=0 & MMG$T=0 ;NAME$6 ('B) Monitor name _____B ; ;NAME$5 ('X) Monitor name ____X_ if SB=1 & MMG$T=1 ;NAME$6 ('B) Monitor name _____B ; ;NAME$5 ('X) Monitor name ____X_ if SB=0 & MMG$T=1 ;NAME$6 ('M) Monitor name _____M ; ;NAME$5 ('Z) Monitor name ____Z_ if SB=0 & SUP$Y=1 ;NAME$6 ('B) Monitor name _____B ; ;NAME$5 ('Z) Monitor name ____Z_ if SB=0 & SUP$Y=1 ;NAME$6 ('M) Monitor name _____M ; ;NLEDTG (NDF) List EDTGBL ; DF NList EDTGBL ; ;OWN$ER 0 No Ownership table support [CF3.OW in $CNFG3] ; (1) Ownership table support ; SB=1 => OWN$ER=0 forced ; ;PATC$H (0) Monitor patch space [$GENPT(W)] ; ;PDT$OP (0) Use BIC/BIS to access TT CSRs [PDTOP. in $GENTT] ; Add NOP's after possible traps ; 1 Use MOV/CLR to access TT CSRs ; Suppress (some) NOPs after traps ; ;PWF$L (0) No power fail(ed) message [PWFL. in $GENMS] ; 1 Power fail(ed) message ; ;$RMLPZ (4) Number of RMON Links for patches (RTEM) [$GENRR(B)] ; ;ROL$OV (0) No month rollover [ROLOV. in $GENMS] ; 1 Month rollover ; ;RO$M (0) Inline variables [ROM. in $GENMS] ; 1 "pure" code with out-of-line variables ;RTE$M (0) No RTEM-11 support [RTEM$ in $SYSGE] ; 1 RTEM-11 support ; ;SCCA$G (0) No Global SCCA support [GSCCA$ in $CNFG2] ; 1 Global SCCA support ; ;SILN$T (0) No BSTRAP id message [SILNT. in $GENMS] ; 1 BSTRAP id message ; ;SPC$PS (0) No support for .SPCPS [SPCPS. in $GENXM] ; 1 Support for .SPCPS ; ;STAC$K (60) RMON stack size [$GENSP(W)] ; ;STAR$T (0) No STRT%%.COM command file support [START. in $GENCD] ; 1 STRT%%.COM command file support ; ;SUFX$H ('M) Handler suffix if RTE$M=1 [$HSUFF(W) rad50] ;SUFX$H ('V) Handler suffix if RTE$M=0 & VENU$C=1 ;SUFX$H (' ) Handler suffix if RTE$M=0 & VENU$C=0 & MMG$T=0 ;SUFX$H ('X) Handler suffix if RTE$M=0 & VENU$C=0 & (MMG$T=1 ! SUP$Y=1) ; ;SUFX$S ('M) Startup .COM file is STARTM if RTE$M=1 [$GENSS(B)] ;SUFX$T ('M) [$GENST(B)] ;SUFX$S ('V) Startup .COM file is STARTV if RTE$M=0 & VENU$C=1 ;SUFX$T ('V) ;SUFX$S NAME$5 Startup .COM file is STRT%% if RTE$M=0 & VENU$C=0 ;SUFX$T NAME$6 ; ;SUP$Y (0) No supervisor mode support ; 1 Supervisor mode support ; ;SYT$K (0) No system tasking [STASK$ in $SYSGE] ; 1 System tasking ; SB=1 => SYT$K=0 forced ; ;TIME$R 0 No timer support [TIMER$ in $SYSGE] ; 1 Timer support ; SB=1&MMG$T=0 => 0 ; SB=0!MMG$T=1 => 1 ; ROL$OV!RTE$M!TIM$IT!MTT$Y => TIME$R=1 forced ; ERL$G => TIME$R=1 forced ; ;TIM$IT (0) No device timeout support [TIMIT$ in $SYSGE] ; 1 Device timeout support ; TIM$IT = MTT$Y & ; ;TKB (177562) Keyboard data register [$TTKB(W)] ; ;TKS (177560) Keyboard status register [$TTKS(W)] ; ;TPB (177566) Printer (TT) data register [$TTPB(W)] ; ;TPS (177654) Printer (TT) status register [$TTPS(W)] ; ;TPS$MK (177705) Mask for TT transmit CSR [$GENTM(W)] ; ;TTYIN Alias for TTBF$I ;TTBF$I (134.) Input ring buffer [$GENTI(W)] ; TTBF$I = MIN(TTBF$I,74.) ; TTBF$I = MAX(TTBF$I,256.) ; TTBF$I = TTBF$I&177776 ; ;TTYOUT Alias for TTBF$O ;TTBF$O (40.) Output ring buffer [$GENTO(W)] ; TTBF$O = MIN(TTBF$O,10.) ; TTBF$O = MAX(TTBF$O,134.) ; TTBF$O = TTBF$O&177776 ;U$CL (0) No UCL support [UCL. in $GENCD] ; 1 UCL support ; ;U.K. (0) Standard carrier lost timing (MTT$Y) [U.K.. in $GENTT] ; 1 UK carrier lost timing ; ;UNI$64 (0) No extended-unit monitor support [CF3.64 in $CNFG3] ; 1 Extended-unit monitor support ; ;USR$CM 0 Part of USRCOM routine in RMON [USRCM. in $GENUS] ; 1 All of USRCOM routine in USR ; MMG$T is default ; ;U$TIL (1) Utility command set [UTIL. in $GENDC] ; 0 No Utility command set ; ;VS60$ (0) No VS60 support [VS60. in $GENTT] ; 1 VS60 support ; ;VT11$ (0) No VT11 support [VT11. in $GENTT] ; 1 VT11 support ; ;V.TKB (60) Keyboard vector [$GENKB(W)] ; ;V.TPS (64) Printer (TT) vector [$GENPS(W)] ; ;VT.CSR (172000) VT11/VS60 CSR [$GENVC(W)] ; ;VT.VEC (320) VT11/VS60 vector [$GENVV(W)] ; ;XM$FET (0) No .FETCH support in XM [XMFET. in $GENXM] ; 1 .FETCH support in XM ; ;XFX$XX 0 xFxxx routine in RMON [XFXXX. in $GENUS] ; 1 xFxxx routine in USR ; MMG$T is default ; ;X$RCBS (10.) Number of dynamically alterable RCBs [$GENRC(B)] ; ;- .IIF DF NLEDTG, .NLIST .SBTTL ***************************** .SBTTL * System Definitions * .SBTTL ***************************** .SBTTL Monitor Macro Calls and Definitions ;+ ; Macro Library Declarations ;- .LIBRARY "SRC:EDTL.MLB" .LIBRARY "SRC:SYSTEM.MLB" ; .LIBRARY "SRC:HARDWA.MLB" ;+ ; Call Programmed Request and Miscellaneous Utility Macros ;- .MCALL .ASSUME ...CM3 ..V1.. ..V2.. ;SYSMAC ..V1.. .MCALL BSS DEFALT ;EDTL ;+ ; Call Structure Definition Macros ;- .MCALL .DSECT .DS ;SYSTEM .MCALL .MODDF ;SYSTEM ;+ ; Invoke Structure Definition Macros ;- .MODDF ;Module version number definitions ;+ ; Delete Structure Definition Macros (Free Up Workfile Space) ;- .MACRO .MODDF .ENDM .MODDF .SBTTL SYSGEN Conditional Assembly Parameters ;+ ; SYSGEN Parameters ;- DEFALT AI$COD FLAG ;Generate monitor for automatic installation DEFALT ERL$G FLAG ;Error Log Support DEFALT FPU$11 FLAG ;FPU/FPP Support DEFALT KW11$P FLAG ;Programmable Clock Support DEFALT LIGH$T FLAG ;Lights Routine for 11/45 & 11/70 DEFALT MPT$Y FLAG ;Memory Parity Support DEFALT MQ$RES FLAG ;MQ Handler Resident (in RMON)? Default is NO DEFALT MQH$P2 FLAG ;Fast MQ handler in XB/XM/ZB/ZM, but uses PAR2 DEFALT PATC$H 0 ;Default PATCH space is none DEFALT PDT$OP FLAG ;PDT-11 console I/O optimization .WEAK PI.NUM ;If PI is not in dev tables make PI.NUM = 0 DEFALT PWF$L FLAG ;Power Fail Support DEFALT ROL$OV FLAG ;Month Rollover Support DEFALT RO$M FLAG ;ROM separation DEFALT RTE$M FLAG ;Monitor running under RTEM-11 DEFALT SB FLAG ;Default monitor is FB (or XM/ZM if MMG$T=1) DEFALT SCCA$G FLAG ;Global SCCA support DEFALT SILN$T FLAG ;RT-11 Silent on Bootstrap DEFALT SPC$PS FLAG ;.SPCPS Request DEFALT STAC$K 60 ;RMON Stack Size DEFALT STAR$T FLAG ;BOOT Start Up Command File DEFALT SUP$Y FLAG ;Default is no supervisor mode DEFALT SYT$K FLAG ;System Task Support DEFALT TIM$IT FLAG ;I/O Time Out Support DEFALT UNI$64 FLAG ;Support for 64-unit handlers DEFALT VENU$C FLAG ;VENUS console support DEFALT X$RCBS 10. ;# of RCBs dedicated for handlers DEFALT XM$FET FLAG ;.FETCH support in the XB/ZB & XM/ZM monitors ; ; .IF NE SUP$Y ;All monitors supporting supervisor mode MMG$T = 1 ;are mapped. .IFF ;NE SUP$Y DEFALT MMG$T FLAG .ENDC ;NE SUP$Y .IF EQ SB ;Device ownership is supported only DEFALT OWN$ER 1 ;under multi-job monitors. .IFF ;EQ SB OWN$ER = 0 .ENDC ;EQ SB .IF NE SB & <1-MMG$T> ;FB and all mapped monitors have DEFALT TIME$R FLAG ;timer support. .IFF ;NE SB & <1-MMG$T> DEFALT TIME$R 1 .ENDC ;NE SB & <1-MMG$T> .IF NE ERL$G ;All error logging monitors have TIME$R = 1 ;timer support. .ENDC ;NE ERL$G ; ; .IF NE MMG$T!RTE$M ;PDP-11s for mapped monitors or RTEM EIS$I = 1 ; have the EIS. .IFF ;NE MMG$T!RTE$M DEFALT EIS$I FLAG .ENDC ;NE MMG$T!RTE$M .IF NE MMG$T .WEAK UB.NUM ;If UB is not in dev tables make UB.NUM = 0 .ENDC ;NE MMG$T .SBTTL Monitor Naming Defaults DEFALT NAME$1 <'R> ;Monitor name R_____ DEFALT NAME$2 <'T> ;Monitor name _T____ DEFALT NAME$3 <'1> ;Monitor name __1___ DEFALT NAME$4 <'1> ;Monitor name ___1__ .IF EQ .IF NE SB DEFALT NAME$5 <'S> ;_S DEFALT NAME$6 <'B> ;__B SYT$K = 0 .IFF ;NE SB DEFALT NAME$5 <'F> ;_F DEFALT NAME$6 <'B> ;__B .ENDC ;NE SB .IFF ;EQ .IF EQ SUP$Y DEFALT NAME$5 <'X> ;_X .IFF ;EQ SUP$Y DEFALT NAME$5 <'Z> ;_Z .ENDC ;EQ SUP$Y .IF NE SB DEFALT NAME$6 <'B> ;__B SYT$K = 0 .IFF ;NE SB DEFALT NAME$6 <'M> ;__M .ENDC ;EQ SB .ENDC ;EQ ; .IF EQ RTE$M .IF EQ VENU$C DEFALT SUFX$S NAME$5 ;RT STARTUP FILE NAMES ARE STRTSB.COM, DEFALT SUFX$T NAME$6 ;STRTFB.COM, STRTXB.COM, STRTXM.COM, .IF EQ ;STRTZB.COM, STRTZM.COM, AND STRTAI.COM. SUFX$H = <' > ;UNMAPPED RT HANDLER NAMES ARE "__.SYS" .IFF ;EQ SUFX$H = <'X> ;MAPPED RT HANDLER NAMES ARE "__X.SYS" .ENDC ;EQ .IFF ;EQ VENU$C SUFX$H = <'V> ;VENUS RT HANDLER NAMES ARE "__V.SYS" SUFX$S = <'V> ;VENUS STARTUP FILE NAME IS STARTV.COM. SUFX$T = <'V> .ENDC ;EQ VENU$C .IFF ;EQ RTE$M DEFALT SUFX$H <'M> ;RTEM HANDLER NAMES ARE "__M.SYS" DEFALT SUFX$S <'M> ;RTEM STARTUP FILE NAME IS STARTM.COM. DEFALT SUFX$T <'M> .ENDC ;EQ RTE$M .SBTTL Monitor Options Compatibility Checking ;+ ; Compatibility check options for All Monitors (SB, XB, FB, XM, VENUS, RTEM) ;- .IIF NE < <1-SB> ! MMG$T ! MTT$Y >, AI$COD = 0 ;Auto install monitor is SB ONLY ;+ ; Memory Management Checks ;- .IF EQ MMG$T MQH$P2 = 0 ;No Memory Management options unless XB/XM/ZB/ZM XM$FET = 0 ; " " " " " .ENDC ;EQ MMG$T ;+ ; System Tasking Checks ;- .IF NE SYT$K DEFALT FJOBS 7,GLOBAL ;Foreground jobs allowed if system tasking selected .IFF ;NE SYT$K .IF EQ SB FJOBS == 1 ;Only one foreground job allowed if no system tasking .IFF ;EQ SB FJOBS == 0 ;No foreground jobs allowed in SB/XB/ZB .ENDC ;EQ SB .ENDC ;NE SYT$K FJOBNM =: < FJOBS * 2 > ;Job number of FG job .SBTTL KMON Command Language and IND Defaults DEFALT BATC$H FLAG ;BATCH Processor Support DEFALT CONT$N FLAG ;Continuation Indirect File Support (MINC) DEFALT IND$ON FLAG ;1 sets KMON IND from bootstrap DEFALT MXN$ST 3 ;@File Maximum Nesting Depth DEFALT U$CL FLAG ;User Defined Commands DEFALT M$INI 1 ;Minimal Commands DEFALT ABOR$$ M$INI ;ABORT DEFALT ASSI$$ M$INI ;ASSIGN DEFALT B$$ M$INI ;BASE DEFALT CLOS$$ M$INI ;CLOSE DEFALT D$$ M$INI ;DEPOSIT DEFALT DATE$$ M$INI ;DATE DEFALT DEAS$$ M$INI ;DEASSIGN DEFALT DISM$$ M$INI ;DISMOUNT DEFALT E$$ M$INI ;EXAMINE DEFALT FRUN$$ M$INI ;FRUN DEFALT GET$$ M$INI ;GET DEFALT HELP$$ M$INI ;HELP DEFALT INST$$ M$INI ;INSTALL DEFALT LOAD$$ M$INI ;LOAD DEFALT MOUN$$ M$INI ;MOUNT DEFALT REEN$$ M$INI ;REENTER DEFALT REMO$$ M$INI ;REMOVE DEFALT RESE$$ M$INI ;RESET DEFALT RESU$$ M$INI ;RESUME DEFALT SAVE$$ M$INI ;SAVE DEFALT SET$$ M$INI ;SET DEFALT SRUN$$ M$INI ;SRUN DEFALT STAR$$ M$INI ;START DEFALT SUSP$$ M$INI ;SUSPEND DEFALT TIME$$ M$INI ;TIME DEFALT UNLO$$ M$INI ;UNLOAD DEFALT L$ANG 1 ;Language Commands DEFALT COMP$$ L$ANG ;COMPILE DEFALT DIBO$$ L$ANG ;DIBOL DEFALT EXEC$$ L$ANG ;EXECUTE DEFALT FORT$$ L$ANG ;FORTRAN DEFALT LIBR$$ L$ANG ;LIBRARY DEFALT LINK$$ L$ANG ;LINK DEFALT MACR$$ L$ANG ;MACRO DEFALT U$TIL 1 ;Utility Commands DEFALT BACK$$ U$TIL ;BACKUP DEFALT BOOT$$ U$TIL ;BOOT DEFALT COPY$$ U$TIL ;COPY DEFALT CREA$$ U$TIL ;CREATE DEFALT DELE$$ U$TIL ;DELETE DEFALT DIFF$$ U$TIL ;DIFFERENCES DEFALT DIRE$$ U$TIL ;DIRECTORY DEFALT DUMP$$ U$TIL ;DUMP DEFALT EDIT$$ U$TIL ;EDIT DEFALT FORM$$ U$TIL ;FORMAT DEFALT INIT$$ U$TIL ;INITIALIZE DEFALT MAKE$$ U$TIL ;MAKE DEFALT MUNG$$ U$TIL ;MUNG DEFALT PRIN$$ U$TIL ;PRINT DEFALT PROT$$ U$TIL ;PROTECT DEFALT RENA$$ U$TIL ;RENAME DEFALT SHOW$$ U$TIL ;SHOW DEFALT SQUE$$ U$TIL ;SQUEEZE DEFALT TECO$$ U$TIL ;TECO DEFALT TYPE$$ U$TIL ;TYPE DEFALT UNPR$$ U$TIL ;UNPROTECT SUBM$$ =: 0 ;SUBMIT (not allowed at this time) .IF NE SB ;If SB/XB/ZB don't let them be smart ABOR$$ =: 0 FRUN$$ =: 0 RESU$$ =: 0 SRUN$$ =: 0 SUSP$$ =: 0 .ENDC ;NE SB .IF EQ SYT$K ;No SYS TASK support = no SRUN command SRUN$$ =: 0 .ENDC ;EQ SYT$K .SBTTL Terminal Definition Conditional Defaults ;+ ; Terminal Register Definitions ;- DEFALT V.TKB 60 GLOBLE ;Keyboard Vector DEFALT V.TPS 64 GLOBLE ;Printer Vector DEFALT U.K. FLAG ;U.K. Modem Hangup Support DEFALT TPS$MK 177705 ;BIC mask for console transmitter SR .IF EQ VENU$C DEFALT TKS 177560 GLOBLE ;Keyboard Status DEFALT TKB 177562 GLOBLE ;Keyboard Buffer DEFALT TPS 177564 GLOBLE ;Printer Status DEFALT TPB 177566 GLOBLE ;Printer Buffer .IFF ;EQ VENU$C DEFALT TKS 175402 GLOBLE ;Keyboard Status DEFALT TKB 175400 GLOBLE ;Keyboard Buffer DEFALT TPS 175402 GLOBLE ;Printer Status DEFALT TPB 175401 GLOBLE ;Printer Buffer DEFALT TPCR 175407 GLOBLE ;Local Console: Command Write Register DEFALT TKCR 175406 GLOBLE ; .ENDC ;EQ VENU$C ;+ ; High Speed I/O Ring Buffer Defaults ;- DEFALT HSR$B FLAG ;High Speed Input Ring Buffer DEFALT HSR$O HSR$B ;High Speed Output Ring Buffer DEFALT HSRBSZ 16. ;High Speed Ring Buffer Size ;+ ; TTY Input Buffer Size Checks - specify default input buffer size, round ; buffer size to an even number of bytes and check for size in correct range. ;- DEFALT TTBF$I 134. ;134 Character Input Ring TTBF$I = TTBF$I & 177776 ;Clear low bit of TTBF$I to round down (EVEN) .IIF LT < TTBF$I - 74. >, TTBF$I = 74. ;If TTBF$I too low, set to low limit .IIF GT < TTBF$I - 254. >, TTBF$I = 256. ;If TTBF$I too hi, set to hi limit TTYIN = TTBF$I TTBF$I = TTYIN ;Equate for SYSTEM.MLB compatibility ;+ ; TTY Output Buffer Size Checks - specify default output buffer size, round ; buffer size to an even number of bytes and check for size in correct range. ;- .IF EQ VENU$C DEFALT TTBF$O 40. ;40 Character Output Ring for non-VENUS .IFF ;EQ VENU$C DEFALT TTBF$O 132. ;132 Character Output Ring for VENUS .ENDC ;EQ VENU$C TTBF$O = TTBF$O & 177776 ;Clear low bit of TTBF$O to round down (EVEN) .IIF LT < TTBF$O - 10. >, TTBF$O = 10. ;If TTBF$O too low set to low limit .IIF GT < TTBF$O - 134. >,TTBF$O = 134. ;If TTBF$O too high set to high limit TTYOUT = TTBF$O TTBF$O = TTYOUT ;Equate for SYSTEM.MLB compatibility .SBTTL Multi-terminal Conditional Defaults and Error Checking ;+ ; Multi-Terminal Default Definitions ;- DEFALT MTT$Y FLAG ;Multi-Terminal Support DEFALT MAT$S FLAG ;Asynchronous Terminal Status Support DEFALT MTI$M FLAG ;Multi-Terminal Time Out Support DEFALT MTY$HK FLAG ;Multiterminal handler hooks support ;+ ; DL Conditional Symbol Default Definitions ;- DEFALT DL11$L 1 ;# of Local DL Terminals DEFALT DL11$M 0 ;# of Remote DL Terminals DEFALT DLMD$M ;DL modem support (default is no) DL11$N =: DL11$L + DL11$M ;# of DL11 controllers/ports = Local + Remote DL$CMAX =: 8. ;Maximum # of DL controllers ;+ ; Error Checks of DL Conditional Symbol Values ;- .ASSUME DL11$N LE DL$CMAX ;Maximum of 8 DL11 interfaces permitted. ;+ ; DZ Conditional Symbol Values ;- DEFALT DZ11$N 0 ;# of DZ11 Multiplexor Controllers DEFALT DZ11$L 0 ;# of Local DZ Terminals DEFALT DZ11$M 0 ;# of Remote DZ Terminals DEFALT DZMD$M ;DZ modem support (default is no) DEFALT DZV$11 FLAG ;DZV11 Multiplexor Support (default is DZ11) DZ$PORTS=: DZ11$L + DZ11$M ;# of DZ ports = Local + Remote DZ$CMAX =: 2. + ;Maximum # of DZ controllers (DZ=2, DZV=4) DZ$PPC =: 8. - ;# of DZ ports per controller (DZ=8, DZV=4) DEFALT DZSP$D 2400 ;Default Speed is 300 baud DEFALT DZLE$N 30 ;Default Character Length is 8 bits DEFALT DZST$P 0 ;Default Stop Code is 1 unit stop ;+ ; Error Checks of DZ Conditional Symbol Values ;- .ASSUME GE DZ$PORTS ;Error in DZ/DZV specification .ASSUME DZ11$N LE DZ$CMAX ;Too many DZ/DZV Controllers (max: DZ=2,DZV=4) ;+ ; DH Conditional Symbol Values ;- DEFALT DH11$N 0 ;Number of DH controllers DEFALT DH11$L 0 ;Number of local DH lines DEFALT DH11$M 0 ;Number of remote DH lines DEFALT DHMD$M ;DH modem support (default is no) DEFALT DHSP$D 7000 ;Default Speed is 9600 baud DEFALT DHLE$N 8. ;Default character length is 8 bits DEFALT DHST$P 1. ;Default Stop Code is 1 unit stop ;+ ; Error Checks of DH Conditional Symbol Values ;- CTRL$N = 0 TOTA$L = 0 .REPT DH11$N .IRP .C.,<\CTRL$N> .ASSUME DHUS$'.C.' LE DHSZ$'.C.' ;Error in DH specification TOTA$L = TOTA$L + DHUS$'.C.' .ENDR CTRL$N = CTRL$N + 1 .ENDR ;DH11$N .Assume TOTA$L EQ ;Inconsistent DH specification ;+ ; Miscellaneous Terminal Definitions ;- .IIF EQ , DZST$P =: 40 ;Stop Code is 2 unit stops for 110 baud .IIF EQ , DHST$P =: 2 ;Stop code is 2 unit stops for 110 baud .IIF NE , TIM$IT =: 1 ;Device timeout support if ; multi-terminal timeout or ; any modem support selected .IIF NE , TIME$R =: 1 ;Timer support if ; device timeout or ; multi-terminal selected ;+ ; Error checks of multiterminal definitions ;- .IIF EQ MTT$Y, MTY$HK = 0 ;No hooks if no multi-terminal ;+ ; Include timer support if VENUS Console, RTEM or Month Roll-Over options ;- .IIF NE < VENU$C ! RTE$M ! ROL$OV >, TIME$R =: 1 .SBTTL Monitor Object Code Location Conditionals .IF NDF GT$NM .IF NE MMG$T GT$NM=1 ;In XM, force GETNAM into the USR .IFF ;NE MMG$T DEFALT GT$NM FLAG ;Default GETNAM routine is in RMON .ENDC ;NE MMG$T .ENDC ;NDF GT$NM .IIF NE MMG$T, CVT$NU=1 ;In XM, force (OCT,DEC,CVT)NUM into the USR DEFALT CVT$NU FLAG ;Default (OCT,DEC,CVT)NUM routines are in RMON DEFALT XFX$XX MMG$T ;Default place for these ... DEFALT LK4$DV MMG$T ; ... routines is in RMON ... DEFALT USR$CM MMG$T ; ... for SB/FB and in USR ... DEFALT GET$FD MMG$T ; ... for XB/XM ;+ ; Miscellaneous Monitor Macros ;- .IF EQ EIS$I ;Use the SOB macro if no EIS support. .MCALL SOB ;SYSMAC .ENDC ;EQ EIS$I .MACRO ...... ;Null macro for source code formatting .ENDM ...... .MACRO .BITS a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0 .IRPC x, .IIF NB .IIF DIF ,<0> .WEAK x .ENDR .BYTE <*1>!<*2>!<*4>!<*10>!<*20>!<*40>!<*100>!<*200> .BYTE <*1>!<*2>!<*4>!<*10>!<*20>!<*40>!<*100>!<

*200> .ENDM .BITS .MACRO .WBYTE a .WEAK a .BYTE a .ENDM .WBYTE .MACRO .WWORD a .WEAK a .WORD a .ENDM .WWORD ; ** ACTION ** The following may not be needed anymore .MACRO .MDELEte a,b,c,d,e,f,g,h,i,j .IRPC x, .IF NB .MACRO x .ENDM x .ENDC ;NB .ENDR .ENDM .MDELEte ;+ ; This macro equates SYMBOL to 0 or 1. ; If the value of SYMBOL = 0, the routine it points to is in RMON ; If the value of SYMBOL = 1, the routine it points to is in the USR ;- .MACRO .BYMON SYMBOL,FB,XM,SB,XB,ZM,ZB .IF NDF SYMBOL .IF EQ MMG$T .IF EQ SUP$Y ;NON-MAPPED MONITORS ARE RT11SB & RT11FB. .IF EQ SB SYMBOL = FB .IFF ;EQ SB SYMBOL = SB .ENDC ;EQ SB .IFF ;EQ SUP$Y .ERROR ;NON-MAPPED MONITORS DO NO SUPPORT SUPERVISOR .ENDC ;EQ SUP$Y ;MODE. .IFF ;EQ MMG$T .IF EQ SUP$Y .IF EQ SB ;MAPPED MONITORS W/O SUPERVISOR MODE SUPPORT SYMBOL = XM ;ARE RT11XB AND RT11XM. .IFF ;EQ SB SYMBOL = XB .ENDC ;EQ SB .IFF ;EQ SUP$Y .IF EQ SB ;MAPPED MONITORS WITH SUPERVISOR MODE SUPPORT SYMBOL = ZM ;ARE RT11ZB AND RT11ZM. .IFF ;EQ SB SYMBOL = ZB .ENDC ;EQ SB .ENDC ;EQ SUP$Y .ENDC ;EQ MMG$T .ENDC ;NDF SYMBOL .ENDM .BYMON INRMON=0 INUSR=1 ; Symbol FB XM SB XB ZM ZB .BYMON CVT$NU INRMON INUSR INRMON INUSR INUSR INUSR .BYMON GET$FD INRMON INUSR INRMON INUSR INUSR INUSR .BYMON GT$NM INRMON INUSR INRMON INUSR INUSR INUSR .BYMON LK4$DV INRMON INUSR INRMON INUSR INUSR INUSR .BYMON USR$CM INRMON INUSR INRMON INUSR INUSR INUSR .BYMON XFX$XX INRMON INUSR INRMON INUSR INUSR INUSR .SBTTL Monitor Source Code Version Audit Defaults ;+ ; In .AUDIT, MD.NA indicates "unused components" ;- .IIF EQ MMG$T .XMSUBS==MD.NA .IIF EQ MTT$Y .MTTINT==MD.NA .IIF EQ MTT$Y .MTTEMT==MD.NA .IIF EQ MTT$Y .TRMTBL==MD.NA .SBTTL Permanent Monitor Conditionals ;+ ; Definition of Permanent Conditionals. If these definitions are changed, ; the Monitor WILL malfunction. ;- LNK$IF =: 0 ;If 1, assembles untested LINK Overlay @Files MUT$EX =: 0 ;If 1, asmbls untstd KMON Mutually Xclusive Swtch code .SBTTL ASCII Character Definitions NUL =: 0 ;CTRL/@ == Null CTRLA =: 1 ;CTRL/A CTRLB =: 2 ;CTRL/B CTRLC =: 3 ;CTRL/C CTRLE =: 5 ;CTRL/E CTRLF =: 6 ;CTRL/F BELL =: 7 ;CTRL/G Bell BS =: 10 ;CTRL/H Backspace TAB =: 11 ;CTRL/I Tab LF =: 12 ;CTRL/J Line Feed FF =: 14 ;CTRL/L Form Feed CR =: 15 ;CTRL/M Carriage Return SO =: 16 ;CTRL/N Shift Out CTRLO =: 17 ;CTRL/O CTRLQ =: 21 ;CTRL/Q CTRLR =: 22 ;CTRL/R CTRLS =: 23 ;CTRL/S CTRLU =: 25 ;CTRL/U CANCEL =: 30 ;CTRL/X CTRLZ =: 32 ;CTRL/Z ESCAPE =: 33 ;ESC Altmode SPACE =: 40 ;SPACE RUBOUT =: 177 ;DELETE PRTCTL =: 100 ;Mask to make control character printable CTCDCL =: <200!CTRLC> ;CTRL/C from DCL EOFDCL =: -1 ;EOF character in DCL input EOFIND =: 177 ;EOF character in IND input LOW2UP =: 40 ;BIC mask to convert lower case to upper UPASC2 =: 20040 ;BIC mask to convert 2 bytes of lower case to upper MAXR50 =: <^r999> ;Maximum RAD50 value PTYMSK =: ^c<177> ;Mask to clear parity from 7 bit characters FIXCHR =: 200 ;***TEMPORARY*** Mask to clear parity (til we diverge) .SBTTL Overlay Handler Data Structures ;+ ; Virtual Overlay Table Offsets: ; ; NOTE -- Offsets are the NEGATIVE of the distance from ; the start of the overlay table ; ; V$END -> End of WDBS ; Start of WDBS ; V$REG -> Region Definition Block ; RDB ; RDB ; High Limit of Root+2 ; High Limit of /O Overlays ; Start of Overlay Table ;- .DSECT <0> .DS ,5 .DS V$REG,2 .DS V$END .SBTTL Processor and Vector Definitions PS =: 177776 ;Processor Status Word (NOT ON LSI-11) PS.C =: < SEC & 17 > ;Carry Bit in PSW PS.ALL =: 17 ;Mask for all condition code bits PS.TRC =: 20 ;Trace Bit in PSW PMODE =: 030000 ;Previous Mode Mask CMODE =: 140000 ;Current Mode Mask PS.PRI =: 340 ;Priority Mask PR0 =: 0 ;Priority 0 PR4 =: 200 ;Priority 4 PR5 =: 240 ;Priority 5 PR6 =: 300 ;Priority 6 PR7 =: 340 ;Priority 7 SWR =: 177570 ;Switch/Display Register ;+ ; Fixed Vectors and Default Stack ;- V.EXIT =: 0 ;BIC R0,R0 / [ .EXIT | .ASTX ] V.CPU =: 4 ;Illegal Memory Trap Vector V.INST =: 10 ;Reserve Instruction Trap Vector V.BPT =: 14 ;BPT Trap Vector V.IOT =: 20 ;IOT Trap Vector V.POWR =: 24 ;Power Fail Vector V.EMT =: 30 ;EMT Trap Vector V.TRAP =: 34 ;TRAP Trap Vector V.DL11 =: 60 ;Boot-time console input vector V.KW1L =: 100 ;Line Time Clock Vector V.KW1P =: 104 ;Programmable Clock Vector V.MEM =: 114 ;Memory Parity Error Trap Vector V.SBRK =: 140 ;BREAK Trap Vector for SBC-11/21'S V.FPP =: 244 ;FPU and FIS Trap Vector V.MMU =: 250 ;Memory Management Fault Vector V.ADV1 =: 400 ; V.MAX =: 500 ;End of Supported Vector Region RED.SP =: V.ADV1 ;"RED" Stack limit STD.SP =: 1000 ;Standard Initial Stack Value .SBTTL Miscellaneous Hardware Definitions RCS.IE =: 100 ;DL Rcvr. Interrupt Enable XCS.IE =: 100 ;DL Xmtr. Interrupt Enable CCR =: 177746 ;Cache control register CCR.DI =: 1 ; Bit to disable non-fatal cache error traps CMER =: 177744 ;Cache Memory Error Register CME.HI =: 200 ;High Byte Parity Error CME.LO =: 100 ;Low Byte Parity Error CME.TC =: 40 ;CPU Tag Parity Error CME.TD =: 20 ;DMA Tag Parity Error .SBTTL Line Clock Defaults and Register Definitions ;+ ; Define Default Clock Values ;- HZ.50 =: 50. ;50 Hertz constant HZ.60 =: 60. ;60 Hertz constant DAT.OF =: 72. ;Dates are offset from 1972. TIMHI =: 117 ;# Clock Ticks/day (60 HERTZ) TIMLO =: 15000 TIMH50 =: 101 ;# Clock Ticks/day (50 HERTZ) TIML50 =: 165400 .IF EQ VENU$C DEFALT CLOCK HZ.60 ;Default line frequency is 60 hertz .IFF ;EQ VENU$C DEFALT CLOCK HZ.50 ;Default line frequency is 50 hertz for VENUS console .ENDC ;EQ VENU$C .IF NE .IF NE .ERROR CLOCK ;Illegal clock frequency specified CLOCK = HZ.60 ;60 cycle assumed .ENDC ;NE .ENDC ;NE .IF NE KW11$P ;+ ; KW11-P Clock Definitions ;- LKCS =: 172540 ;Clock Status Register LKSTAT =: 115 ;LKCS Value: Count Down; Repeat; Line Frequency LKPB =: 172542 ;Clock Preset Buffer Register LKVEC =: V.KW1P ;Clock Vector .IFF ;NE KW11$P ;+ ; KW11-L Clock Definitions ;- LKCS =: 177546 ;Clock Status Register LKSTAT =: 100 ;Value to load into LKCS LKPB =: 177546 ;No Preset Register LKVEC =: V.KW1L ;Clock Vector .ENDC ;NE KW11$P .SBTTL KT11 (Memory Management) Register Definitions ;+ ; KT11 Register Definitions ;- KW$01 =: <1.*4000> ; 1K words KW$04 =: <4.*KW$01> ; 4K words KW$28 =: <28.*KW$01> ;28K words KW$30 =: <30.*KW$01> ;30K words KISAR0 =: 172340 ;KERNEL I-Space Address Register 0 KISAR1 =: 172342 ;KERNEL I-Space Address Register 1 KISAR2 =: 172344 ;KERNEL I-Space Address Register 2 KISDR0 =: 172300 ;KERNEL I-Space Descriptor Register 0 UISAR0 =: 177640 ;USER I-Space Address Register 0 UISAR1 =: 177642 ;USER I-Space Address Register 1 UISAR5 =: 177652 ;USER I-Space Address Register 5 UISAR6 =: 177654 ;USER I-Space Address Register 6 UISDR0 =: 177600 ;USER I-Space Descriptor Register 0 UISDR1 =: 177602 ;USER I-Space Descriptor Register 1 UDSAR0 =: 177660 ;USER D-Space Address Register 0 SISAR0 =: 172240 ;SUPY I-Space Address Register 0 SDSAR0 =: 172260 ;SUPY D-Space Address Register 0 UDSDR0 =: 177620 ;USER D-Space Descriptor Register 0 SISDR0 =: 172200 ;SUPY I-Space Descriptor Register 0 SDSDR0 =: 172220 ;SUPY D-Space Descriptor Register 0 MMR0 =: 177572 ;MMU Status Register 0 MMR1 =: 177574 ;MMU Status Register 1 MMR2 =: 177576 ;MMU Status Register 2 MMR3 =: 172516 ;MMU Status Register 3 MMR3.U =: 1 ; User mode I&D space separation bit MMR3.S =: 2 ; Supervisor mode I&D space separation bit MMR3.C =: 10 ; CSM instruction enabled bit MM3E22 =: 20 ; 22 Bit address mapping bit in SR3 MM3UBA =: 40 ; Bit to enable UNIBUS mapping PARCKB =: 64. ;Bytes in a chunk PARCKW =: ;Words in a chunk PDRBYP =: 100000 ;Bypass Cache bit PDR4KW =: 077400 ;PDR value for 4KW size PDRSTD =: ;"standard" PDR value, 4KW size and R/W PDRINH =: ;PDR value, 4KW size, R/W, bypass cache P04KCK =: ;# of 32Wd Chunks in 4K(1 PAR addr. inc. for KxSARn) P28KCK =: <7.*P04KCK> ;# of 32 Word Chunks in 28K [7*(# of 32wd chks in 4K)] P32KCK =: <8.*P04KCK> ;Maximum virtual address span in 32 word chunks PARCIO =: 177600 ;PAR7 value for I/O page (in 22-bit address system) PAR1 =: <1*KW$04> ;PAR1 Low Address in bytes PAR2 =: <2*KW$04> ;PAR2 Low Address in bytes PAR3 =: <3*KW$04> ;PAR3 Low Address in bytes PAR5 =: <5*KW$04> ;PAR5 Low Address in bytes PAR6 =: <6*KW$04> ;PAR6 Low Address in bytes PAR7 =: <7*KW$04> ;PAR7 Low Address in bytes PAR1CK =: <1*P04KCK> ;PAR1 Low Address in 32 word chunks PAR2CK =: <2*P04KCK> ;PAR2 Low Address in 32 word chunks PAR3CK =: <3*P04KCK> ;PAR3 Low Address in 32 word chunks PAR5CK =: <5*P04KCK> ;PAR5 Low Address in 32 word chunks PAR6CK =: <6*P04KCK> ;PAR6 Low Address in 32 word chunks PAR7CK =: <7*P04KCK> ;PAR7 Low Address in 32 word chunks PROCFG =: 037776 ;PAR1 biased address of start of PRO3xx CONFIG table CTI =: -10. ;Offset to number of option slots SLOT0 =: -14. ;Option slot 0 ID .SBTTL Miscellaneous System Definitions BATSW$ =: 10 ;Offset to BATSW1 in BA.SYS .ASSUME BATSW$ EQ 10 ;If this changes, also change BATSW$ in BA.MAC TT$$$1 =: 10 ;Offset to first entry in TT.SYS .ASSUME TT$$$1 EQ 10 ;If this changes, also change TT$$$1 in TT.MAC TT$$$2 =: 12 ;Offset to second entry in TT.SYS .ASSUME TT$$$2 EQ 12 ;If this changes, also change TT$$$2 in TT.MAC OVLYSZ =: 2 ;2 Block Overlays in all Monitors OVLYN = <0-OVLYSZ> ;No Overlays yet (first one is number 0) ;+ ; Channel Definitions ;- CHNUM =: 16. ;16. I/O Channels CHOVLY =: 15. ;Number of Channel used for User Overlays CHSYS =: 16. ;Number OF System I/O Channel FCHNM =: 16. ;Number of Foreground Channels DOFSET =: <6-2> ;Directory Segment #1 starts at block 6 MAX.UN =: 7 ;Maximum device unit # H.HOLD =: 100000 ;Handler HOLD bit BK.WD =: 256. ;256. Words per block BK.BYT =: 512. ;512. Bytes per block BD.1W =: 1 ;Used to round/mask to a 1-word boundary BD.2W =: 3 ; " 2-word " BD.32W =: 77 ; " 32-word " BD.64W =: 177 ; " 64-word " BD.BLK =: 777 ; " 1-block " ODDADR =: 1 ;Check odd address; force processor odd address traps L.UBUF =: ;Length of USR Directory Buffer in Bytes L.LJNM =: 6 ;Maximum number of characters in logical job name L.FNAM =: 6 ; " file name L.FTYP =: 3 ; " extension (type) ;+ ; Offsets Onto the Stack When an EMT is Running: ;- SAVEST =: <5+MMG$T>*2 ;6 Registers on Stack, plus KISAR1 if XM .IF NE MMG$T OLDKP1 =: 2 ;EMT OP. Saved KISAR1 .ENDC ;NE MMG$T OLDPC =: ;EMT OP. Program Counter (points after EMT instructn.) OLDPS =: ;EMT OP. Processor Status EMTARG =: ;EMT Arguments ERRPC =: ;PC of Errant EMT ERRPS =: ;EMT 17 Alters C Bit Here ;+ ; SPSTAT ; SPOOLer status word (fixed offset 414) ;>>> This definition is changed in SYSTEM.MAC ;- SP$ACT =: 200 ;SPOOLer active mask bit .IF NE VENU$C ;If VENUS console (for next page) .SBTTL VENUS (VAX 8600) Console Definitions VENMSZ =: 164000 ;VENUS console T-11 memory size VBTPAD =: 114 ;VENUS padding (so boot startup overlay not too big) ;+ ; VENUS TOY (Time of Year) Clock Definitions ;- V.TOY =: 104 ;TOY Clock Vector TURN =: 174013 ;TOY Update Request Number Reg: changed => update time TSEL =: 200 ; VAX update TOY Clock request (MTPR #TODR) UTOY =: 174014 ;Update TOY value for VAX (32 bits) BTOY =: 174034 ;Buffered TOY value for VAX (32 bits) CMISC =: 174043 ;Console bus (Cbus) Misc. Register UPEND =: 200 ; Console TOY update in progress (MFPR #TODR) TRDR =: 175000 ;TOY Read Data Register TWDR =: 175002 ;TOY Write Data Register TRSR =: 175005 ;TOY Read Status Register TWCR =: 175006 ;TOY Command Write Register G3MR =: 3 ; Group 3 Mode Register select G3INIT=: 006050 ; " Initialization TOYOFF=: 005400 ; Group n Dead clock pattern ("0B00" Hex.) G4MR =: 4 ; Group 4 Mode Register select G4INIT=: 000050 ; " Initialization G3LR =: 013 ; Group 3 Load Register select G3HR =: 023 ; " Hold Register select G4LR =: 014 ; Group 4 Load Register select G4HR =: 024 ; " Hold Register select TOYMMR =: 027 ; Master Mode Register select MMINIT=: 140400 ; " Initialization ARM34 =: 054 ; Arm counters 3 and 4 L34 =: 114 ; Load counters 3 and 4 LA34 =: 154 ; Load+Arm counters 3 and 4 SV34 =: 254 ; Save counters 3 and 4 DA34 =: 314 ; Disarm counters 3 and 4 TOYRST =: 377 ; Reset (==Power up Reset) MCSR0 =: 176040 ;Misc. Control and Status Register 0 TOYIE =: 2 ; Enable Interrupts from TOY clock ENACPU =: 4 ; CPU flags are enabled bit MCSR2 =: 176042 ;Misc. Control and Status Register 2 CPUACL =: 200 ; AC power ok if bit on MCSR3 =: 176043 ;Misc. Control and Status Register 3 ACKTIN =: 40 ; Dismiss TOY interrupt ;+ ; Console Terminal USART Command Register and Status Register bit definitions ;- TXEN =: 1 ;Command Register: Transmit Enable RXEN =: 4 ; " Receive Enable ERESET =: 20 ; " Error Reset TXRDY =: 1 ;Status Register: Transmit Ready RXRDY =: 2 ;Status Register: Receive Ready .ENDC ;NE VENU$C .SBTTL PSECT Ordering .PSECT RT11 ;KMON root .PSECT RMNUSR ;USR .PSECT RTDATA ;Fixed area .IF EQ SB ;If not single background job monitor .PSECT OWNER$ ;Device owner table .ENDC ;EQ SB .PSECT UNAM1$ ;Logical name table .PSECT UNAM2$ ;Logical name table .PSECT PNAME$ ;Handler name table .PSECT ENTRY$ ;Handler entry point table .PSECT STAT$ ;Handler status table .PSECT DVREC$ ;Handler block address table .PSECT HSIZE$ ;Handler memory size table .PSECT DVSIZ$ ;Device block size table .IF NE UNI$64 ;If 64-unit handlers supported .PSECT PNAM2$ ;1-letter names, if they exist, else 2-letter .ENDC ;NE UNI$64 .PSECT DVINT$ ;Interrupt forwarding table .IF NE MTT$Y ;If multi-terminal .PSECT MTTY$ ;Multi-terminal TCB's (?) .ENDC ;NE MTT$Y .PSECT RMON ;Resident monitor code .PSECT USRRMN ;Code moved from USR to RMON (Space problems) .IF NE MMG$T ;If XB/XM .PSECT XMSUBS ;Extended memory code .ENDC ;NE MMG$T .IF NE MTT$Y ;If multi-terminal .PSECT MTEMT$ ;Multi-terminal EMT request code .PSECT MTINT$ ;Multi-terminal interrupt code .ENDC ;NE MTT$Y .PSECT STACK$ ;System stack .PSECT PATCH$ ;Monitor patch space .PSECT OVLY0 GBL,OVR .PSECT OVLYE GBL,OVR .PSECT OVLY2 GBL,OVR .PSECT OVLYE2 GBL,OVR .PSECT OVLY4 GBL,OVR .PSECT OVLY6 GBL,OVR .PSECT OVLY10 GBL,OVR .PSECT OVLY12 GBL,OVR .PSECT OVLY14 GBL,OVR .PSECT OVLY16 GBL,OVR .PSECT OVLY20 GBL,OVR .PSECT OVLY22 GBL,OVR .PSECT OVLY24 GBL,OVR .PSECT OVLY26 GBL,OVR .PSECT OVLY30 GBL,OVR .PSECT OVLY32 GBL,OVR .PSECT OVLY34 GBL,OVR .PSECT OVLY36 GBL,OVR .PSECT OVLY40 GBL,OVR .PSECT OVLY42 GBL,OVR .PSECT OVLY44 GBL,OVR .PSECT OVLY46 GBL,OVR .PSECT OVLY50 GBL,OVR .PSECT OVLY52 GBL,OVR .PSECT OVLY54 GBL,OVR .PSECT OVLY56 GBL,OVR .PSECT OVLY60 GBL,OVR .PSECT $LAST$ ;This should be empty and be the ;last PSECT, else there is a ;'Rogue' PSECT or data .IIF DF NLEDTG, .LIST