.AUXIL

;;; "INSTALLATION" RELATED SWITCHES

IFNDEF DEFSYM,[	;ALLOW USER TO USE SYMBOLS IN OTHER WAYS IF HE WISHES.
		;BUT NORMALLY, DEFSYM FOO==BAR DOES FOO==BAR WITH ERROR CHECK.
DEFINE DEFSYM X/
IRPS Z,,[X]
IFNDEF Z,X
.ELSE [
   $$TEM1==Z
   X
   IFN Z-$$TEM1,.ERR Z MULTIPLY .QUOTE`.QUOTE/DEFINED/`
]
.ISTOP
TERMIN TERMIN

IFLE .MLLIT,.ERR .MLLIT MUST BE 1; SETTING IT TO 1.
.MLLIT==1
$$TEMP==1
]
.ELSE $$TEMP==0

IFNDEF DEFOPT,[	;ALLOW USER TO USE SYMBOLS IN OTHER WAYS IF HE WISHES.
		;BUT NORMALLY, DEFOPT FOO==BAR DOES IT UNLESS FOO ALREADY DEFINED
DEFINE DEFOPT X/
IRPS Z,,[X]
IFNDEF Z, X
.ISTOP
TERMIN TERMIN

IFLE .MLLIT,.ERR .MLLIT MUST BE 1; SETTING IT TO 1.
.MLLIT==1
$$TEM2==1
]
.ELSE $$TEM2==0

IFNDEF IPADDR,[		; Helpful auxiliary for configuring net addrs
DEFINE IPADDR A,B,C,D
.RADIX 10.,<<<<<A_8>+B>_8>+C>_8>+D,!TERMIN
]
IFNDEF IPMASK,[		; Build default netmask for network, using class A/B/C
DEFINE IPMASK N
IFE <N>&<1_31.>,[377_24.] .ELSE [IFE <N>&<1_30.>,[177777_16.] .ELSE [77777777_8.]] TERMIN
]

IFE MCOND AIKA,[
DEFOPT KA10P==1		;AI-KA HAS KA10 PROCESSOR
DEFOPT MAXJ==85.	;MAX NUMBER OF JOBS ALLOWED
DEFOPT SWBLK==1		;1=> SWAP BLOCKING, 0=> PRIVILEGED USER
DEFOPT SWPWSP==0	;NO WORKING-SET SWAP SCHEDULER
DEFOPT PAGPRE==1	;PAGE-IN PREEMPTION
DEFOPT SCHBLN==10.	;NUMBER OF RUNNABLE JOBS TO REMEMBER

DEFOPT NQS==8.		;# 2314 UNITS
DEFOPT NTUTBL==2	;TUTS ARE 2 BLOCKS LONG (THIS DEFN BETTER AGREE WITH DC10 DEFS)
DEFSYM NUDSL==440.	;# USER DIRECTORIES ON DISK.  NOTE: JUST CHANGING THIS
			; IS NOT SUFFICIENT!!
DEFOPT NQCHN==40.	;NUMBER 2314 CHNLS
DEFOPT DC10P==1		;HAS SYSTEMS CONCEPTS DISK CONTROL
DEFOPT DMDSK==0		;DOES NOT USE DM DSK FORMAT (I.E. HAS EXTRA WORDS)
DEFOPT QRSRVP==1	;HAS RESERVED DISK PACKS (SECONDARY PACK)
DEFOPT QAUTHP==1	;KEEPS TRACK OF FILE AUTHORS

DEFOPT C1MXP==1		;CHNL 1 MPX FEATURE
DEFOPT NMTCS==1		;NUMBER MAG TAPE UNITS
DEFOPT TM10A==1		;IO-BUS MAG TAPE
DEFOPT PTRP==1		;HAS PAPER TAPE
DEFOPT PTPP==0		; But punch doesn't work!
DEFOPT PDCLKP==1	;"DeCoriolis" CLOCK
DEFOPT DPKPP==1		;DATA POINT KLUDGE (TTY mux)

DEFOPT NETP==1		; Connected to a network
DEFOPT IMPP==1		; Has IMP interface
DEFOPT KAIMP==1
DEFOPT IMPUS==206	; ARPA net host number
DEFOPT IMPUS3==<IPADDR 10,2,0,6>	; Internet host number
DEFOPT NCPP==1		; Include NCP code
DEFOPT NNETCH==30.	; # NCP network channels
DEFOPT INETP==1		; Include Internet code
DEFOPT TCPP==1		; Include TCP code
DEFOPT XBL==20.		; # TCP network channels

DEFOPT TK10P==1		;HAS TK10 TTY SCANNER (NO MORE, BUT LEAVE IT SO TTY#S DON'T CHANGE)
DEFOPT NOTYS==1		;# KA-10 CONSOLE 0 TTYS
DEFOPT NNTYS==16.	;# TTYS ON KNIGHT KLUDGE
DEFOPT NDPTYS==9.	;# TTYS ON DATAPOINT KLUDGE
DEFOPT NSTTYS==16.	;# OF STY'S (PSEUDO-TTY'S)
DEFOPT APL==10		;AP TTY # (really?)

DEFOPT CODP==1		; Has Morse code output device (no antenna though)

; The following AI-KA stuff is broken since the 10-11 interface doesn't work,
; but is retained in case it gets fixed.
DEFOPT TEN11P==0	; Rubin 10-11 interface
IFN TEN11P,[
  DEFOPT XGP==1		; Has XGP
  DEFOPT CHAOSP==1	; Has CHAOS net
  DEFOPT MYCHAD==2026	; CHAOS net address
  DEFOPT NINDX==50.	; Number of Chaosnet indices
  DEFOPT T11CHP==1	; CHAOS net goes through TEN-11 interface
  DEFOPT CH11NM==7	; # of 10-11 PDP11 handling CHAOS net.
  DEFOPT TT11NM==0	; # of 10-11 PDP11 that handles TV TTYs.
  DEFOPT N11TYS==16.	; # PDP11 TV TTYS
  DEFOPT MXVBN==40	; Max video bfr # for assignment purposes.
] ;TEN11P		; These actually correspond to video switch inputs.


; The following stuff used to be on AI-KA and is unlikely to ever
; come back.
;DEFOPT PDP6P==0	;HAS PDP6 (ALAS, NO MORE)
;DEFOPT 340P==0		;HAS 340 DISPLAY (ALAS, NO MORE)
;DEFOPT TABP==0		;DOESN'T HAVE SYLVANIA TABLET ANY MORE
;DEFOPT DSDP==0		;HAS DESELECTION DEVICE (ALAS, NO MORE)
;DEFOPT NEWDTP==0	;HAD OLD DECTAPE CONTROLLER
;DEFOPT RBTCP==0	;ROBOT CONSOLE
;DEFOPT HCLKP==0	;HOLLOWAY CLOCK (ALAS, NO MORE)
;DEFOPT ARMP==0		;HAS NO ARM (AMF MOSTLY) (R.I.P.)
;DEFOPT OMXP==0		;HAS OMX (OUTPUT MULTIPLEXOR) (ALAS, NO MORE)
;DEFOPT IMXP==0		;HAS IMX (INPUT MULTIPLEXOR) (ALAS, NO MORE)
;DEFOPT VIDP==0		;HAD VIDI (R.I.P.)
;DEFOPT CCLKP==0	;NO CHESS TOURN CLOCK STUFF
;DEFOPT NDAP==0		;NEW D/A CONVERTERS (ALAS, NO MORE)

; Physical memory variables

DEFOPT TSYSM==768.	;TOTAL PDP10 1K MEM BLOCKS
DEFOPT ECCMEM==1	;HAS HIC'S ERROR CORRECTING MEMORY
DEFOPT NMMP==4		;# EXEC PAGES FOR MMP TABLE (# VIR PGS/512.);

DEFSYM PMRCM==1777	;CORE ADR FIELD IN PAGE MAP (AI-KA HAS 10 BITS)
DEFSYM PMAGEM==16000	;AI-KA HAS ONE LESS AGE BITS
DEFSYM PMCSHM==0	;NO CACHE BIT
DEFSYM PMUNSD==160000	;UNUSED BITS

IFDEF TEN11P,IFN TEN11P,DEFSYM T11CPA==3776000	;ADRS OF TEN-11 CONTROL PAGE
IFDEF PDP6P,IFN PDP6P,DEFSYM PDP6BM==3000000	;BASE ADR OF PDP6 MEM AS SEEN FROM 10
IFDEF PDP6P,IFN PDP6P,DEFSYM LPDP6M==16.	;LENGTH OF PDP6 MEM IN PAGES
] ;AIKA

IFE MCOND MLKA,[
DEFOPT KA10P==1		;ML-KA HAS KA PROCESSOR
DEFOPT MAXJ==60.	;MAX NUMBER OF JOBS ALLOWED
DEFOPT SWBLK==1		;1 => SWAP BLOCKING, 0 => PRIV USER
DEFOPT SWPWSP==0	;NO WORKING-SET SWAP SCHEDULER
DEFOPT PAGPRE==1	; Page-in preemption
DEFOPT SCHBLN==10.	;NUMBER OF RUNNABLE JOBS TO REMEMBER

DEFOPT NQCHN==30.	;NUMBER 2314 CHNLS
DEFOPT NQS==7		;# DISK UNITS
DEFOPT NTUTBL==1	;TUTS ARE ONE BLOCK LONG
DEFSYM NUDSL==250.	;# USER DIRECTORIES ON DISK
DEFOPT RP10P==1		;HAS DEC RP10 DISK CONTROL (RP02)
DEFOPT QRDCMP==1	;SOFTWARE READ-COMPARE
DEFOPT DMDSK==1		;USES DM DISK FORMAT
DEFOPT QRSRVP==1	;HAS RESERVED DISK PACKS (SECONDARY PACK)
DEFOPT QAUTHP==1	;KEEPS TRACK OF FILE AUTHORS

DEFOPT C1MXP==1		;CHANNEL 1 MPX FEATURE
DEFOPT NEWDTP==1	;HAS NEW DECTAPE CONTROLLER
;DEFOPT NUNITS==4	; Number of utape units (R.I.P.)
DEFOPT NMTCS==1		;NUMBER OF MAG TAPE UNITS
DEFOPT TM10A==1		;IO-BUS MAG TAPE
DEFOPT NLPTP==1		;HAS NEW LPT (ODEC)
DEFOPT TPLP==1		;PSEUDO LPT
DEFOPT PTRP==1		;HAS PAPER TAPE
DEFOPT PTPP==1		; And punch works.
DEFOPT MTYP==1		;HAS MORTON MULTIPLEX BOX
DEFOPT PDCLKP==1	;"DeCoriolis" CLOCK

DEFOPT NETP==1		; Has net connection
DEFOPT IMPP==1		; Has IMP interface
DEFOPT KAIMP==1
DEFOPT IMPUS==306	; ARPA net host number
DEFOPT IMPUS3==<IPADDR 10,3,0,6>	; Internet host number
DEFOPT NCPP==0		; Flush NCP code
DEFOPT NNETCH==20.	; # NCP net channels
DEFOPT INETP==1		; Include Internet code
DEFOPT TCPP==1		; Include TCP code
DEFOPT XBL==20.		; # TCP network channels
DEFOPT CHAOSP==1	;CHAOS NET
DEFOPT MYCHAD==3114	;CHAOS NET ADDRESS
DEFOPT NINDX==30.	;NUMBER OF INDICES
DEFOPT CH10P==1		;CHAOS NET VIA PDP-10 I/O BUS, NOT FRONT-END

DEFOPT NOTYS==1		;# KA-10 CONSOLE 0 TTYS
;DEFOPT NNVTTS==0	;# NOVA TTYS (used to have?)
DEFOPT NMTYS==33	;# TTYS ON MORTON BOX
DEFOPT NSTTYS==8	;# STY'S (PSEUDO-TTY'S)

DEFOPT TSYSM==512.	;TOTAL PDP10 1K MEM BLOCKS
DEFOPT NMMP==4		;# EXEC PAGES FOR MMP TABLE (# VIR PGS/512.)

DEFSYM PMRCM==777	;9 BIT REAL CORE ADR
DEFSYM PMAGEM==17000	;4 BIT AGE
DEFSYM PMCSHM==0	;NO CACHE BIT
DEFSYM PMUNSD==160000	;UNUSED BITS
] ;MLKA

IFE MCOND DM,[
DEFOPT KA10P==1		;DM HAS KA10 PROCESSOR
DEFOPT MAXJ==63.	;MAX NUMBER OF JOBS ALLOWED
DEFOPT SWBLK==0		;1 => SWAP BLOCKING, 0 => PRIVILEGED USER
DEFOPT SWPWSP==0	;NO WORKING-SET SWAP SCHEDULER
DEFOPT PAGPRE==0	;NO PAGE-IN PREEMPTION
DEFOPT SCHBLN==10.	;NUMBER OF RUNNABLE JOBS TO REMEMBER

DEFOPT NQS==6		;# OF DISK UNITS
DEFOPT NTUTBL==1	;TUTS ARE ONE BLOCK LONG
DEFSYM NUDSL==200.	;# USER DIRECTORIES ON DISK
DEFOPT NQCHN==30.	;NUMBER 2314 CHNLS
DEFOPT RP10P==1		;HAS DEC RP10 DISK CONTROL (RP02)
DEFOPT DMDSK==1		;USES DM DISK FORMAT
DEFOPT QRSRVP==1	;HAS RESERVED DISK PACKS
DEFOPT QAUTHP==1	;KEEPS TRACK OF FILE AUTHORS

DEFOPT C1MXP==1		;HAS CHANNEL 1 MPX FEATURE
DEFOPT NMTCS==1		;NUMBER MAG TAPE UNITS
DEFOPT TM10B==1		;DF10-BASED CONTROLLER
DEFOPT TTLPTP==1	;LPT IS A TTY (I.E. ON A TTY LINE)  VALUE IS LINE #.
DEFOPT PTRP==1		;HAS PAPER TAPE
DEFOPT PTPP==1		;PUNCH DOES WORK.
DEFOPT MTYP==1		;HAS MORTON MULTIPLEX BOX
;DEFOPT CODP==0		;NO COD DEVICE (used to?)
DEFOPT PDCLKP==1	;"DeCoriolis" CLOCK

DEFOPT NETP==1		; Has net connection
DEFOPT IMPP==1		; Has IMP interface
DEFOPT DMIMP==1		; This is a DM IMP interface
DEFOPT IMPUS==106	; ARPA net host number
DEFOPT IMPUS3==<IPADDR 10,1,0,6>	; Internet host number
DEFOPT NCPP==0		; Flush NCP code
DEFOPT NNETCH==30.	; # NCP network channels
DEFOPT INETP==1		; Include Internet code
DEFOPT TCPP==1		; Include TCP code
DEFOPT XBL==20.		; # TCP network channels

DEFOPT MSPP==1		;HAS MESSAGE SLURPER
DEFOPT DEMON==1		;HAS DEMON ROUTINES
DEFOPT NOTYS==1		;# KA-10 CONSOLE 0 TTYS
DEFOPT NMTYS==12.	;# TTYS ON MORTON BOX
DEFOPT NSTTYS==16.	;# OF STY'S (PSEUDO-TTY'S)


DEFOPT TSYSM==512.	;TOTAL PDP10 1K MEM BLOCKS
DEFOPT NMMP==4		;# EXEC PAGES FOR MMP TABLE (# VIR PGS/512.)

DEFSYM PMRCM==777		;9 BIT REAL CORE ADR
DEFSYM PMAGEM==17000		;4 BIT AGE
DEFSYM PMCSHM==0		;NO CACHE BIT
DEFSYM PMUNSD==160000		;UNUSED BITS
] ;DM

IFE MCOND MX,[
DEFOPT KL10P==1		;MX IS WHAT WE CALL THE KL10 NOW
DEFOPT MAXJ==120.	;MAX NUMBER OF JOBS ALLOWED
DEFOPT SWBLK==1		;1 => SWAP BLOCKING, 0 => PRIVILEGED USER
DEFOPT SWPWSP==0	;NO WORKING-SET SWAP SCHEDULER
DEFOPT PAGPRE==1	;PAGE-IN PREEMPTION
DEFOPT SCHBLN==20.	;NUMBER OF RUNNABLE JOBS TO REMEMBER

DEFOPT NQS==6		;# OF DISK UNITS (3 RP04'S AND 3 T-300'S)
DEFOPT NTUTBL==2	;TUTS ARE TWO BLOCKS LONG
DEFSYM NUDSL==500.	;# USER DIRECTORIES ON DISK
DEFOPT NQCHN==50.	;NUMBER 2314 CHNLS
DEFOPT RH10P==1		;HAS DEC RH10 DISK CONTROL (RP04)
DEFOPT T300P==3		;TRIDENT T-300S VIA PDP-11 START AT DRIVE 3
DEFOPT QRDCMP==0	;SOFTWARE READ-COMPARE, HARDWARE IS PINING FOR THE
			; FJORDS (But this isn't debugged yet.)
DEFOPT DMDSK==1		;USES DM DISK FORMAT
DEFOPT QRSRVP==1	;HAS RESERVED DISK PACKS
DEFOPT QAUTHP==1	;KEEPS TRACK OF FILE AUTHORS

DEFOPT NMTCS==1		;NUMBER MAG TAPE UNITS
DEFOPT TM10B==1		;DF10-BASED TAPE CONTROLLER

DEFOPT DL10P==1		;HAS DL10/DC76 TTY CONTROLLER
DEFOPT PDCLKP==1	;HAS "DeCoriolis" CLOCK

DEFOPT NETP==1		; Has net connection
DEFOPT INETP==1		; Include Internet IP code
DEFOPT TCPP==1		; Include Internet TCP code
DEFOPT XBL==25.		; # TCP connections
DEFOPT IMPP==1		; Has IMP interface
DEFOPT KAIMP==1
DEFOPT IMPUS==106	; ARPA net host number
DEFOPT IMPUS3==<IPADDR 10,1,0,6>	; Internet host number
DEFOPT NCPP==0		; Flush NCP code
DEFOPT NNETCH==30.	; # NCP network channels
DEFOPT CHAOSP==1	;HAS CHAOS NET
DEFOPT MYCHAD==1440	;CHAOS NET ADDRESS
DEFOPT NINDX==50.	;NUMBER OF INDICES
DEFOPT DLCP==1		;CHAOS NET GOES THROUGH DL10

DEFOPT NOTYS==0		;# KA-10 CONSOLE 0 TTYS
DEFOPT NETYS==33.	;# KL-10 DTE20 TTYS
NEWDTE==1		;TEMPORARY CONDITIONAL TO ENABLE NEW DTE20 PROTOCOL
DEFOPT NDLTYS==4.	;# TTYS ON DL10/DC76
			;Note: 3d TTY on DL10 is VT52 by console.
DEFOPT NSTTYS==25.	;# OF STY'S (PSEUDO-TTY'S)

DEFOPT TSYSM==2048.	;TOTAL PDP10 1K MEM BLOCKS
DEFOPT NMMP==7		;# EXEC PAGES FOR MMP TABLE (# VIR PGS/512.)

DEFSYM PMRCM==7777	;12 BIT REAL CORE ADDR
DEFSYM PMCSHM==10000	;CACHE ENABLE BIT
DEFSYM PMAGEM==160000	;3 BIT AGE
DEFSYM PMUNSD==0	;NO UNUSED BITS

DEFINE ITSIRP BODY
IRPS ITS,,[MX]
BODY
TERMIN
TERMIN
] ;MX

IFE MCOND AI,[
DEFOPT KS10P==1		;The new AI has a KS10 processor.

DEFOPT MAXJ==60.	;Max number of jobs allowed
DEFOPT NQCHN==30.	;Max number of user disk channels open in system
DEFOPT SCHBLN==10.	;Number of runnable jobs to remember
DEFOPT SWBLK==1		;1= 1=> swap blocking, 0=> privileged user
DEFOPT SWPWSP==0	;1= Use working-set swap scheduler
DEFOPT PAGPRE==1	;1= Use page-in preemption

DEFOPT DMDSK==1		;1= Use DM DSK format
DEFOPT QRSRVP==1	;1= Has reserved disk packs (Secondary pack)
DEFOPT QAUTHP==1	;1= Keep track of file authors

DEFOPT NQS==2		;# of disk drive units
DEFOPT NTUTBL==4	;# 1K blocks in a TUT (better agree with RP06 DEFS)
DEFSYM NUDSL==500.	;# directories in file system (better agree with
			; SALV and DSKDMP)
DEFOPT RH11P==1		; Has RH11 controller
DEFOPT RP06P==1		; with two RP06s

DEFOPT NMTCS==1		;Number of magtape units (so why not NMTUS?)
DEFOPT TM03S==1		;TM03/RH11 Unibus tape controller

DEFOPT NETP==1		;Has one kind of network anyway
;AI's IMP is gone 5/5/89
;DEFOPT INETP==1		; Include Internet code
;DEFOPT TCPP==1		; Include TCP code
;DEFOPT XBL==30.		; # TCP network channels
;DEFOPT IMPP==1		; Has an IMP interface
;DEFOPT KSIMP==1		; ACC LH/DH interface on KS unibus
;DEFOPT IMPUS==206	; ARPA net host number
;DEFOPT IMPUS3==<IPADDR 10,2,0,6>	; Internet host number of IMP
;DEFOPT PKTTRC==-1	;Packet tracing code enabled
DEFOPT CHAOSP==1	;Has CHAOS net
DEFOPT MYCHAD==3130	;CHAOS net address
DEFOPT NINDX==50.	;Number of indices
DEFOPT CH11P==1		;CHAOS net goes through Unibus

DEFOPT DZ11P==1		;Has DZ11 TTY controllers
 DEFOPT DZ11NB==1	; 1 of them
 DEFSYM DZ0BA=:760010

DEFOPT NKSTYS==1	;# KS-10 8080 console 0 TTYs
DEFOPT NDZTYS==8.	;# DZ-11 TTYs
DEFOPT NSTTYS==12.	;# of STY's (Pseudo-TTY's)

DEFOPT TSYSM==512.	;Total PDP10 1K memory blocks
DEFOPT NMMP==4		;# exec pages for MMP table (# vir pgs/512.)

;;; Next four better agree with SYSTEM;KSDEFS:
DEFSYM PMAGEM==020000	;2.5 Age bit
DEFSYM PMCSHM==010000	;2.4 Cache enable bit
DEFSYM PMRCM==001777	;2.1 - 1.1 Physical page number
			;	(The page table supports 20 bit physical
			;	 addresses.) 
DEFSYM PMUNSD==146000	;Unused bits

DEFINE ITSIRP BODY
IRPS ITS,,[AI MC]
BODY
TERMIN
TERMIN
] ;AI

IFE MCOND MC,[
DEFOPT KS10P==1		;MC is now a KS10.

DEFOPT MAXJ==60.	;Max number of jobs allowed
DEFOPT NQCHN==30.	;Max number of user disk channels open in system
DEFOPT SCHBLN==10.	;Number of runnable jobs to remember
DEFOPT SWBLK==1		;1= 1=> swap blocking, 0=> privileged user
DEFOPT SWPWSP==0	;1= Use working-set swap scheduler
DEFOPT PAGPRE==1	;1= Use page-in preemption

DEFOPT DMDSK==1		;1= Use DM DSK format
DEFOPT QRSRVP==1	;1= Has reserved disk packs (Secondary pack)
DEFOPT QAUTHP==1	;1= Keep track of file authors

DEFOPT NQS==1		;# of disk drive units
DEFOPT NTUTBL==4	;# 1K blocks in a TUT (better agree with RP06 DEFS)
DEFSYM NUDSL==500.	;# directories in file system (better agree with
			; SALV and DSKDMP)
DEFOPT RH11P==1		; Has RH11 controller
DEFOPT RP06P==1		; with one RP06

DEFOPT NETP==1		;Has one kind of network anyway
DEFOPT INETP==1		; Include Internet code
DEFOPT TCPP==1		; Include TCP code
DEFOPT XBL==30.		; # TCP network channels
;MC's IMP is gone 5/18/89
;DEFOPT IMPP==1		; Has an IMP interface
;DEFOPT KSIMP==1		; ACC LH/DH interface on KS unibus
;DEFOPT IMPUS==354	; ARPA net host number
;DEFOPT IMPUS3==<IPADDR 10.3.0.44>	; Internet host number of IMP
DEFOPT IPUNCP==1	; IP in Chaos UNC is our only Internet address
DEFOPT PKTTRC==-1	;Packet tracing code enabled
DEFOPT CHAOSP==1	;Has CHAOS net
DEFOPT MYCHAD==3131	;CHAOS net address
DEFOPT NINDX==50.	;Number of indices
DEFOPT CH11P==1		;CHAOS net goes through Unibus

DEFOPT DZ11P==1		;Has DZ11 TTY controllers
 DEFOPT DZ11NB==1	; 1 of them
 DEFSYM DZ0BA=:760010

DEFOPT NKSTYS==1	;# KS-10 8080 console 0 TTYs
DEFOPT NDZTYS==6.	;# DZ-11 TTYs
DEFOPT NSTTYS==4.	;# of STY's (Pseudo-TTY's)

DEFOPT TSYSM==512.	;Total PDP10 1K memory blocks
DEFOPT NMMP==4		;# exec pages for MMP table (# vir pgs/512.)

;;; Next four better agree with SYSTEM;KSDEFS:
DEFSYM PMAGEM==020000	;2.5 Age bit
DEFSYM PMCSHM==010000	;2.4 Cache enable bit
DEFSYM PMRCM==001777	;2.1 - 1.1 Physical page number
			;	(The page table supports 20 bit physical
			;	 addresses.) 
DEFSYM PMUNSD==146000	;Unused bits

DEFINE ITSIRP BODY
IRPS ITS,,[AI MC]
BODY
TERMIN
TERMIN
] ;MC

IFE MCOND ML,[
DEFOPT KS10P==1		;ML is now a KS10.

DEFOPT MAXJ==60.	;Max number of jobs allowed
DEFOPT NQCHN==30.	;Max number of user disk channels open in system
DEFOPT SCHBLN==10.	;Number of runnable jobs to remember
DEFOPT SWBLK==1		;1= 1=> swap blocking, 0=> privileged user
DEFOPT SWPWSP==0	;1= Use working-set swap scheduler
DEFOPT PAGPRE==1	;1= Use page-in preemption

DEFOPT DMDSK==1		;1= Use DM DSK format
DEFOPT QRSRVP==1	;1= Has reserved disk packs (Secondary pack)
DEFOPT QAUTHP==1	;1= Keep track of file authors

DEFOPT NQS==1		;# of disk drive units
DEFOPT NTUTBL==4	;# 1K blocks in a TUT (better agree with RP06 DEFS)
DEFSYM NUDSL==500.	;# directories in file system (better agree with
			; SALV and DSKDMP)
DEFOPT RH11P==1		; Has RH11 controller
DEFOPT RP06P==1		; with one RP06

DEFOPT NETP==1		;Has one kind of network anyway
DEFOPT CHAOSP==1	;Has CHAOS net
DEFOPT MYCHAD==3133	;CHAOS net address
DEFOPT NINDX==50.	;Number of indices
DEFOPT CH11P==1		;CHAOS net goes through Unibus

DEFOPT DZ11P==1		;Has DZ11 TTY controllers
 DEFOPT DZ11NB==4	; 4 of them
 DEFSYM DZ0BA=:760010
 DEFSYM DZ1BA=:760020
 DEFSYM DZ2BA=:760030
 DEFSYM DZ3BA=:760040

DEFOPT NKSTYS==1	;# KS-10 8080 console 0 TTYs
DEFOPT NDZTYS==4.	;# DZ-11 TTYs
DEFOPT NSTTYS==4.	;# of STY's (Pseudo-TTY's)

DEFOPT TSYSM==512.	;Total PDP10 1K memory blocks
DEFOPT NMMP==4		;# exec pages for MMP table (# vir pgs/512.)

;;; Next four better agree with SYSTEM;KSDEFS:
DEFSYM PMAGEM==020000	;2.5 Age bit
DEFSYM PMCSHM==010000	;2.4 Cache enable bit
DEFSYM PMRCM==001777	;2.1 - 1.1 Physical page number
			;	(The page table supports 20 bit physical
			;	 addresses.) 
DEFSYM PMUNSD==146000	;Unused bits

DEFINE ITSIRP BODY
IRPS ITS,,[AI MC ML]
BODY
TERMIN
TERMIN
] ;ML

; KLH: temporarily hijacking "MD" to help fix programs with hardwired
; tables of ITS names, including MD.
; To restore, change MDKS to MD and flush the virtual KLH10-based MD.
IFE MCOND MDKS,[

DEFOPT KS10P==1		;MD is a KS10.

DEFOPT MAXJ==60.	;Max number of jobs allowed
DEFOPT NQCHN==30.	;Max number of user disk channels open in system
DEFOPT SCHBLN==10.	;Number of runnable jobs to remember
DEFOPT SWBLK==1		;1= 1=> swap blocking, 0=> privileged user
DEFOPT SWPWSP==0	;1= Use working-set swap scheduler
DEFOPT PAGPRE==1	;1= Use page-in preemption

DEFOPT DMDSK==1		;1= Use DM DSK format
DEFOPT QRSRVP==1	;1= Has reserved disk packs (Secondary pack)
DEFOPT QAUTHP==1	;1= Keep track of file authors

DEFOPT NQS==1		;# of disk drive units
DEFOPT NTUTBL==3	;# 1K blocks in a TUT (better agree with disk DEFS)
DEFSYM NUDSL==500.	;# directories in file system (better agree with
			; SALV and DSKDMP)
DEFOPT RH11P==1		; Has RH11 controller
DEFOPT RM80P==1		; with one RM80

DEFOPT NETP==1		;Has one kind of network anyway
DEFOPT CHAOSP==1	;Has CHAOS net
DEFOPT MYCHAD==3132	;CHAOS net address
DEFOPT NINDX==50.	;Number of indices
DEFOPT CH11P==1		;CHAOS net goes through Unibus

DEFOPT DZ11P==1		;Has DZ11 TTY controllers
 DEFOPT DZ11NB==4	; 4 of them
 DEFSYM DZ0BA=:760010
 DEFSYM DZ1BA=:760020
 DEFSYM DZ2BA=:760030
 DEFSYM DZ3BA=:760040

DEFOPT NKSTYS==1	;# KS-10 8080 console 0 TTYs
DEFOPT NDZTYS==4.	;# DZ-11 TTYs
DEFOPT NSTTYS==4.	;# of STY's (Pseudo-TTY's)

DEFOPT TSYSM==512.	;Total PDP10 1K memory blocks
DEFOPT NMMP==4		;# exec pages for MMP table (# vir pgs/512.)

;;; Next four better agree with SYSTEM;KSDEFS:
DEFSYM PMAGEM==020000	;2.5 Age bit
DEFSYM PMCSHM==010000	;2.4 Cache enable bit
DEFSYM PMRCM==001777	;2.1 - 1.1 Physical page number
			;	(The page table supports 20 bit physical
			;	 addresses.) 
DEFSYM PMUNSD==146000	;Unused bits

DEFINE ITSIRP BODY
IRPS ITS,,[AI MC ML MD]
BODY
TERMIN
TERMIN
] ;MD

IFE MCOND SI,[		;Stacken ITS
DEFOPT KS10P==1		;SI is a KS10 

DEFOPT MAXJ==60.	;Max number of jobs allowed
DEFOPT NQCHN==30.	;Max number of user disk channels open in system
DEFOPT SCHBLN==10.	;Number of runnable jobs to remember
DEFOPT SWBLK==1		;1= 1=> swap blocking, 0=> privileged user
DEFOPT SWPWSP==0	;1= Use working-set swap scheduler
DEFOPT PAGPRE==1	;1= Use page-in preemption

DEFOPT DMDSK==1		;1= Use DM DSK format
DEFOPT QRSRVP==1	;1= Has reserved disk packs (Secondary pack)
DEFOPT QAUTHP==1	;1= Keep track of file authors

DEFOPT NQS==1		;# of disk drive units
DEFOPT NTUTBL==4	;# 1K blocks in a TUT (better agree with RP06 DEFS)
DEFSYM NUDSL==500.	;# directories in file system (better agree with
			; SALV and DSKDMP)
DEFOPT RH11P==1		; Has RH11 controller
DEFOPT RP06P==1		; with one RP06

DEFOPT NMTCS==1		;Number of magtape units (so why not NMTUS?)
DEFOPT TM03S==1		;TM03/RH11 Unibus tape controller

DEFOPT DZ11P==1		;Has DZ11 TTY controllers
 DEFOPT DZ11NB==2	; 2 of them
 DEFSYM DZ0BA=:760010
 DEFSYM DZ1BA=:760020

DEFOPT NKSTYS==1	;# KS-10 8080 console 0 TTYs
DEFOPT NDZTYS==16.	;# DZ-11 TTYs
DEFOPT NSTTYS==8.	;# of STY's (Pseudo-TTY's)

DEFOPT TSYSM==512.	;Total PDP10 1K memory blocks
DEFOPT NMMP==4		;# exec pages for MMP table (# vir pgs/512.)

;;; Next four better agree with SYSTEM;KSDEFS:
DEFSYM PMAGEM==020000	;2.5 Age bit
DEFSYM PMCSHM==010000	;2.4 Cache enable bit
DEFSYM PMRCM==001777	;2.1 - 1.1 Physical page number
			;	(The page table supports 20 bit physical
			;	 addresses.) 
DEFSYM PMUNSD==146000	;Unused bits

DEFINE ITSIRP BODY
IRPS ITS,,[SI]
BODY
TERMIN
TERMIN
] ;SI

IFE MCOND FU,[		;Australian KS10
DEFOPT KS10P==1		;FU is a KS10 

DEFOPT MAXJ==60.	;Max number of jobs allowed
DEFOPT NQCHN==30.	;Max number of user disk channels open in system
DEFOPT SCHBLN==10.	;Number of runnable jobs to remember
DEFOPT SWBLK==1		;1= 1=> swap blocking, 0=> privileged user
DEFOPT SWPWSP==0	;1= Use working-set swap scheduler
DEFOPT PAGPRE==1	;1= Use page-in preemption

DEFOPT DMDSK==1		;1= Use DM DSK format
DEFOPT QRSRVP==1	;1= Has reserved disk packs (Secondary pack)
DEFOPT QAUTHP==1	;1= Keep track of file authors

DEFOPT NQS==1		;# of disk drive units
DEFOPT NTUTBL==4	;# 1K blocks in a TUT (better agree with RP06 DEFS)
DEFSYM NUDSL==500.	;# directories in file system (better agree with
			; SALV and DSKDMP)
DEFOPT RH11P==1		; Has RH11 controller
DEFOPT RP06P==1		; with one RP06

DEFOPT NMTCS==1		;Number of magtape units (so why not NMTUS?)
DEFOPT TM03S==1		;TM03/RH11 Unibus tape controller

DEFOPT DZ11P==1		;Has DZ11 TTY controllers
 DEFOPT DZ11NB==1	; 1 of them
 DEFSYM DZ0BA=:760010

DEFOPT NKSTYS==1	;# KS-10 8080 console 0 TTYs
DEFOPT NDZTYS==8.	;# DZ-11 TTYs
DEFOPT NSTTYS==4.	;# of STY's (Pseudo-TTY's)

DEFOPT TSYSM==512.	;Total PDP10 1K memory blocks
DEFOPT NMMP==4		;# exec pages for MMP table (# vir pgs/512.)

;;; Next four better agree with SYSTEM;KSDEFS:
DEFSYM PMAGEM==020000	;2.5 Age bit
DEFSYM PMCSHM==010000	;2.4 Cache enable bit
DEFSYM PMRCM==001777	;2.1 - 1.1 Physical page number
			;	(The page table supports 20 bit physical
			;	 addresses.) 
DEFSYM PMUNSD==146000	;Unused bits

DEFINE ITSIRP BODY
IRPS ITS,,[FU]
BODY
TERMIN
TERMIN
] ;FU

IFE MCOND PM,[		;MRC's KS10 (PandaMonium)
DEFOPT KS10P==1		;PM is a KS10 

DEFOPT MAXJ==60.	;Max number of jobs allowed
DEFOPT NQCHN==30.	;Max number of user disk channels open in system
DEFOPT SCHBLN==10.	;Number of runnable jobs to remember
DEFOPT SWBLK==1		;1= 1=> swap blocking, 0=> privileged user
DEFOPT SWPWSP==0	;1= Use working-set swap scheduler
DEFOPT PAGPRE==1	;1= Use page-in preemption

DEFOPT DMDSK==1		;1= Use DM DSK format
DEFOPT QRSRVP==1	;1= Has reserved disk packs (Secondary pack)
DEFOPT QAUTHP==1	;1= Keep track of file authors

DEFOPT NQS==1		;# of disk drive units
DEFOPT NTUTBL==2	;# 1K blocks in a TUT (better agree with RM03 DEFS)
DEFSYM NUDSL==500.	;# directories in file system (better agree with
			; SALV and DSKDMP)
DEFOPT RH11P==1		; Has RH11 controller
DEFOPT RM03P==1		; with one RM03

DEFOPT NMTCS==1		;Number of magtape units (so why not NMTUS?)
DEFOPT TM03S==1		;TM03/RH11 Unibus tape controller

DEFOPT DZ11P==1		;Has DZ11 TTY controllers
 DEFOPT DZ11NB==1	; 1 of them
 DEFSYM DZ0BA=:760010

DEFOPT NKSTYS==1	;# KS-10 8080 console 0 TTYs
DEFOPT NDZTYS==5.	;# DZ-11 TTYs
DEFOPT NSTTYS==4.	;# of STY's (Pseudo-TTY's)

DEFOPT TSYSM==512.	;Total PDP10 1K memory blocks
DEFOPT NMMP==4		;# exec pages for MMP table (# vir pgs/512.)

;;; Next four better agree with SYSTEM;KSDEFS:
DEFSYM PMAGEM==020000	;2.5 Age bit
DEFSYM PMCSHM==010000	;2.4 Cache enable bit
DEFSYM PMRCM==001777	;2.1 - 1.1 Physical page number
			;	(The page table supports 20 bit physical
			;	 addresses.) 
DEFSYM PMUNSD==146000	;Unused bits

DEFINE ITSIRP BODY
IRPS ITS,,[PM]
BODY
TERMIN
TERMIN
] ;PM

IFE MCOND DXKS,[	;Digex's real hardware KS10 (formerly DX)
DEFOPT KS10P==1		;DX-KS is a KS10 

DEFOPT MAXJ==60.	;Max number of jobs allowed
DEFOPT NQCHN==30.	;Max number of user disk channels open in system
DEFOPT SCHBLN==10.	;Number of runnable jobs to remember
DEFOPT SWBLK==1		;1= 1=> swap blocking, 0=> privileged user
DEFOPT SWPWSP==0	;1= Use working-set swap scheduler
DEFOPT PAGPRE==1	;1= Use page-in preemption

DEFOPT DMDSK==1		;1= Use DM DSK format
DEFOPT QRSRVP==1	;1= Has reserved disk packs (Secondary pack)
DEFOPT QAUTHP==1	;1= Keep track of file authors

DEFOPT NQS==1		;# of disk drive units
DEFOPT NTUTBL==2	;# 1K blocks in a TUT (better agree with RM03 DEFS)
DEFSYM NUDSL==500.	;# directories in file system (better agree with
			; SALV and DSKDMP)
DEFOPT RH11P==1		; Has RH11 controller
DEFOPT RM03P==1		; with one RM02/3

DEFOPT NMTCS==1		;Number of magtape units (so why not NMTUS?)
DEFOPT TM03S==1		;TM03/RH11 Unibus tape controller

DEFOPT DZ11P==1		;Has DZ11 TTY controllers
 DEFOPT DZ11NB==1	; 1 of them
 DEFSYM DZ0BA=:760010

DEFOPT NKSTYS==1	;# KS-10 8080 console 0 TTYs
DEFOPT NDZTYS==8.	;# DZ-11 TTYs
DEFOPT NSTTYS==4.	;# of STY's (Pseudo-TTY's)

DEFOPT TSYSM==512.	;Total PDP10 1K memory blocks
DEFOPT NMMP==4		;# exec pages for MMP table (# vir pgs/512.)

;;; Next four better agree with SYSTEM;KSDEFS:
DEFSYM PMAGEM==020000	;2.5 Age bit
DEFSYM PMCSHM==010000	;2.4 Cache enable bit
DEFSYM PMRCM==001777	;2.1 - 1.1 Physical page number
			;	(The page table supports 20 bit physical
			;	 addresses.) 
DEFSYM PMUNSD==146000	;Unused bits

DEFINE ITSIRP BODY
IRPS ITS,,[DX]
BODY
TERMIN
TERMIN
] ;DX

;;; Mostly virtual machines from here on, based on a KLH10 emulating a KS10.
;;; Try to simplify things by combining common definitions; perhaps
;;; this should be moved to an INSRT file instead.

DEFINE DEFVKS		; Define common virtual KS10
DEFOPT KS10P==1		;Using a KS10 processor
DEFOPT KLH10P==1	;(actually a KLH10)

DEFOPT MAXJ==60.	;Max number of jobs allowed
DEFOPT NQCHN==30.	;Max number of user disk channels open in system
DEFOPT SCHBLN==10.	;Number of runnable jobs to remember
DEFOPT SWBLK==1		;1= 1=> swap blocking, 0=> privileged user
DEFOPT SWPWSP==0	;1= Use working-set swap scheduler
DEFOPT PAGPRE==1	;1= Use page-in preemption

DEFOPT DMDSK==1		;1= Use DM DSK format
DEFOPT QRSRVP==1	;1= Has reserved disk packs (Secondary pack)
DEFOPT QAUTHP==1	;1= Keep track of file authors

DEFOPT NQS==1		;# of disk drive units for now
DEFOPT NTUTBL==4	;# 1K blocks in a TUT (better agree with RP06 DEFS)
DEFSYM NUDSL==500.	;# directories in file system (better agree with
			; SALV and DSKDMP)
DEFOPT RH11P==1		; Has RH11 controller
DEFOPT RP06P==1		; with one (not two) RP06s

DEFOPT NMTCS==1		;Number of magtape units (so why not NMTUS?)
DEFOPT TM03S==1		;TM03/RH11 Unibus tape controller

DEFOPT NETP==1		;Has one kind of network anyway
DEFOPT INETP==1		; Include Internet code
DEFOPT TCPP==1		; Include TCP code
DEFOPT XBL==30.		; # TCP network channels
DEFOPT IMPP==1		; Has an IMP interface
DEFOPT SSIMP==1		; Hooked to "Simulated Simple IMP"
;DEFOPT IMPUS==236.	; IMP net host number (old-style) (206 octal)
;DEFOPT IMPUS3==<IPADDR 192,168,0,236>	; IP address
;DEFOPT NM%IMP==<IPADDR 255,255,255,0>	; Subnet mask
;DEFOPT PKTTRC==-1	;Packet tracing code enabled

DEFOPT DZ11P==1		;Has DZ11 TTY controllers
 DEFOPT DZ11NB==1	; 1 of them
 DEFSYM DZ0BA=:760010

DEFOPT NKSTYS==1	;# KS-10 8080 console 0 TTYs
DEFOPT NDZTYS==8.	;# DZ-11 TTYs
DEFOPT NSTTYS==20.	;# of STY's (Pseudo-TTY's)

DEFOPT TSYSM==512.	;Total PDP10 1K memory blocks
DEFOPT NMMP==4		;# exec pages for MMP table (# vir pgs/512.)

;;; Next four better agree with SYSTEM;KSDEFS:
DEFSYM PMAGEM==020000	;2.5 Age bit
DEFSYM PMCSHM==010000	;2.4 Cache enable bit
DEFSYM PMRCM==001777	;2.1 - 1.1 Physical page number
			;	(The page table supports 20 bit physical
			;	 addresses.) 
DEFSYM PMUNSD==146000	;Unused bits

TERMIN ; end DEFVKS

IFE MCOND NX,[		; New-10 (or Non-eXistent) - original virtual system

DEFVKS			; Now uses standard virtual KS10 config

DEFOPT IMPUS==236.	; IMP net host number (old-style) (206 octal)
DEFOPT IMPUS3==<IPADDR 192,168,0,236>	; IP address
DEFOPT NM%IMP==<IPADDR 255,255,255,0>	; Subnet mask

DEFINE ITSIRP BODY	; No local companions
IRPS ITS,,[NX]
BODY
TERMIN
TERMIN
] ;NX

IFE MCOND KN,[		; KN for KN10 virtual system (alt to NX)

DEFVKS			; Now uses standard virtual KS10 config

DEFOPT IMPUS==134.	; IMP net host number (old-style) (206 octal)
DEFOPT IMPUS3==<IPADDR 10,134,198,236>	; IP address (Arpa,AI,ML,MC)
DEFOPT NM%IMP==<IPADDR 255,0,0,0>	; Subnet mask

DEFINE ITSIRP BODY	; No local companions
IRPS ITS,,[KN]
BODY
TERMIN
TERMIN
] ;NX

; KLH: See comment for MDKS above.  Borrowing the "MD" name in order
; to help fix programs with hardwired ITS names.
IFE MCOND MD,[		; Virtual MD

DEFVKS			; Initially use standard virtual KS10 config

DEFOPT IMPUS==51.	; IMP net host number (old-style)
DEFOPT IMPUS3==<IPADDR 192,168,0,203>	; IP address
DEFOPT NM%IMP==<IPADDR 255,255,255,0>	; Subnet mask
;DEFOPT PKTTRC==-1	;Packet tracing code enabled

DEFINE ITSIRP BODY
IRPS ITS,,[MD]
BODY
TERMIN
TERMIN
] ;MD (virtual)

IFE MCOND PI,[		; Public ITS

DEFVKS			; Initially use standard virtual KS10 config

DEFOPT IMPUS==51.	; IMP net host number (old-style)
DEFOPT IMPUS3==<IPADDR 199,34,53,51>	; IP address
DEFOPT NM%IMP==<IPADDR 255,255,255,248>	; Subnet mask
;DEFOPT PKTTRC==-1	;Packet tracing code enabled

DEFINE ITSIRP BODY	; Has some local friends
IRPS ITS,,[PI DU DX]
BODY
TERMIN
TERMIN
] ;PI

IFE MCOND DX,[		; Digex virtual ITS

DEFVKS			; Initially use standard virtual KS10 config

DEFOPT IMPUS==52.	; IMP net host number (old-style)
DEFOPT IMPUS3==<IPADDR 199,34,53,52>	; IP address
DEFOPT NM%IMP==<IPADDR 255,255,255,248>	; Subnet mask
;DEFOPT PKTTRC==-1	;Packet tracing code enabled

DEFINE ITSIRP BODY	; Has some local friends
IRPS ITS,,[PI DU DX]
BODY
TERMIN
TERMIN
] ;PI

IFE MCOND DU,[		; Derivative ITS

DEFVKS			; Initially use standard virtual KS10 config

DEFOPT IMPUS==53.	; IMP net host number (old-style)
DEFOPT IMPUS3==<IPADDR 199,34,53,53>	; IP address
DEFOPT NM%IMP==<IPADDR 255,255,255,248>	; Subnet mask
;DEFOPT PKTTRC==-1	;Packet tracing code enabled

DEFINE ITSIRP BODY	; Has some local friends
IRPS ITS,,[PI DU DX]
BODY
TERMIN
TERMIN
] ;DU

IFE MCOND DB,[		;DistriBution world
DEFOPT KS10P==1		;DB is a KS10 

IF1,[
PRINTX /Configuration? (RP06, RP07, RM03 or RM80) /
.TTYMAC CNFG
DBRP06==0 ? DBRP07==0 ? DBRM03==0 ? DBRM80==0
DB!CNFG==1
IFE DBRP06\DBRP07\DBRM03\DBRM80, .ERR "CNFG" unknown.
TERMIN
]

DEFOPT MAXJ==60.	;Max number of jobs allowed
DEFOPT NQCHN==30.	;Max number of user disk channels open in system
DEFOPT SCHBLN==10.	;Number of runnable jobs to remember
DEFOPT SWBLK==1		;1= 1=> swap blocking, 0=> privileged user
DEFOPT SWPWSP==0	;1= Use working-set swap scheduler
DEFOPT PAGPRE==1	;1= Use page-in preemption

DEFOPT DMDSK==1		;1= Use DM DSK format
DEFOPT QRSRVP==1	;1= Has reserved disk packs (Secondary pack)
DEFOPT QAUTHP==1	;1= Keep track of file authors

DEFOPT NQS==1		;# of disk drive units
IFN DBRP06, DEFOPT NTUTBL==4	;# 1K blocks in a TUT (better agree with
IFN DBRP07, DEFOPT NTUTBL==9	; RP06 DEFS, RP07 DEFS,
IFN DBRM03, DEFOPT NTUTBL==2	; RM03 DEFS or RM80 DEFS)
IFN DBRM80, DEFOPT NTUTBL==3

DEFSYM NUDSL==500.	;# directories in file system (better agree with
			; SALV and DSKDMP)
DEFOPT RH11P==1		; Has RH11 controller
IFN DBRP06, DEFOPT RP06P==1	; with one RP06
IFN DBRP07, DEFOPT RP07P==1	; with one RP07
IFN DBRM03, DEFOPT RM03P==1	; with one RM02/3
IFN DBRM80, DEFOPT RM80P==1	; with one RM80

DEFOPT NMTCS==1		;Number of magtape units (so why not NMTUS?)
DEFOPT TM03S==1		;TM03/RH11 Unibus tape controller

DEFOPT NETP==1		;Has one kind of network anyway
DEFOPT INETP==1		; Include Internet code
DEFOPT TCPP==1		; Include TCP code
DEFOPT XBL==30.		; # TCP network channels
DEFOPT IMPP==1		; Has an IMP interface
DEFOPT SSIMP==1		; Hooked to "Simulated Simple IMP"

DEFOPT DZ11P==1		;Has DZ11 TTY controllers
 DEFOPT DZ11NB==1	; 1 of them
 DEFSYM DZ0BA=:760010

DEFOPT NKSTYS==1	;# KS-10 8080 console 0 TTYs
DEFOPT NDZTYS==8.	;# DZ-11 TTYs
DEFOPT NSTTYS==20.	;# of STY's (Pseudo-TTY's)

DEFOPT TSYSM==512.	;Total PDP10 1K memory blocks
DEFOPT NMMP==4		;# exec pages for MMP table (# vir pgs/512.)

;;; Next four better agree with SYSTEM;KSDEFS:
DEFSYM PMAGEM==020000	;2.5 Age bit
DEFSYM PMCSHM==010000	;2.4 Cache enable bit
DEFSYM PMRCM==001777	;2.1 - 1.1 Physical page number
			;	(The page table supports 20 bit physical
			;	 addresses.) 
DEFSYM PMUNSD==146000	;Unused bits

DEFOPT IMPUS==100.	; IMP net host number (old-style) (100 octal)
DEFOPT IMPUS3==<IPADDR 192,168,1,100>	; IP address
DEFOPT NM%IMP==<IPADDR 255,255,255,248>	; Subnet mask
DEFOPT PKTTRC==-1	;Packet tracing code enabled

DEFINE ITSIRP BODY
IRPS ITS,,[DB]
BODY
TERMIN
TERMIN
] ;DB

; Default settings for all configuration-dependent assembly parameters.
; If a system definition has already set a value for a parameter, the
; default here will NOT be used.  

DEFOPT KL10P==0		;1= KL10 processor
DEFOPT KS10P==0		;1= KS10 processor
DEFOPT KA10P==0		;1= KA10 processor

IFE KL10P\KS10P\KA10P, .ERR Processor type required - KL10P, KS10P or KA10P

IFN KS10P, DEFOPT KSFREQ==4100000./60.	; KS-ticks per PD-tick.

DEFOPT C1MXP==0		;1= Has PI channel 1 MPX feature

DEFOPT MAXJ==63.	; Max number of jobs allowed
DEFOPT NQCHN==30.	; Max number of user disk channels open in system
DEFOPT SCHBLN==10.	; Number of runnable jobs to remember
DEFOPT SWBLK==0		;1= 1=> swap blocking, 0=> privileged user
DEFOPT SWPWSP==0	;1= Use working-set swap scheduler
DEFOPT PAGPRE==0	;1= Use page-in preemption

; Disk parameters

IFNDEF NQS,   .ERR NQS required - # of disk drive units
IFNDEF NTUTBL,.ERR NTUTBL required - # 1K blocks in a TUT
			; (This defn better agree with DC/RP/RH/T3 defs)
IFNDEF NUDSL, .ERR NUDSL required - # directories in file system
			; Just changing this will not work!!
DEFOPT DC10P==0		;1= Has Systems Concepts disk control
DEFOPT RP10P==0		;1= DEC RP10 disk control (RP02)
DEFOPT RH10P==0		;1= DEC RH10 disk control (RP04)
DEFOPT RH11P==0		;1= DEC RH11 disk control
DEFOPT RP06P==0		;1= RH11 with RP06's
DEFOPT RM03P==0		;1= RH11 with RM03's
DEFOPT RM80P==0		;1= RH11 with RM80's
DEFOPT T300P==0		;1= Trident T-300 via PDP-11
DEFOPT QRDCMP==0	;1= Software read-compare
DEFOPT DMDSK==0		;1= Use DM DSK format
DEFOPT QRSRVP==0	;1= Has reserved disk packs (Secondary pack)
DEFOPT QAUTHP==0	;1= Keep track of file authors


; Magtape parameters
DEFOPT NMTCS==0		; # Mag tape units
DEFOPT TM10A==0		;1= IO-bus TM10 Mag tape
DEFOPT TM10B==0		;1= DF10/TM10 Magtape
DEFOPT TM03S==0		;1= TM03/RH11 KS Magtape
IFN NMTCS,IFE TM10A\TM10B\TM03S,.ERR No Magtape Controller type specified?


; Network parameters
DEFOPT NETP==0		;1= Connected to some network, include net code.
DEFOPT CHAOSP==0	;1= Has CHAOS net (Must have some interface def'd)
DEFOPT NCPP==0		;1= Include NCP code (must have IMPP)
DEFOPT INETP==0		;1= Include Internet Protocol code
DEFOPT TCPP==0		;1= Include TCP code (must have INETP)
DEFOPT IPUNCP==0	;1= IP in Chaos UNC is our only Internet address

;NCP-specific parameters
DEFOPT NNETCH==30.	; # of NCP network channels system supports

;IP-specific paramters
IFN INETP,[
IFE IPUNCP,IFNDEF IMPUS3,.ERR IMPUS3 must be defined as Internet host addr
IFN IPUNCP,IFE CHAOSP,.ERR Chaosnet must exist for IP encapsulation scheme
]

;Chaos-specific parameters
IFN CHAOSP,IFNDEF MYCHAD, .ERR MYCHAD must be defined as CHAOSnet host addr
IFN CHAOSP,DEFOPT IMPUS4==<<IPADDR 128,31,0,0>+MYCHAD>	; MIT Chaosnet IP addr
IFN CHAOSP,DEFOPT NM%CHA==<IPMASK IMPUS4>	; Set default netmask for it
DEFOPT NINDX==0		; Number of indices for CHAOS connections
DEFOPT CH10P==0		;1= CHAOS net via PDP-10 I/O bus
DEFOPT CH11P==0		;1= CHAOS net via Unibus Chaos board on KS10
DEFOPT DLCP==0		;1= CHAOS net via DL10
DEFOPT T11CHP==0	;1= CHAOS net via Rubin 10-11 interface
IFN T11CHP,DEFOPT CH11NM==7	; CHAOS net is on PDP-11 #7 of 10-11 interface

;IMP interface specific parameters
DEFOPT IMPP==0		;1= Has IMP interface to ARPAnet
IFN IMPP,IFNDEF IMPUS, .ERR IMPUS must be defined as ARPAnet host #
IFN IMPP,IFNDEF IMPUS3,.ERR IMPUS3 must be defined as ARPAnet host #
;IFN IMPP,DEFOPT NM%IMP==<IPMASK IMPUS3>	; Define default netmask
DEFOPT DMIMP==0		;1= Has DM IMP interface
DEFOPT KAIMP==0		;1= Has AI-KA/ML-KA/MX-KL IMP interface
DEFOPT KSIMP==0		;1= Has KS10 UNIBUS ACC LH-DH IMP interface
DEFOPT SSIMP==0		;1= Has "Simulated Simple IMP", similar to KSIMP
IFN IMPP,IFE DMIMP+KAIMP+KSIMP+SSIMP,.ERR IMPP requires an interface type
IFN IMPP,IFN IPUNCP,.ERR IPUNCP and IMPP are incompatible

; Generic network interface parameters
DEFOPT NNIFS==<IMPP+CHAOSP>	; # of network interfaces


; TTY line parameters
DEFOPT MTYP==0		;1= Has Morton box multiplexor
DEFOPT DL10P==0		;1= Has DL10/DC76 TTY controller
DEFOPT TK10P==0		;1= Has TK10 TTY scanner
DEFOPT DPKPP==0		;1= Has Datapoint kludge TTY mpxr
DEFOPT DZ11P==0		;1= Has DZ11 Multiplexors

IFN DZ11P, IFNDEF DZ11NB, .ERR DZ11P requires a value for DZ11NB
IFE DZ11P, DEFSYM DZ11NB==0	; # DZ11s

DEFOPT NOTYS==0		; # KA-10 console 0 TTYs
DEFOPT NETYS==0		; # KL-10 DTE20 console 0 TTYs
DEFOPT NKSTYS==0	; # KS-10 8080 console 0 TTYs
DEFOPT NNVTTS==0	; # Nova TTYs
DEFOPT NNTYS==0		; # TTYs on Knight kludge
DEFOPT NDZTYS==0	; # TTYs on DZ11s
DEFOPT NDPTYS==0	; # TTYs on Datapoint kludge
DEFOPT NMTYS==0		; # TTYs on Morton box
DEFOPT NDLTYS==0	; # TTYs on DL10/DC76
DEFOPT NSTTYS==0	; # of STY's (Pseudo-TTY's)
DEFOPT N11TYS==0	; # PDP11 TV TTYs (formerly 16. of them)
IFN N11TYS,[
	DEFOPT TT11NM==0	; # of PDP11 that handles TTYs.
	DEFOPT MXVBN==40	; Max video buffer # for assignment purposes.
]				; These actually correspond to video switch inputs.
DEFOPT NF2741==0	; First 2741 console #
DEFOPT N2741==0		; # 2741's (formerly 3; flushed 3/21/76)
DEFOPT SYSCON==0	; TTY # of system job console
DEFOPT APL==0		; AP TTY #

; Miscellaneous devices

DEFOPT TEN11P==0	;1= Rubin 10-11 interface (late of AI-KA)
DEFOPT XGP==0		;1= Has XGP
DEFOPT NEWDTP==0	;1= Has new dectape controller
DEFOPT NUNITS==0	; # Utape (DECtape) units
DEFOPT OLPTP==0		;1= Has old LPT (Data Products)
DEFOPT NLPTP==0		;1= Has new LPT (ODEC)
DEFOPT GLPTP==0		;1= Has Gould LPT
DEFOPT TTLPTP==0	;1= LPT is on a TTY line (value = line #)
DEFOPT PTRP==0		;1= Has paper tape reader/punch
DEFOPT PTPP==0		;1= Paper tape punch works
DEFOPT PDCLKP==0	;1= Has "DeCoriolis" clock
DEFOPT HCLKP==0		;1= Has Holloway clock (device 710, 714)
DEFOPT CCLKP==0		;1= Hack chess tournament clock stuff (device 374)
DEFOPT 340P==0		;1= Has 340 display
DEFOPT TABP==0		;1= Has Sylvania tablet
DEFOPT PLTP==0		;1= Has Calcomp plotter
DEFOPT DSDP==0		;1= Has deselection device
DEFOPT ARMP==0		;1= Has arm (AMF mostly) (R.I.P.)
DEFOPT IMXP==0		;1= Has IMX (input A/D multiplexor) (alas, no more)
DEFOPT OMXP==0		;1= Has OMX (output D/A multiplexor) (alas, no more)
DEFOPT VIDP==0		;1= Has VIDI (R.I.P.)
DEFOPT NTYP==0		;1= Has DM kludge for talking to 11
DEFOPT CODP==0		;1= Has Morse code F1 92Mhz broadcast output device
DEFOPT PDP6P==0		;1= Has PDP-6 (alas, no more)
			;   (turning this on probably won't work)
DEFOPT RBTCP==0		;1= Has Robot console
DEFOPT NDAP==0		;1= Has "new" D/A converters (alas, no more)
DEFOPT STKP==0		;1= Has Stanford keyboard (not any more)
DEFOPT E.SP==0		;1= Has E&S LDS-1 display

; Some software options

DEFOPT MSPP==0		;1= Want message slurper
DEFOPT DEMON==0		;1= Want crufty DM demon facility
DEFOPT TPLP==0		;1= Want pseudo LPT


; Physical memory parameters

DEFOPT ECCMEM==0	;1= Has HIC's error correcting memory
DEFOPT NMMP==4		; # exec pages for MMP table (# vir pgs/512.)
IFNDEF TSYSM, .ERR TSYSM required - Total PDP10 1K mem blocks

IFNDEF PMRCM, .ERR PMRCM required - Mem addr field in page map
IFNDEF PMAGEM,.ERR PMAGEM required - Age bits in page map
IFNDEF PMCSHM,.ERR PMCSHM required - Cache bit
IFNDEF PMUNSD,.ERR PMUNSD required - Unused bits

IFNDEF ITSIRP,.ERR ITSIRP required - Names of local ITS machines

; Any parameter conflict checks can be made here.

IFN DZ11P,[
IFG NDZTYS-<DZ11NB*8>, .ERR More DZ11 TTYs than controllers?
REPEAT DZ11NB,[
IFNDEF CONC DZ,\.RPCNT,BA, .ERR DZ11 bus address not specified.
]
]
IFN $$TEMP,EXPUNGE DEFSYM
IFN $$TEM2,EXPUNGE DEFOPT
