	.TITLE	SGNBLK DOS15
/
/COPYRIGHT (C) 1975
/DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
/
/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 PRO-
/VIDED 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 DEC.
/
/THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE
/WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS A COM-
/MITMENT BY DIGITAL EQUIPMENT CORPORATION.
/
/DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY
/OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
	.EJECT
/
/COPYRIGHT 1971,72,73 DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
/
/EDIT #010	XXXX	6-OCT-71
/EDIT #014	S.KRISH	17-SEP-73	UC15 GENERAL FIXUP
/EDIT #015	S.KRISH	25-SEP-73	UC15 SYSDEV CODE BUG FIX
/EDIT #016	S.KRISH	10-OCT-73	SPOOLER START BLK # CHANGE TO
/					11207 TO PERMIT CTL 'Q'
/EDIT #017	S.ROOT	13-OCT-73	FIX RKSF FROM 706121 TO 706101
/EDIT #018	S.KRISH	15-OCT-73	NO LPU,CDU & XYU. BOSS15 PERMITS
/					ONLY ONE LP & CD HANDLER IN
/					SYSTEM CALLED LPA & CDB !!!!!
/     #019	15-JUL-74 BY ED GARDNER	FIX DEVICE SKIP MNEMONICS TO AGREE
/					WITH THOSE IN 15 USERS HANDBOOK.
/					INSERT STUFF FOR LTX. DUMMY HANDLER.
/     #020	22-JUL-74 BY ED GARDNER	REDUCE NUMBER OF LT19 SKIPS FROM
/					16 LINES TO 5 LINES SO SGNBLK WILL
/					FIT IN ONE DISK BLOCK.
/     #021	19-NOV-74 BY ED GARDNER ELIMINATE DUPLICATION OF SKIP
/					"KSF1" IN SKIP CHAIN
/	#022	A0-JAN-75	BR	ALLOW UC15 DEVICES IN RP/RF VER.
/	#23	20-JAN-75	BR	KEEP SCOM76/77 IN ALL VER.
/	#24	20-AUG-75	MJH	DISCLAIMER
/	025	2-OCT-75	G. REID	REMOVED RB09 CONDTIONALIZATION.
/					CHANGED LTX. TO A HANDERLESS DEVICE.
/					REMOVED TWO UNUSED UC15 WORDS.
/					ADDED SYA, SYB, SYC, SYS, CMA AND
/					CMD TO SGNTAB.
/					CHANGED 'SYSDEV' DIRECT ASSIGNMENTS
/					TO REFLECT ADDITION OF THE PSEUDO-
/					DEVICES.  
/					CONDITIONALIZED 'SCOM4' TO SHOW
/					UC15 AND POLLER ON IF RK05, OFF OTHERWISE.
/
/	SGNBLK (SYSTEM BLOCK #36(8)) CONTAINS ALL THE SYSTEM PARAMETERS
/NOT ASSOCIATED DIRECTLY WITH SYS FILE CUSPS.  THE BULK OF SGNBLK
/IS CONCERNED WITH I/O (.DAT SLOTS,.UFD SLOTS, SKIP CHAIN ORDER, HANDLERS,
/SKIP IOT NUMBERS AND MNEMONICS).  THE FIRST FEW REGISTERS OF SGNBLK
/HOLD SUCH IMPORTANT SYSTEM PARAMETERS AS THE SYSTEM DEVICE,
/ .SCOM+4 CONTENTS, ETC.  SGNBLK IS PART OF THE
/SYSTEM LOADER AND NON-RESIDENT MONITOR AND STARTS AT LOCATION
/17100(8).  THE FIRST 
/WORD IN SGNBLK POINTS TO THE UNRELOCATED ADDRESS OF THE FIRST FREE
/WORD IN THE BLOCK.  THE NEXT ENTRY IS AN OFFSET WORD INDICATING
/THE TOTAL LENGTH (INCLUDING ITSELF) OF THE MISCELLANEOUS 
/SYSTEM PARAMETER TABLE TO FOLLOW.  THIS TABLE INCLUDES THE SIZE OF 
/THE .DAT SLOT TABLE AND THE SIZE OF THE SKIP CHAIN TABLE.  THE END
/OF THE HANDLER AND SKIP IOT TABLE IS THE FIRST FREE ENTRY OF THE BLOCK.
/
	.ABS
	.LOC	17100
SGNBLK	SGEND-17100		/POINTER TO FIRST FREE ENTRY IN SGNBLK
	.EJECT
	.IFUND RK05
	.IFDEF	RP02
SYSDEV=25			/(GAR-025)
	.ENDC
	.IFUND	RP02
SYSDEV=22			/(GAR-025)
	.ENDC
	.ENDC
	.IFDEF RK05
SYSDEV=41			/(GAR-025)
	.ENDC
/
/BASIC SYSTEM PARAMETERS
/
NOPAR	SGNDAT-.	/NUMBER OF MISCELLANEOUS PARAMETERS
NODAT	SGNSKP-SGNDAT	/(NUMBER OF POSITIVE .DAT SLOTS + 16)*2
			/EQUALS SIZE OF .DAT SLOT TABLE AND .UFD TABLE
NOSKP	SGNTAB-SGNSKP	/NUMBER OF SKIPS IN THE SKIP CHAIN
SDEV1=.			/SYSTEM DEVICE CODE
	.IFUND RK05
	.IFDEF	RP02
	.SIXBT	/DP/
	.ENDC
	.IFUND	RP02
	.SIXBT	/DK/
	.ENDC
	.ENDC
	.IFDEF RK05
	.SIXBT	/RK/
	.ENDC
	.IFUND	RK05	/(GAR-025)
SCOM4	300500		/ORIGINAL CONTENTS OF .SCOM+4
	.ENDC		/(GAR-025)
	.IFDEF	RK05	/(GAR-025)
SCOM4	300506		/(GAR-025) ORIGINAL CONTENTS OF .SCOM+4
			/(GAR-025) WITH UC15 AND POLLER ON AS DEFAULT.
	.ENDC		/(GAR-025)
SCOM20	57777		/(GAR-025) ORIGINAL CONTENTS OF .SCOM+20
			/(GAR-025) SYSTEM MEMORY SIZE (DEFAULT = 24K)
X1	500		/NUMBER OF DATA REGISTERS PER OPEN FILE ON MASS
			/STORAGE (.SCOM+27)
FILES	3		/DEFAULT NUMBER OF FILES TO BE OPEN AT SAME TIME (.SCOM+26)
			/FOR USE WITH THE LINKING LOADER AND EXECUTE
MIC	.SIXBT	'SYS'		/THE MONITOR IDENTIFICATION CODE
SCOM33	0			/^X INFORMATION (.SCOM+33)
PROTCT	2			/DEFAULT PROTECTION CODE FOR FILES (.SCOM+54)
				/ 1	READ/WRITE (WITH RANDOM ACCESS)
				/ 2	READ/NO WRITE
				/ 3	NO READ/NO WRITE
PCHSZ	0		/SIZE OF THE RESIDENT MONITOR PATCH AREA
CLKCON	-74		/-# OF TICKS IN A SECOND (-74 FOR 
/(GAR-025)	DELETED THE TWO UC15 WORDS WHICH ARE NO LONGER USED.
			/60 CPS AND -62 FOR 50 CPS)
/
	.TITLE	.DAT SLOTS TABLE
/
/	THIS .DAT SLOT TABLE CORRESPONDS TO THE LEGAL RANGE
/OF .DAT SLOTS WITH THE MAXIMUM NEGATIVE .DAT SLOT SET TO -15 AND
/THE MAXIMUM POSITIVE .DAT SLOT SET TO A SYSTEM PARAMETER NOT TO 
/EXCEED 77(8).  THE .DAT SLOTS ARE IN THE SAME FORM AS BEFORE.  THE 
/UNIT NUMBER IS IN BITS 0-2 AND THE NUMBER OF THE HANDLER RIGHT
/JUSTIFIED IN BITS 3-18.  THE HANDLER NUMBER FOR THE FIRST HANDLER IN 
/THE DEVICE HANDLER-SKIP IOT TABLE IS 0 (FOR THE PSEUDO-HANDLER NON).
/TTA IS 1 ETC.  THE CONSTANT 100000 INDICATES A FIXED OR ILLEGAL
/.DAT SLOT. THESE SLOTS ARE NOT SET BY SGEN.
/
SGNDAT	SYSDEV		/-15
	SYSDEV		/-14
	SYSDEV		/-13
	1		/-12
	SYSDEV		/-11
	1		/-10
	100000		/-7
	SYSDEV		/-6
	0		/-5
	SYSDEV		/-4
	100000		/-3
	100000		/-2
	SYSDEV		/-1
	100000		/0
	SYSDEV		/1
	SYSDEV		/2
	SYSDEV		/3
	1		/4
	10		/5  (GAR-025)
	12		/6  (GAR-025)
	100015		/7  (GAR-025)
	200015		/10  (GAR-025)
	0		/11
	0		/12
	0		/13
	0		/14
	0		/15
	0		/16
	0		/17
	0		/20
/
	.TITLE	.UFD TABLE
/
/	.UFD TABLE IS IN 1 TO 1 CORRESPONDENCE WITH THE  .DAT SLOT
/TABLE.  AN ENTRY OF .SIXBT 'UIC' INDICATES THAT THE LOGIN
/UIC IS TO BE SUBSTITUTED FOR THE NAME UIC IN THE TABLE.  OTHERWISE
/THE CONTENTS OF EACH LOCATION WILL BE THE .SIXBT REPRESENTATION OF
/THE CORRESPONDING .UFD SLOT.
/
SGNUFD	.SIXBT	'UIC'		/-15
	.SIXBT	'UIC'		/-14
	.SIXBT	'UIC'		/-13
	.SIXBT	'UIC'		/-12
	.SIXBT	'UIC'		/-11
	.SIXBT	'UIC'		/-10
	.SIXBT	'SYS'		/-7
	.SIXBT	'UIC'		/-6
	.SIXBT	'UIC'		/-5
	.SIXBT	'UIC'		/-4
	.SIXBT	'UIC'		/-3
	.SIXBT	'UIC'		/-2
	.SIXBT	'SYS'		/-1
	.SIXBT	'SYS'		/0 MIC
	.SIXBT	'UIC'		/1
	.SIXBT	'UIC'		/2
	.SIXBT	'UIC'		/3
	.SIXBT	'UIC'		/4
	.SIXBT	'UIC'		/5
	.SIXBT	'UIC'		/6
	.SIXBT	'UIC'		/7
	.SIXBT	'UIC'		/10
	.SIXBT	'UIC'		/11
	.SIXBT	'UIC'		/12
	.SIXBT	'UIC'		/13
	.SIXBT	'UIC'		/14
	.SIXBT	'UIC'		/15
	.SIXBT	'UIC'		/16
	.SIXBT	'UIC'		/17
	.SIXBT	'UIC'		/20
/
	.TITLE	SKIP CHAIN TABLE
/
/	THE SKIP CHAIN TABLE LISTS THE SYSTEM SKIP IOTS IN ORDER
/  A NEGATIVE SKIP APPEARS IN THE TABLE IN 1'S COMPLEMENT(POSITIVE).
/NOT ALL THE SKIPS IN THE HANDLER-SKIP IOT TABLE NEED TO BE INCLUDED IN
/THIS TABLE.  THE DONE COMMAND IN SGEN CAN BE USED TO TERMINATE
/THE SKIP CHAIN BUILDING AT ANY SIZE.  THIS EFFECTIVELY DELETES THE
/REMAINING, UNLISTED SKIPS FROM THE SKIP CHAIN.
/
SGNSKP	703201	/SPFAL
	707601	/DTDF
/
/(GAR-025)	DELETED RB09 CONDITIONALIZATION  '707121    /DSSF'.
/
	707001	/DSSF
	706101	/RKSF
	706341	/DPSJ
	707341	/MTSF
	703121	/SPDI
	703261	/WTSK
	700521	/SDDF
	706701	/CRSI
	706721	/CRSD
	706501	/LPSF
	700001	/CLSF
	700101	/RSF
	700201	/PSF
	700301	/KSF
	704101	/KSF1
	700401	/TSF
	707561	/DTEF
	706361	/DPSE
	701741	/MPSNE
	701701	/MPSK
	702701	/SPE
	706121	/CRSF
	706141	/LSSF
	706161	/XYSF
	704121	/KSF2
	704141	/KSF3
	704161	/KSF4
	704301	/KSF5
	.TITLE	DEVICE HANDLER-SKIP IOT TABLE
/
/	THE DEVICE HANDLER-SKIP IOT TABLE CONTAINS ALL THE HANDLER NAMES
/AND SKIP IOT NUMBERS AND MNEMONICS FOR EACH I/O DEVICE KNOWN TO THE
/SYSTEM.  EVERY DEVICE HAS AN ENTRY IN THE TABLE.  A HANDLER 
/NAME MUST BE EXACTLY 3 CHARACTERS IN LENGTH WITH THE LAST CHARACTER
/NOT AN OCTAL DIGIT.  THE DEVICE CODE FOR A DEVICE IS EXACTLY 2
/CHARACTERS.  THE FIRST 2 CHARACTERS OF EACH HANDLER NAME FOR A 
/DEVICE MUST BE THE DEVICE CODE.  THIS FACT IS ESSENTIAL FOR UNDERSTAND-
/ING THE FORMAT OF A DEVICE ENTRY, SINCE THE DEVICE CODE IS NEVER
/STORED AS SUCH IN AN ENTRY, BUT IS INFERRED FROM THE DEVICE HANDLER
/NAMES.  THE TYPICAL ENTRY FOR A DEVICE IS THE FOLLOWING:
/	(1) THE FIRST WORDS OF AN ENTRY CONTAIN THE HANDLER NAMES
/	    FOR A DEVICE IN .SIXBT.  EACH HANDLER NAME IS DIFFERENT.
/	    A 3 CHARACTER HANDLER NAME IN .SIXBT NEATLY FITS INTO
/	    1 COMPUTER WORD.  THE END OF THE LIST IS DETERMINED
/	    BY A WORD WITH 0'S IN BITS 0-5 (FIRST CHARACTER POSITION).
/	(2) THE WORD THAT TERMINATED (1) CONTAINS THE NUMBER OF SKIP
/	    IOTS FOR THE DEVICE.  FOR EACH SKIP IOT 3 WORDS ARE IN THE
/	    TABLE.  THE FOLLOWING IS A REPRESENTATION OF THESE 3 WORDS:
/		(A) THE FIRST 2 WORDS ARE THE SKIP MNEMONIC USED FOR
/		    REFERRING TO THE SKIP SYMBOLICLY IN .SIXBT WITH
/		    TRAILING CHARACTER POSITIONS CONTAINING 0'S.  THE
/		    SKIP MNEMONIC MUST NOT EXCEED 6 CHARACTERS.
/		(B) THE LAST WORD ABOUT THE SKIP IS THE ACTUAL MACHINE
/		    INSTRUCTION NUMBER FOR THE SKIP IOT.  IF THE
/		    SKIP IS NEGATIVE THIS NUMBER WILL BE 1'S COMPLEMENT
/		    OF THE ACTUAL MACHINE INSTRUCTION (POSITIVE).
/THE NEXT DEVICE ENTRY FOLLOWS THE LAST SKIP FOR THE PREVIOUS DEVICE.
/A HANDLER MAY BE ENTERED WITHOUT ANY SKIPS, BUT NO DEVICES MAY BE
/ENTERED WITHOUT AT LEAST ONE HANDLER NAME.
/
SGNTAB	.SIXBT	'NON'		/DEV 0 HAND. 0
	5			/5 SKIPS
	.SIXBT	'CLSF'		/CLOCK DONE
	700001
	.SIXBT	'MPSNE'		/NON-EXISTENT MEMORY REFERENCE
	701741
	.SIXBT	'MPSK'		/MEMORY PROTECT VIOLATION
	701701
	.SIXBT	'SPE@'		/MEMORY PARITY ERROR
	702701
	.SIXBT	'SPFAL'		/POWER FAIL
	703201
	.EJECT
DEV1	.SIXBT	'TTA'		/DEV1 HAND.1
	2			/2 SKIPS
	.SIXBT	'KSF@'		/KEYBOARD DONE
	700301
	.SIXBT	'TSF@'		/TELEPRINTER DONE
	700401
DEV1A	.SIXBT	'SYA'		/(GAR-025) PSEUDO-DEVICE -- MAPPED TO THE SYSTEM DEVICE.
	.SIXBT	'SYB'		/(GAR-025) HAND. 3.
	.SIXBT	'SYC'		/(GAR-025) HAND. 4.
	.SIXBT	'SYS'		/(GAR-025) HAND. 5.
	0			/(GAR-025)
DEV1B	.SIXBT	'CMA'		/(GAR-025) HAND. 6
	.SIXBT	'CMD'		/(GAR-025) HAND. 7.
	0			/(GAR-025)
DEV2	.SIXBT	'PRA'		/DEV2 HAND.10
	.SIXBT	'PRB'		/HAND.11
	1			/1 SKIP
	.SIXBT	'RSF@'		/READER DONE
	700101
DEV3	.SIXBT	'PPA'		/HAND.12
	.SIXBT	'PPB'		/HAND.13
	.SIXBT	'PPC'		/HAND.14
	1			/1 SKIP
	.SIXBT	'PSF@'		/PUNCH DONE
	700201
DEV4	.SIXBT	'DTA'		/HAND.15
	.SIXBT	'DTC'		/HAND.16
	.SIXBT	'DTD'		/HAND.17
	.SIXBT	'DTE'		/HAND.20
	.SIXBT	'DTF'		/HAND.21
	2
	.SIXBT	'DTDF'		/DECTAPE DONE
	707601
	.SIXBT	'DTEF'		/DECTAPE ERROR
	707561
DEV5	.SIXBT	'DKA'		/HAND.22
	.SIXBT	'DKB'		/HAND.23
	.SIXBT	'DKC'		/HAND.24
	1			/1 SKIP
	.SIXBT	'DSSF'		/DISK DONE
/
/(GAR-025)	REMOVED RB09 CONDITIONALIZATION  '707121'.
/
	707001
	.EJECT
DEV6	.SIXBT	'DPA'		/HAND. 25
	.SIXBT	'DPB'		/HAND. 26
	.SIXBT	'DPC'		/HAND. 27
	2
	.SIXBT	'DPSJ'		/DISK DONE
	706341
	.SIXBT	'DPSE'		/DISK ERROR
	706361
DEV7	.SIXBT	'MTA'		/HAND. 30
	.SIXBT	'MTC'		/HAND. 31
	.SIXBT	'MTF'		/HAND.32
	1			/1 SKIP
	.SIXBT	'MTSF'		/MAGNETIC TAPE DONE ON ERROR
	707341
DEV10	.SIXBT	'LPA'		/HAND.33
	2
	.SIXBT	'LPSF'		/LINE PRINTER DONE
	706501
	.SIXBT	'LSSF'
	706141
DEV11	.SIXBT	'CDB'		/HAND.34
	3
	.SIXBT	'CRSI'		/CARD READER
	706701
	.SIXBT	'CRSD'
	706721
	.SIXBT	'CRSF'
	706121
DEV12	.SIXBT	'VPA'		/HAND.35
	1			/1 SKIP
	.SIXBT	'SDDF'		/DISPLAY
	700521
DEV13	.SIXBT	'VTA'		/HAND. 36; VT SCOPE DISPLAY
	1			/1 SKIP; LIGHT PEN;PUSH BUTTON;
	.SIXBT	'SPDI'	/INTERNAL AND EXTERNAL STOP
	703121			/OR EDGE VIOLATION ON VT
DEV14	.SIXBT	'VWA'		/HAND. 37; WRITING TABLET
	1			/1 SKIP
	.SIXBT	'WTSK'	/PEN CONTACT WITH TABLET
	703261
DEV15	.SIXBT	'LKA'		/HAND. 40; VT KEYBOARD LK35
	1			/1 SKIP
	.SIXBT	'KSF1'		/LK35 KEYBOARD DONE
	704101
DEV16	.SIXBT	'RKA'		/(HAND. 41: RK05 DISK CARTRIDGE)
	.SIXBT	'RKB'		/(HAND. 42)
	.SIXBT	'RKC'		/(HAND. 43)
	1
	.SIXBT	'RKSF'
	706101
DEV17	.SIXBT	'XYA'		/(HAND. 44: XY PLOTTER)
	1
	.SIXBT	'XYSF'
	706161
DEV20	5			/(GAR-025) LT15/LT19 HANDERLESS DEVICE.
	.SIXBT 'KSF1'
	704101
	.SIXBT 'KSF2'
	704121
	.SIXBT 'KSF3'
	704141
	.SIXBT 'KSF4'
	704161
	.SIXBT 'KSF5'
	704301
SGEND=.
	.END
