File: PARAM.PA of Tape: Sources/RTS/s3
(Source file text) 

/PARAMETERS FOR RTS-8 TASKS  (VERSION 2)
	XLIST	1	/CHANGE 0 TO 1 TO PREVENT LISTING
/
/
/

/RTS8 V2 EXEC PARAMETERS - EDITED BY USER

PDP8E=	1	/1 IF PDP 8/E
PDP12=	0	/1 IF PDP-12,  0 OR UNDEFINED IF NOT PDP-12
EAE=	1	/1 IF SYSTEM SHOULD SAVE MQ
PWRFAL=	1	/1 IF POWER FAIL/RESTART ENABLED IN HARDWARE
HGHFLD=	60	/HIGHEST FIELD USED (EG 30 FOR A 16K MACHINE)
NTASKS=	13	/NUMBER OF TASKS IN SYSTEM
CHECKPT=1	/1 IF ANY NON-RESIDENT TASK IS CHECKPOINTABLE
PARTNS=	1	/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 BE DELETED FROM THIS
/LIST IF THE CORRESPONDING TASK IS NOT INCLUDED IN THE SYSTEM

CLOCK=	1	/CLOCK HANDLER - SHOULD BE HIGH PRIORITY
PWRF=	2	/POWER FAIL HANDLING TASK
TTY=	3	/TELETYPE DRIVER TASK
/LPT=		/LINE PRINTER DRIVER TASK
MCR=	7	/MONITOR CONSOLE ROUTINE
/DTA=		/DECTAPE DRIVER TASK
SDA=	5	/SIMPLE DECTAPE DRIVER TASK
/LTA=		/LINCTAPE DRIVER TASK
/RK8=		/RK8 OR RK8E DISK DRIVER TASK
SIDK=	4	/SI 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
/ICS=		/INDUSTRIAL CONTROLLER TASK
/RX8A=		/FIRST FLOPPY CONTROLLER
/RX8B=		/SECOND FLOPPY CONTROLLER
/RX8C=		/THIRD FLOPPY CONTROLLER
/RX8D=		/FOURTH FLOPPY CONTROLLER
SWAPPER=6	/NONRESIDENT TASK SWAPPER TASK
OS8F=	10	/OS/8 FILE SUPPORT
OS8B=	NTASKS-2/BOOT JOB FOR EVERYTHING IN OS/8
OS8I=	NTASKS-1/OS8 INTERRUPT ROUTINE
OS8=	NTASKS	/OS/8 SUPPORT - IT MUST BE LOWEST PRIORITY

/SYSTEM CONSOLE
CONSOL=	1
KBDEV=	33
TTDEV=	34

/SOFTWARE PARAMETERS - EDITED BY USER

	IFDEF	OS8	<
OSFLDS=	5	/NUMBER OF FIELDS TO ALLOCATE TO OS/8 (EG 2)
OSKBDV=	03	/OS/8 KEYBOARD DEVICE CODE (EG 03 = CONSOLE)
OSTTDV=	04	/OS/8 TELEPRINTER DEVICE CODE (EG 04)
OSSYSD=	SIDK	/OS/8 SYSTEM DEVICE DRIVER TASK (E.G. RK8)
OSFILL=	0	/# FILLS NEEDED AFTER LINE FEED
	>	/(EG 4 FOR 2400 BAUD VT05)
	IFDEF	MCR	<
MCRSYS=	1	/1 IF MCR SYSTAT FACILITY DESIRED
	>
	IFDEF	CLOCK	<
CLKTYP=	4	/0(DK8EA/DK8EC) OR 1(KW12) OR 2(PDP8/A) OR 3(DK8EP)
CLKQLN=	21	/MINIMUM NUMBER OF ENTRIES ON THE CLOCK QUEUE
	DECIMAL
HERTZ=	100	/NUMBER OF HARDWARE TICKS PER SECOND
SHERTZ=	100	/NUMBER OF SYSTEM TICKS PER SECOND
	OCTAL
	>

	IFDEF	SWAPPER	<
NRTASK=	SWAPPER+1
SYS=	SIDK	/SWAP DEVICE DRIVER TASK (EG RK8)
SUNIT=	0	/SWAP DEVICE PHYSICAL DRIVE UNIT (EG 0 FOR RKA0)
	>

/EQUIVALENCES:

AC7777= CLL STA
AC7776=	CLL STA RAL
AC7775=	CLL STA RTL
AC6000= CLA STL IAC RTR
AC5777= CLL STA RTR
AC4000=	CLA STL RAR
AC3777=	CLL STA RAR
AC2000=	CLA STL RTR
AC0006= CLA STL IAC RTL
AC0004= CLA CLL IAC RTL
AC0003= CLA STL IAC RAL
AC0002=	CLA STL RTL
AC0001= CLA CLL IAC
AC0000= CLA CLL

/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
FREE=	4000	/**FREE PARTITION

	IFDEF UDC	<AO=0;DO=1;DI=2;GC=3;EC=4;RC=5
			DC=6;ECT=7;CS=10;DCT=11;AI=12>
/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

/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

	IFDEF	SWAPPER	<
RESTBL=	TFTABL+NTASKS+2			/RESIDENCY TABLE
PARTBL=	NTASKS-SWAPPER^2+RESTBL+3&7774	/PARTITION TABLE
COMMAND=43				/SWAPPER COMMAND BUFFER
	>
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

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

	*TASK^2+MSGTBL
	ZBLOCK	2	/MESSAGE BUFFER INITIALLY CLEAR
	*TASK^4+TSTABL
	CUR%10+CUR	/INITIAL FLAGS
	START
	0		/INITIAL AC 0
	*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
	*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
	*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
	>>
	XLIST	0	/FORCE LISTING ON