File: ST.TK of Disk: Disks/MyPDP/m8-blue-rka1-rkb1
(Source file text) 

/ST.TK 1-MAY-80
/THIS TASK IS CALLED THROUGH CD, THE FOREGROUND COMMAND DECODER
/IT WILL DISPLAY ON THE USERS TERMINAL THE STATUS OF THE
/BACKGROUNDS IN THE SYSTEM AND THE ALLOCATION OF BACKGROUND MEMORY
/EG.
/
/CORE    BG1 BG2 BG3 BG4 BG5 BG6 BG7
/56631   IOL SWL F3S IOS RUS RUL 
/
/MEANING:
/THERE ARE 5 MEMORY FIELDS FOR THE BACKGROUNDS,
/SAY FIELD 3, 4, 5, 6 AND 7.
/THE ALLOCATION IS NOW:
/FIELD 3 OCCUPIED BY BG 5
/FIELD 4 OCCUPIED BY BG 6
/FIELD 5 OCCUPIED BY BG 6
/FIELD 6 OCCUPIED BY BG 3
/FIELD 7 OCCUPIED BY BG 1
/
/THE REST OF THE DISPLAY GIVES THE STATUS OF EACH BG, WHERE:
/IOL = WAITONG FOR IO, LOW PRIORITY
/SWL = SWAPPED, LOW PRIORITY
/F3H = WAITING FOR VIRTUAL FIELD 3, HIGH PRIORITY
/KB  = WAITING FOR KEYBOARD INPUT
/TTY = WAITING FOR TERMINAL OUTPUT
/RUH = RUNNING, WITH HIGH PRIORITY
/RUL = RUNNING, WITH LOW PRIORITY
/^B  = WAITING IN CONTROL/B MODE
/HLT = PROCESSING AN EMULATION OR SWAP ERROR.
	*200

PNT,	"S^100+"T&3777	/TASK NAME IS ST
	400		/A TWO PAGE TASK (?)

XTYPE,	TYPE
XTEXT,	TXT
XOUTNA,	OUTNAM
XCRLF,	CRLF
XSPACE,	SPACE
XKBTXT,	KBTXT
COUNT,	0

ST,	CDTOIF
	TAD I XOUTNAM	/COMPUTE NAME OF OUTPUT HANDLER
	DCA I XOUTNAM	/INITIALISE OUTPUT ROUTINE
	JMS I XTEXT	/PRINT HEADING LINE
	   HEAD-.
	JMS I XCRLF	/AND GO TO NEW LINE
ST1,	TAD (-BGFLDS	/PRINT OCCUPANDS OF BG CORE
	DCA COUNT	/FOR ALL REAL FIELDS
	TAD (BSTAB+1
	DCA PNT
	TAD C215	/FOR SUBSEQUENT OVERPRINT
	JMS I XTYPE
L1,	TAD I PNT
	IAC		/NO TEST FOR EMPTY FIELD
	SNA
	 JMP L4		/LOCKED OR BAD FIELD
	AND (0777
	TAD (BGDATA-1+UNUMB-1
	JMS DEFER
	AND C7
L3,	TAD ("0-"X
L4,	 TAD ("X
	JMS I XTYPE
	ISZ PNT
	ISZ COUNT
	 JMP L1
/DISPLAY STATUS OF EACH BG
	TAD (-BGMAX
	DCA COUNT
	TAD (BGDATA
	DCA PNT
IFNZRO BGFLDS-2&4000 <JMS I XSPACE>
IFNZRO BGFLDS-3&4000 <JMS I XSPACE>
IFNZRO BGFLDS-4&4000 <JMS I XSPACE>
IFNZRO BGFLDS-5&4000 <JMS I XSPACE>
IFNZRO BGFLDS-6&4000 <JMS I XSPACE>
L2,	JMS I XSPACE
	AC0100
	AND I PNT	/GET INCORE BIT
	SNA CLA
	 JMP A1		/NOT WAITING FOR MEMORY
	TAD ("F
	JMS I XTYPE
	TAD I PNT
	RTR
	RAR
	AND C7
	TAD ("0
	JMS I XTYPE	/FIELD HE'S WAITING FOR
	JMP B1		/GO FOR THIRD CHAR
A1,	AC6000
	AND I PNT	/GET INACTIVE AND EMULATE
	SNA CLA
	 JMP A2		/NOT WAITING FOR IO
	TAD PNT
	TAD (UINST	/GET LAST TRAPPED INSTRUCTION
	JMS DEFER
	TAD (-KSF
	SZA CLA		/WAITING FOR KB ?
	 JMP A11	/NO
	JMS I XKBTXT	/SEE WHAT TYPE OF INPUT
	JMP NEXT
A11,	JMS I XTEXT
	   IO-.
	JMP B1
A2,	AC0003
	AND I PNT	/GET BGERR AND SWPERR
	SNA CLA
	 JMP A3
	JMS I XTEXT
	   XHLT-.
	JMP NEXT
A3,	TAD I PNT
	AND (BGSTOP
	SNA CLA
	 JMP A4
	JMS I XTEXT
	   CB-.
	JMP NEXT
A4,	JMS I XTEXT
	   RU-.
B1,	TAD I PNT
	AND (LONG
	SNA CLA
	 TAD ("H-"L
	TAD ("L
	JMS I XTYPE
NEXT,	TAD PNT
	TAD (UNEXT
	JMS DEFER
	DCA PNT
	ISZ COUNT
	 JMP L2
	AC4000
	JMS I XTYPE	/RELEASE TTY
	JMS MONITOR
	   STALL
	   1
	CLA CLL
	JMS MONITOR
	   BREAK
	   0		/SELF
	 SKP
	JMP ST1
OUT,	JMS MONITOR
	   EXIT SWPOUT

PAGE
YOUT,	OUT

KBTXT,	0
	TAD X
	TAD (UPC-UINST
	JMS DEFER	/GET USER PC
	TAD (-1210	/INPUT POINT IN OS8 KBM
	SZA
	 JMP A5
	JMS TXT
	   KBM-.
	JMP I KBTXT	/RETURN
A5,
IFZERO OS8-3 <	TAD (1210-1230 >
IFZERO OS8-40 <	TAD (1210-1643 >
	SZA
	 JMP A6		/NO EDIT
	JMS TXT
	   EDT-.
	JMP I KBTXT
A6,
IFZERO OS8-3 <	TAD (1230-2727 >
IFZERO OS8-40 <	TAD (1643-2731 >
	SZA		/TECO ?
	 JMP A7
	JMS TXT
	   TEC-.
	JMP I KBTXT
A7,
IFZERO OS8-3 <
	TAD (2727-1440
	SZA CLA		/PASSWORD ?
	 JMP A8 	/ >
IFZERO OS8-40 <
	TAD (2731-1440
	SZA CLA
	 JMP A8  	/ >
	JMS TXT
	   BYE-.
	JMP I KBTXT
A8,	JMS TXT
	   KB-.
	JMP I KBTXT
TYPE,	0
	TAD (4000
TYPE1,	ISZ C4096
	SKP
	 JMP I YOUT
	JMS MONITOR
	   CALL
OUTNAM,	   "T-"K^100
	 JMP TYPE1
	CDF 10
	CLA CLL
	DCA C4096
	JMP I TYPE

CRLF,	0
	TAD C215
	JMS TYPE
	TAD C212
	JMS TYPE
	JMP I CRLF

SPACE,	0
	TAD C240
	JMS TYPE
	JMP I SPACE

TXT,	0
	CDTOIF
	TAD I TXT
	TAD TXT
	DCA CRLF
	ISZ TXT
TXT1,	TAD I CRLF
	BSW
	JMS BYTE
	TAD I CRLF
	JMS BYTE
	ISZ CRLF
	JMP TXT1

BYTE,	0
	CDF 10
	AND C77
	SNA
	 JMP I TXT	/DONE
	TAD C240
	AND C77
	TAD C240
	JMS TYPE
	CDTOIF
	JMP I BYTE
HEAD,
IFZERO BGMAX-1 <TEXT /CORE   BG1/ >
IFZERO BGMAX-2 <TEXT /CORE   BG1 BG2/ >
IFZERO BGMAX-3 <TEXT /CORE   BG1 BG2 BG3/ >
IFZERO BGMAX-4 <TEXT /CORE   BG1 BG2 BG3 BG4/ >
IFZERO BGMAX-5 <TEXT /CORE   BG1 BG2 BG3 BG4 BG5/ >
IFZERO BGMAX-6 <TEXT /CORE   BG1 BG2 BG3 BG4 BG5 BG6/ >
IFZERO BGMAX-7 <TEXT /CORE   BG1 BG2 BG3 BG4 BG5 BG6 BG7/ >
KBM,	TEXT /OS8/
EDT,	TEXT /EDT/
TEC,	TEXT /TEC/
BYE,	TEXT /BYE/
KB,	TEXT /KB /
IO,	TEXT /IO/
RU,	TEXT /RU/
CB,	TEXT /^B /
SW,	TEXT /SW/
XHLT,	TEXT /HLT/
C4096,	0
	PAGE
	$-$-$