File: PARAM.PA of Tape: Sources/RTS/dec-s8-ortsa-c-uc1-rts8
(Source file text) 

/2.8 PARAMETERS FOR RTS/8 TASKS		V2B+DECNET
	LSTFLG=0	/CHANGE 0 TO 1 TO PREVENT LISTING PARAM
	XLIST LSTFLG
/
/
/
/
/
/
/
/
/
/COPYRIGHT  (C)  1974,1975,1976 BY DIGITAL EQUIPMENT CORPORATION
/
/
/
/
/
/
/
/
/
/
/THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE
/AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
/CORPORATION.  DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY
/FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT.
/
/THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER
/UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED
/(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH
/SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL.
/
/DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE
/OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY
/DIGITAL.
/
/
/
/
/
/
/
/
/
/
/RTS8 V2 EXEC PARAMETERS - EDITED BY USER

PDP8E=		/1 IF PDP 8/E, ELSE 0
/PDP12=		/1 IF PDP-12,  0 OR UNDEFINED IF NOT PDP-12
/EAE=		/1 IF SYSTEM SHOULD SAVE MQ
/PWRFAL=		/1 IF POWER FAIL/RESTART ENABLED IN HARDWARE
KL8A=0		/NUMBER OF KL8A'S IN USE
		/I.E. 1 IF  ONE KL8A (UP TO 4 LINES)
HGHFLD=		/HIGHEST FIELD USED (EG 30 FOR A 16K MACHINE)
	IFDEF	CUR	<
	IFNZRO	HGHFLD-CUR&4000	<CURBIG,_ERROR_>>	/FLAG WARNING IF UNDEFINED FIELD SEEN
NTASKS=		/NUMBER OF TASKS IN SYSTEM
CHECKP=0	/SET TO 1 IF ANY NON-RESIDENT TASK IS CHECKPOINTABLE
PARTNS=0	/NUMBER OF MEMORY PARTITIONS DEFINED
		/(THE N PARTITIONS ARE NUMBERED FROM 0 TO N-1)

/COMMON TASK NUMBERS - EDITED BY USER
/IT IS ADVISABLE TO DEFINE ALL TASKS HERE.  NAMES GIVEN BELOW
/ARE USED BY SOME SYSTEM TASKS AND SHOULD REMAIN COMMENTED OUT
/IF THE CORRESPONDING TASK IS NOT INCLUDED IN THE SYSTEM

/PWRF=		/POWER FAIL HANDLING TASK
/CLOCK=		/CLOCK HANDLER - SHOULD BE HIGH PRIORITY
/SWAPPER=	/NONRESIDENT TASK SWAPPER TASK
/TTY=		/TELETYPE DRIVER TASK
/LPT=		/LINE PRINTER DRIVER TASK
/MCR=		/MONITOR CONSOLE ROUTINE
/DTA=		/DECTAPE DRIVER TASK
/LTA=		/LINCTAPE DRIVER TASK
/RK8=		/RK8 OR RK8E DISK DRIVER TASK
/RF08=		/RF08 DISK DRIVER TASK
/DF32=		/DF32 DISK DRIVER TASK
/CSA=		/CASSETTE DRIVER TASK
/CSAF=		/CASSETTE FILE SUPPORT TASK
/UDC=		/UNIVERSAL DIGITAL CONTROLLER TASK
/RX8A=		/FIRST FLOPPY CONTROLLER
/RX8B=		/SECOND FLOPPY CONTROLLER
/RX8C=		/THIRD FLOPPY CONTROLLER
/RX8D=		/FOURTH FLOPPY CONTROLLER
/OS8=	NTASKS	/OS/8 SUPPORT - NORMALLY LOWEST PRIORITY
/OS8F=		/OS/8 FILE SUPPORT
/DDCMP=		/DDCMP TASK FOR DECNET
/NSP=		/NETWORK SERVICES PROTOCOL TASK
/NIP=		/NETWORK INFORMATION PROGRAM
/TLK=		/NETWORK TERMINAL COMMUNICATIONS TASK TRANSMITTER
/LSN=		/NETWORK TERMINAL COMMUNICATIONS TASK RECEIVER
/NULL8A=	/NULL JOB FOR PDP-8/A
/EXIT=		/EXIT TASK
/DKC8A=		/AUXILIARY DKC8A HANDLER

/SOFTWARE PARAMETERS - EDITED BY USER

	XLIST	1
	IFDEF	OS8	<
	XLIST	LSTFLG
OSFLDS=		/NUMBER OF FIELDS TO ALLOCATE TO OS/8 (EG 2)
OSTTDV=		/OS/8 TELEPRINTER DEVICE CODE (EG 04)
/OSKBDV=	/OS/8 KEYBOARD DEVICE CODE (EG 03 = CONSOLE)
		/DEFAULT IS OSTTDV-1
OSSYSD=		/OS/8 SYSTEM DEVICE DRIVER TASK (EG RK8)
/OSFILL=	/# FILLS NEEDED AFTER LINE FEED
		/(EG 4 FOR 2400 BAUD VT05)
/OS8ORG=	/ORIGIN (IN FIELD 0)
	XLIST	1>
	IFDEF	MCR	<
	XLIST	LSTFLG
/MCRCLK=		/0 IF MCR TOD FACILITIES TO BE OMITTED (DEFAULT = 1)
/MCRSYS=		/0 IF MCR SYSTAT FACILITY NOT DESIRED
			/1 IF DESIRED (DEFAULT)
/MCRFLD=		/FIELD OF MCR
/MCRORG=		/LOCATION OF MCR (DEFAULT IS END OF FIELD)
/MCRPRT=		/PARTITION NUMBER OF MCR (IF NON-RESIDENT)
/MCRCDV=		/CONSOLE TO BE USED BY MCR, E.G. TTY
			/DEFAULT IS TTY
	XLIST	1>
	IFDEF	CLOCK	<
	XLIST	LSTFLG
CLKTYP=		/0(DK8EA/DK8EC) OR 1(KW12) OR 2(PDP8/A) OR 3(DK8EP)
CLKQLN=20	/MINIMUM NUMBER OF ENTRY SLOTS IN THE CLOCK QUEUE
		/MAY BE CHANGED BY USER
	DECIMAL
HERTZ=		/NUMBER OF HARDWARE TICKS PER SECOND
SHERTZ=		/NUMBER OF SYSTEM TICKS PER SECOND
	IFNZRO	CLKTYP&1 <HERTZ=1750>	/FORCE DK8EP,KW12 TO 1 KHZ
	OCTAL
	XLIST	1>

	IFDEF	LPT	<
/LPTLOC=
/LPTFLD=
	>
	IFDEF	DTA	<
/DTALOC=
/DTAFLD=
	>
	TBLLST=	0	/SET TO 'LSTFLG' IF YOU DON'T DESIRE
			/TO SEE TABLES WHEN PARAMETER FILE IS
			/NOT LISTED.

/SYSTEM LOCATIONS:

MSGTBL=	1200-2			/TASK MESSAGE TABLE
TSTABL=	NTASKS+2^2+MSGTBL-4	/TASK STATE TABLE - HOLDS
				/TASK LINK,UM,DF,IF,PC,AC,MQ
TFTABL=	NTASKS+2^4+TSTABL-1	/TASK FLAGS TABLE - HOLDS
				/TASK STATUS FLAGS
	XLIST	1
	IFDEF	SWAPPER	<
	XLIST	LSTFLG
SYS=		/SWAP DEVICE DRIVER TASK (EG RK8)
/SUNIT=		/SWAP DEVICE PHYSICAL DRIVE UNIT (EG 0 FOR RKA0)
	IFNDEF	SUNIT	<SUNIT=	0>	/DEFAULT SWAP UNIT IS 0

	FIELD 0
/
/PARTITION TABLE (PARTBL) ENTRIES:
/MUST BE INITIALIZED BY USER AS EXPLAINED IN THE COMMENTS
/DON'T FORGET TO REMOVE LEADING "/" FROM LINES USED
/
RESTBL=	TFTABL+NTASKS+2			/RESIDENCY TABLE
PARTBL=	NTASKS-SWAPPER^2+RESTBL+3&7774	/PARTITION TABLE

	*PARTBL
	XLIST	1
	IFNZRO	PARTNS		<
	XLIST	TBLLST
MFLD00=			/MEMORY FIELD OF PARTITION #0 (E.G. 2 IF FIELD 2)
ADDR00=			/LOWEST ADDRESS IN PARTITION #0
SIZE00=			/SIZE OF PARTITION #0 (CORE PAGES)
	SIZE00^10+MFLD00^10+4000
	ADDR00
	ZBLOCK	2
	XLIST
	IFNZRO	PARTNS-1	<
	XLIST	TBLLST
MFLD01=			/MEMORY FIELD OF PARTITION #1
ADDR01=			/LOWEST ADDRESS IN PARTITION #1
SIZE01=			/SIZE OF PARTITION #1 (CORE PAGES)
	SIZE01^10+MFLD01^10+4000
	ADDR01
	ZBLOCK	2
	XLIST
	IFNZRO	PARTNS-2	<
	XLIST	TBLLST
MFLD02=			/MEMORY FIELD OF PARTITION #2
ADDR02=			/LOWEST ADDRESS IN PARTITION #2
SIZE02=			/SIZE OF PARTITION #2
	SIZE02^10+MFLD02^10+4000
	ADDR02
	ZBLOCK	2
	XLIST
	IFNZRO	PARTNS-3	<
	XLIST	TBLLST
MFLD03=		/PARTITION #3
ADDR03=
SIZE03=
	SIZE03^10+MFLD03^10+4000
	ADDR03
	ZBLOCK	2
	XLIST
	IFNZRO	PARTNS-4	<
	XLIST	TBLLST
MFLD04=		/PARTITION #4
ADDR04=
SIZE04=
	SIZE04^10+MFLD04^10+4000
	ADDR04
	ZBLOCK	2
	XLIST
	IFNZRO	PARTNS-5	<
	XLIST	TBLLST
MFLD05=		/PARTITION #5
ADDR05=
SIZE05=
	SIZE05^10+MFLD05^10+4000
	ADDR05
	ZBLOCK	2
	XLIST
	IFNZRO	PARTNS-6	<
	XLIST	TBLLST
MFLD06=		/PARTITION #6
ADDR06=
SIZE06=
	SIZE06^10+MFLD06^10+4000
	ADDR06
	ZBLOCK	2
	XLIST
	IFNZRO	PARTNS-7	<
	XLIST	TBLLST
MFLD07=		/PARTITION #7
ADDR07=
SIZE07=
	SIZE07^10+MFLD07^10+4000
	ADDR07
	ZBLOCK	2
	XLIST 1>>>>>>>>
/
/ADDITIONAL PARTITIONS MAY BE DEFINED BY THE USER AS SHOWN ABOVE
/FURTHERMORE, THE PARTITION TABLE MAY RESIDE ANYWHERE IN FIELD ZERO
/
	PRTEND=.	/NOTE END OF PARTITION TABLE

	XLIST	1>
	IFDEF	TTY	<
	XLIST	LSTFLG
/	TTDEV=		/PRINTER DEVICE CODE - DEFAULT IS 4
/	KBDEV=		/KEYBOARD DEVICE CODE - DEFAULT IS TTDEV-1
/	CONSOL=		/1 MEANS CONSOLE TTY (DEFAULT)
/	VT50=		/1 ENABLES CTRL/S AND CTRL/Q
/	SCOPE=		/1 MEANS TTY CAN DO A BACKSPACE
/	FILL=		/NUMBER OF FILL CHARACTERS, I.E. 4
/	WIDTH=		/TTY LINE WIDTH (0 MEANS INFINITE), DEFAULT IS 120
/	TAB=		/1 IF TTY HAS HARDWARE TABS
/	OLDTTY=		/1 TO USE OLD 2-PAGE TTY HANDLER
/	LSBOT=		/1 LISTS BOTH HANDLERS (DEFAULT 0)
/	TTFLD=		/FIELD OF TTY TASK (TIMES 10)
/	TTLOC=		/LOCATION OF TTY TASK

	XLIST	1>
	IFNZRO	KL8A	<
	XLIST	LSTFLG
/KL8ADV=		/KL8A DEVICE CODE - DEFAULT IS 40
/KL8ACT=		/KL8A CONNECT ROUTINE PAGE - DEFAULT IS 7400
	XLIST	1>
	IFDEF	EXIT	<
	XLIST	LSTFLG
/EXITFLD=	/FIELD OF EXIT TASK (TIMES 10)
/EXITLOC=	/LOCATION OF EXIT TASK
	XLIST	1>
	XLIST	LSTFLG

	IFNDEF	PDP8E	<PDP8E=1>
	IFNDEF	PDP12	<PDP12=0>
	IFNDEF	EAE	<EAE=0>
	IFNDEF	PWRFAL	<PWRFAL=0>
	IFNDEF	KL8A	<KL8A=0>
	XLIST	1
	IFDEF	NSP <
	XLIST	LSTFLG
MAXCCB=		/NUMBER OF LOGICAL CHANNELS (CCB'S) BEING USED
		/E.G. 3 FOR 3 CHANNELS
		/THESE ARE NUMBERED 1,2,3
MAXNOD=		/NUMBER OF NODE NAMES IN NODE TABLE
NSPFLD=		/FIELD OF NSP TASK AND MOST NETWORK TABLES (E.G. 30)
		/(TABLES INCLUDE CCBTAB, LNKTAB, NODTAB AND NETTAB)
NSPLOC=	2600	/ORIGIN OF NSP TASK.  MUST BE .LE. 3200
		/THE DEFAULT IS CURRENTLY 3200
NODNUM=		/NODE NUMBER OF THIS NODE

	/IMPORTANT RELATIVE ORIGINS WITHIN NETWORKS TASKS

	DRLXIT=	NSPLOC+4400	/ADDRESS OF AST DE-QUEUER
	CCBTAB=	DRLXIT+200	/ADDRESS OF CCB TABLE
	NODTAB=	CCBTAB+100	/ADDRESS OF NODE TABLE
	NETTAB=	NODTAB+60	/ADDRESS OF NETWORK 'INFORMATION' TABLE

/THE DEFAULT NETWORKS TASKS USE CORE AS FOLLOWS:

/DDCMP:	PAGE 0, 0200-3577	(1 LINE, 2 PAGE NODE POOL)
/NSP:	PAGE 0, 3200-7577


/NETWORK TASKS USE PAGE 0 AS FOLLOWS:

/DDCFLD:	10-12, 30-77
/NSPFLD:	15-17, 77-177

/NODE TABLE ENTRIES

/EACH ENTRY HAS THE FORM
/WORDS 1-3	NODE NAME (6-BIT, 0-PADDED)
/WORD 4		LINE NUMBER
/WORD 5		BIT 0=1 IF ADJACENT NODE
/		BITS 4-11 CONTAIN NODE NUMBER

	IFDEF TASK <	IFZERO TASK-NSP <
	FIELD NSPFLD%10
	*NODTAB

NODTAB,	TEXT	/NAME/
	0		/LINE NUMBER
	0		/NODE NUMBER
	*NETTAB+4
	NODNUM		/OUR NODE NUMBER
	TEXT	/NAME/	/OUR NODE NAME
	FIELD 0
	>>
	>

	XLIST	1
	IFDEF	DDCMP	<
	XLIST	LSTFLG
MAXLIN=		/NUMBER OF PHYSICAL LINES BEING USED
		/E.G. 3 FOR 3 LINES
		/THESE ARE NUMBERED 0,1,2
MAXPKT=	24	/SET TO NUMBER OF NODE POOL PACKETS TO ALLOW
		/THE NODE POOL EXISTS AT THE END OF DDCMP
		/JUST BEFORE THE LCB TABLE (SIMILAR TO THE CLOCK QUEUE)
		/EACH PACKET REQUIRES 14 WORDS OCTAL. (ABOUT 10. PER PAGE)
		/(THE DEFAULT REQUIRES 2 PAGES CORE)
/KG8E=		/SET TO IOT SKELETON IF KG8E IS PRESENT (E.G. 6110)
DDCFLD=		/FIELD OF DDCMP TASK,LCBTAB AND 'NODE POOL' (E.G. 20)
		/THIS FIELD MUST BE DIFFERENT FROM NSPFLD
DDCLOC=	0200	/ORIGIN OF DDCMP TASK
		/THE ABOVE MUST BE BELOW 5000-SIZE OF NODE POOL AND LCBTAB
		/THE DEFAULT IS CURRENTLY 200

LCBSIZ=	32	/GLOBAL DEFINITION OF LCB SIZE (DO NOT ALTER)
PKSIZE=	14	/GLOBAL DEFINITION OF PACKET SIZE (DO NOT ALTER)

	DDCFNC=	DDCLOC		/ADDRESS OF DDCMP 'FUNCTION CALL' ROUTINE
	HEADPK=	DDCLOC+3020	/ADDRESS OF START OF PACKET FREELIST
	LCBTAB=	MAXPKT^PKSIZE+HEADPK	/ADDRESS OF LINE CONTROL BLOCK TABLE

	/IMPORTANT NETWORKS PAGE 0 GLOBALS

	DDCEF=	46	/DDCMP I/O EVENT FLAG
	FREHD=	47	/LOCATION OF I/O PACKET FREELIST HEAD
	DDCTL=	50	/POINTS TO TAIL OF DDCMP INPUT QUEUE
	DDCHD=	51	/POINTS TO HEAD OF DDCMP INPUT QUEUE
	ATNINP=	52	/POINTS TO TRANSMIT COMPLETE RING BUFFER
	OHDR=	55	/LOCATION OF HEADER BUFFER FOR TRANSMITS
	OCRCL=	63	/HEADER CRC FOR TRANSMITS
	ODCRCL=	65	/DATA CRC FOR TRANSMITS
	OUTCDF=	67	/DATA DESCRIPTOR FOR TRANSMITS
	DDCUSR=	NSP	/DEFAULT USER OF DDCMP TASK
	XLIST	1>

	XLIST	1
	IFDEF	NIP	<
	XLIST	LSTFLG
/NIPFLD=		/FIELD OF NIP (TIMES 10)
/NIPLOC=		/LOCATION OF NIP
/NIPART=		/PARTITION FOR NIP
/SKIMP=			/SET TO 1 TO GET SHORT NIP
/NIPLOG=		/DEVICE NIP OUTPUTS TO
			/DEFAULT IS LPT IF IT EXISTS (OTHERWISE TTY)
/NIPRES=		/LOCATION FOR RESIDENT PORTION OF NIP
			/REQUIRED ONLY IF NIPART DEFINED
			/DEFAULT IS NIPLOC-200
	XLIST	1	>

	IFDEF	TLK	<
	XLIST	LSTFLG
/TLKFLD=		/FIELD OF TLK TASK
/TLKLOC=		/START OF TLK TASK
TLKCHN=		/CCB CHANNL TO ASSIGN TO TLK TASK
	XLIST	1	>
	IFDEF	LSN	<
	XLIST	LSTFLG
/LSNFLD=		/FIELD OF LSN TASK (TIMES 10)
/LSNLOC=		/START OF TLK TASK
LSNCHN=		/CCB CHANNL TO ASSIGN TO LSN TASK
	XLIST	1	>
	XLIST	LSTFLG
/EQUIVALENCES:

AC7776=	CLL STA RAL
AC7775=	CLL STA RTL
AC4000=	CLA STL RAR
AC3777=	CLL STA RAR
AC2000=	CLA STL RTR
AC0002=	CLA STL RTL

/MONITOR CALL VALUES:

CAL=	JMS	20	/CALL THE EXECUTIVE
POSTDS=	JMP I	24	/DISMISS AN INTERRUPT
WAITM=	JMS I	25	/WAIT FOR MULTIPLE EVENTS

		/NOTE:  "**" MEANS CRITICAL VALUE MAY NOT
		/BE CHANGED WITHOUT MODIFYING SYSTEM CODE!!
SEND=	0	/SEND MESSAGE
RECEIV=	1	/RECEIVE MESSAGE
WAITE=	2	/WAIT FOR EVENT FLAG
RUN=	3	/CONTINUE TASK EXECUTION
SUSPND=	4	/SUSPEND TASK EXECUTION
POST=	5	/POST AN EVENT FLAG
SKPINS=	6	/INSERT CODE INTO INTERRUPT SKIP CHAIN
DERAIL=	7	/INITIATE END-ACTION
BLKARG=	10	/BLOCK TASK FOR REASON SPECIFIED IN ARG
SENDW=	11	/SEND MESSAGE AND WAIT
UNBARG=	12	/UNBLOCK TASK FOR REASON SPECIFIED IN ARG
RESCHD=	13	/FORCE A RESCHEDULE
WAITX=	14	/WAIT FOR EXACTLY THIS EVENT FLAG
FREE=	4000	/**FREE PARTITION

	XLIST	1
	IFDEF UDC	<
	XLIST	LSTFLG
	AO=0;DO=1;DI=2;GC=3;EC=4;RC=5
	DC=6;ECT=7;CS=10;DCT=11;AI=12
	XLIST	1>
	XLIST	LSTFLG

/TASK STATUS FLAGS:

NONRWT=	4000	/**NONRESIDENT TASK WAIT
EFWT=	2000	/EVENT FLAG WAIT
RUNWT=	1000	/SCHEDULE WAIT
SWPWT=	0400	/**SWAPPER WAIT
EORMWT=	0200	/EVENT FLAG OR MESSAGE WAIT
USERWT=	0100	/USER SPECIFIED WAIT
ENABWT=	0040	/ENABLE WAIT
MSGWT=	0020	/MESSAGE WAIT
NETWT=	0010	/NETWORK WAIT  (RESERVED FOR POSSIBLE FUTURE USE)
DNEWT=	0001	/**DOES NOT EXIST WAIT
	IFNZRO	KL8A	<IFNDEF	KL8ACT	<
	KLUD=	KL8A-1/3^200
	KL8ACT=	7400-KLUD>>

TSWFLG=	35	/TASK SW INHIBIT FLAG	IN FIELD 0
TODL=	36	/LOW ORDER TIME OF DAY	IN FIELD 0
TODH=	37	/HIGH ORDER TIME OF DAY	IN FIELD 0
DATE=	40	/DATE IN OS8 FORMAT	IN FIELD 0
MCREF=	41	/MCR START EVENT FLAG	IN FIELD 0

/SOME USEFUL EQUATES FOR TTY AND LPT MESSAGES:

	NOPACK=4000	/TEXT IS NOT PACKED IN 6-BIT
	NOCRLF=2000	/OUTPUT SHOULD NOT BE FOLLOWED BY CR/LF
	IND=1000	/OUTTXT PTS TO FIRST WORD OF TEXT
	NOLINE=400	/INPUT IS IN CHARACTER MODE
	ASSGN=200	/ASSIGNS DEVICE
	KL8ALINE=100	/USED TO SPECIFY A LINE OF A KL8A

	XLIST	1
	IFDEF	CLOCK	<
	XLIST	LSTFLG
/	SOME USEFUL EQUATES FOR STANDARD CLOCK MESSAGES:

	MARKTIME=	0	/POST EVENT FLAG AFTER SPECIFIED INTERVAL
	SCHEDULE=	1000	/RUN TASK AFTER SPECIFIED INTERVAL
	TIMOUT=		2000	/DERAIL TASK AFTER SPECIFIED INTERVAL
	PERIODICALLY=	2000	/USED AS MODIFIER TO 'SCHEDULE'
				/RE-QUEUES RUN REQUEST AFTER SPECIFIED INTERVAL
				/E.G.	  'SCHEDULE FOO PERIODICALLY'
	CANCEL=		7000	/DELETE ALL REQUESTS FROM SPECIFIED TASK FROM QUEUE
	XLIST	1>

	XLIST	1	/FORCE LISTING OFF
	IFDEF	TASK	<
	XLIST
/TASK TABLE SETUP - "TASK", "CUR","INIWT", AND "START"
/MUST BE DEFINED BY TASK:

	IFNDEF	INIWT	<INIWT=0>
	IFNDEF	INIWT2	<INIWT2=0>
	IFNDEF	INIWT3	<INIWT3=0>

	*TASK^2+MSGTBL
	ZBLOCK	2	/MESSAGE BUFFER INITIALLY CLEAR
	*TASK^4+TSTABL
	CUR%10+CUR	/INITIAL FLAGS
	START
	0		/INITIAL AC 0
	XLIST;	IFDEF	VERS	<
	XLIST
	VERS		/INITIAL MQ
	XLIST	>
	XLIST
	*TASK+TFTABL
	INIWT
	XLIST
	>

	IFDEF	TASK2	<
	XLIST
	*TASK2^2+MSGTBL
	ZBLOCK	2	/MESSAGE BUFFER INITIALLY CLEAR
	*TASK2^4+TSTABL
	CUR2%10+CUR2	/INITIAL FLAGS2
	START2
	0		/INITIAL AC 0
	XLIST;	IFDEF	VERS2	<
	XLIST
	VERS2		/INITIAL MQ
	XLIST	>
	XLIST
	*TASK2+TFTABL
	INIWT2
	XLIST
	>

	IFDEF	TASK3	<
	XLIST
	*TASK3^2+MSGTBL
	ZBLOCK	2	/MESSAGE BUFFER INITIALLY CLEAR
	*TASK3^4+TSTABL
	CUR3%10+CUR3	/INITIAL FLAGS3
	START3
	0		/INITIAL AC 0
	XLIST;	IFDEF	VERS3	<
	XLIST
	VERS3		/INITIAL MQ
	XLIST	>
	XLIST
	*TASK3+TFTABL
	INIWT3
	XLIST
	>

	IFDEF	TASK	<
	IFDEF	PARTNO	<
	XLIST

/RESIDENCY TABLE (RESTBL) ENTRY:
/INITIALIZED FOR NONRESIDENT TASKS ONLY

	*TASK-SWAPPER-1^2+RESTBL
	PARTNO^4+PARTBL+CPABLE+CPABLE+WRITE
	XLIST
	IFNDEF	SWAPPER	<NOSWAP,_ERROR_>	/SWAPPER MISSING
	IFNZRO	TASK-SWAPPER&4000	<SWPRIO,_ERROR_>/NON-RESIDENT TASK
						/HAS PRIORITY HIGHER THAN SWAPPER
	>>

	IFDEF	PARTNO	<
	IFNDEF	TASK	<NOTASK,_ERROR_>	/PARTITION BUT NO TASK
	IFNDEF	SWAPPER	<NOSWAP,_ERROR_>	/PARTITION BUT NO SWAPPER
	IFNDEF	PARTNS	<NOPART,_ERROR_>	/MISSING PARTITIONS
	IFZERO	PARTNO-PARTNS&4000	<PRTERR,_ERROR_>	/PARTNO.GE.PARTNS
	>
	XLIST	0