
	.TITLE	FAST-15 LOADER (DIRECTORY WRITER)
/
/COPYRIGHT 1969, DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
/
/
/	WRITES A DIRECTORY ONTO BLOCK 1 OF UNIT 1
/
	.ABS	NLD
	.LOC 17500		/BANK MODE
BIG=10000
DTCA=707541
DTXA=707544
DTEF=707561
DTDF=707601
DTLA=DTCA!DTXA
IOF=700002
ISA=705504
CAF=703302
LOAD	IOF			/PI OFF
	ISA+10			/API OFF
	CAF			/FLAGS OFF
	CLC!CLL			/-1 TO AC
	HLT			/HALT
	LAC	(161000
	DTLA
L1	JMS	SEARCH		/SEARCH BACK TO BLOCK 0
	SZA
	JMP	L1		/TRY AGAIN
	LAC	(121000
	DTLA
L2	JMS	SEARCH		/SEARCH FOREWARD TO BLOCK 1.
	SAD	(1
	SKP
	JMP	L2		/TRY AGAIN
	LAW	-66
	DAC	30		/WRITE 54 WORDS
	LAC	TABLE
	DAC	31		/FIRST WORD IS AT TABLE+1.
	LAC	(15200
	DTXA
	JMS	WAIT		/WRITE THE DIRECTORY
	LAW	-5
	DAC	30
	DZM	31
	LAC	(5200
	DTXA
	JMS	WAIT		/GO FOREWARD TO NEXT BLOCK
	LAC	(20200
	DTXA			/STOP TAPE
	DTEF			/ERROR?
	SKP!CLA
	JMP	LOAD		/YES-HALT WITH -1 IN AC
	JMP	LOAD+4		/NO-HALT WITH 0 IN AC
/
/	SEARCH
/
SEARCH	0
	DZM	30
	LAC	(BLOCK		/READ BLOCK # INTO LOC. BLOCK
	DAC	31
	JMS	WAIT
	DTXA+10
	LAC	BLOCK		/GET BLOCK # JUST READ,
	JMP*	SEARCH		/EXIT
BLOCK	0
/
/	WAIT
/
WAIT	0
	DTDF			/IS FLAG ON?
	JMP	.-1		/NO-WAIT
	JMP*	WAIT		/YES-EXIT
/
/	DIRECTORY
/
/	THIS TABLE SHOULD BE CHANGED AS NECESSARY. EACH
/	SWITCH HAS 32 BLOCKS ASSIGNED, STARTING AT BLOCK 2
/
/	THE 3 ENTRIES ARE:
/	1. LOAD ADDRESS
/	2. # OF WORDS TO LOAD
/	3. PROGRAM START ADDRESS. HAS
/		HIGH BIT SET IF AN OVERLAY.
/
TABLE	TABLE
ZERO	1			/SWITCH 0; BLOCKS 2-33
	7477			/SYMBOLIC TAPE EDITOR
	22
ONE	1			/SWITCH 1 ; BLOCKS 34-65
	7477			/PDP-15 ASSEMBLER
	22
TWO	15600			/SWITCH 2 ; BLOCKS 66-97
	2050			/ODT-15
	15600			/OVERLAYS THE READER
THREE	1			/SWITCH 3 ; BLOCKS 98-129
	1000			/PAPER TAPE LISTER
	22
FOUR	1			/SWITCH 4 ; BLOCKS 130-161
	2000			/MASTER TAPE DUPLICATOR
	22
FIVE	1			/SWITCH 5 ; BLOCKS 162-193
	7577
	22
SIX	1			/SWITCH 6 ; BLOCKS 194-225
	7577
	22
SEVEN	1			/SWITCH 7 ; BLOCKS 226-257
	7577
	22
EIGHT	1			/SWITCH 8 ; BLOCKS 258-289
	7577
	22
NINE	1			/SWITCH 9 ; BLOCKS 290-321
	7577
	22
TEN	1			/SWITCH 10 ; BLOCKS 322-353
	7577
	22
ELEVEN	1			/SWITCH 11 ; BLOCKS 354-385
	7577
	22
TWELVE	1			/SWITCH 12 ; BLOCKS 386-417
	7577
	22
THIRTN	1			/SWITCH 13 ; BLOCKS 418-449
	7577
	22
FOURTN	1			/SWITCH 14 ; BLOCKS 450-481
	7577
	22
FIFTN	1			/SWITCH 15 ; BLOCKS 482-513
	7577
	22
SIXTN	1			/SWITCH 16 ; BLOCKS 514-545
	7577
	22
SEVENT	1			/SWITCH 17 ; BLOCKS 546-575
	7577			/ SWITCH 17 HAS ONLY 30 BLOCK (INSTEAD OF 32.
	22			/THIS ALLOWS 7680 (DECIMAL) OR 17000 (OCTAL) WORDS TO BE
				/TO BE WRITTEN.
	.END LOAD
