File DIROVL.PA (PAL assembler source file)

Directory of image this file is from
This file as a plain text file

/OVERLAY TO ALLOW "DIR MTA0:" TO FUNCTION WITH MAG TAPES

FIELD 1
*4205
	6200		/ADD "2" SUFFIX ON VERSION #
/
*2137
		/MAKE MORE ROOM BY DECREASING BUFFER SIZE
		/
	5010	/FOUR BLOCKS, FIELD 10, WRITE
	5600	/BUFFER START LOCATION
*2155
	5010
*2157
	4	/BLOCKS PER BUFFER
*2165
	1000
*2176
	-1000	/# WORDS IN BUFFER

*2223
			/JUMP INTO THIS ROUTINE JUST BEFORE
			/READING NEW INPUT DIRECTORY.
	JMS I .+2
	SKP
	  RETURN
	NOP
*2356
	50		/MAKE /S FORCE /U


*5000
RETURN,	0		/COMES HERE JUST BEFORE INPUT
			/DIRECTORY LOOKED UP.
	JMS I (200
	  12		/INQUIRE
	  DEVICE MTA0
MTADDR=.-1
	  0
	CLA
	TAD MTADDR	/SAVE MTA0: # FOR RESTORATION
	DCA MTASAV
	TAD (JMP .	/CALL USR ONLY ONCE
	DCA RETURN+1
	TAD MTASAV	/HANDLE MTA0: DIFFERENTLY
	CIA
	TAD I INFPTR
	SZA CLA
	JMP ASB4	/DEVICE NOT MTA0
	TAD RETURN
	DCA RET2
	TAD (5777
	AND I (OPT1
	TAD (2000	/.OR. IN /B
	DCA I (OPT1
	TAD I (OPT1	/GET RID OF /A FOR A WHILE
	DCA O1
	CLL CMA RAR
	AND O1
	DCA I (OPT1
	TAD I (OPT1+1	/AND /X
	DCA O2
	CLL CMA RAL
	AND O2
	DCA I (OPT1+1
	TAD I (OPT1+3
	DCA EQLS
	IAC
	DCA I (OPT1+3
	CMA
	DCA ALNCNT
		ALNCNT=37
	CMA
	DCA LNCNT
		LNCNT=25
	CIF 0
	JMS I INHAND
	  1		/REWIND
	  0
	  0
	  CLA
	TAD (RSFD
	DCA LRSFD
	TAD (60		/CHECK FOR /S OPTION
	AND I (OPT1+1
	CLL RAR
	RTR
	RTR
	SZL
	JMP MASTER	/IF /T GO SETUP FOR MASTER DIRECTORY
	SNA CLA
	JMP NOSFD	/NO SFD'S TO HANDLE
MAS0,	TAD I (2620	/SAVE OLD CONTENTS AND STUFF
	DCA T1		/NEW INSTRUCTIONS FOR READING SFD
	TAD (5755	/JMP I .+1  @ 2620
	DCA I (2620
	TAD LRSFD
	DCA I (2755
	JMP NOSFD2
NOSFD,	TAD O1		/NOW ALLOW /A AND /X
	DCA I (OPT1
	TAD O2
	DCA I (OPT1+1
	TAD EQLS
	DCA I (OPT1+3
NOSFD2,	CMA		/FORCE MTA0 TO BE DIRECTORY DEVICE
	JMP I RET2

ASB4,	TAD I INFPTR
	TAD (7757
	DCA TEMP
	TAD I TEMP
	JMP I RETURN


MASTER,	CLA
	TAD (RSFDX	/LOCATION TO COME TO WHEN FILE FOUND
	DCA LRSFD
	TAD I (2541	/FIX TO RETURN TO DOIT WHEN DIRECTORY
	DCA T3		/ALL SEARCHED
	TAD (5760	/JMP I 2560 ON PAGE
	DCA I (2541
	TAD (DOIT
	DCA I (2560
	TAD (5400
	DCA BLKTBL
	JMP MAS0
EQLS,	0
T1,	0
T3,	0
O1,	0
O2,	0
LRSFD,	RSFD
RET2,	0
MTASAV,	0
INFPTR=22
TEMP=30
OPT1=7643
INHAND=24
BLOCK=32
PAGE

RSFD, CLA /HERE WHEN FILE FOUND AND /S /BUT NO /T FROM 2620 AFTER 1ST /FILE FOUND /ENTER WITH (-) LENGTH OF FILE TAD BLOCK /MAKES IT FILE # OF SFD CIA DCA RSFD1 TAD T1 DCA I (2620 RSFDZ, TAD (5 /MOVE INPUT FILE POINTER TO NEXT ENTRY TAD INFPTR DCA INFPTR TAD I INFPTR SZA CLA JMP RSFD2 /ALREADY SOMETHING THERE, ABORT TAD MTADDR /NO SECOND FILE DCA I INFPTR /STUFF MTA0:*.* TAD INFPTR DCA 17 TAD (5200 DCA I 17 DCA I 17 DCA I 17 TAD (5200 DCA I 17 RSFD2, CIF 0 JMS I INHAND 3 /SKIP FORWARD 0 RSFD1, 0 /# FILES HLT JMP NOSFD RSFDX, /HERE WHEN FILE FOUND AND /T /FROM 2620 FOR EACH FIL FOUND UNTIL /LAST FILE FOUND. LAST FILE CAUSES /XFER TO <DOIT>. TAD TEMP IAC /ENTER WITH FILE SIZE IN AC SMA CLA JMP RSFDY /NOT SFD, SKIP THIS ONE TAD BLOCK DCA I BLKTBL /SAVE THIS ONE FOR DIRECTORY ISZ BLKTBL RSFDY, JMS I (CHKR CHKR=3200 JMP I (2621 JMP I (2622 BLKTBL, 5400 DOIT, /FROM 2541 ATER LAST FILE FOUND IN /EACH DIRECTORY. SET UP BY <MASTER>. TAD (2200 /MAKE FUTURE RETURNS HERE SO WE GET DCA RET2 /NEW HEADER PRINTED IAC /TRICK SYSTEM SO DIRECT THINKS IT HAS DCA MTADDR /NON-MTA0: FILE-STRUCTURED DEVICE TAD T3 /DON'T COME TO <DOIT> AFTER LAST FILE AYMORE. DCA I (2541 TAD T1 /DON'T SET UP DIRECTORY FILE #'S ANYMORE DCA I (2620 TAD I (3312 DCA T4 TAD (5755 /JMP I 3355 @ 3312 DCA I (3312 TAD (.+3 DCA I (3355 JMP I (3213 CLA /COMES HERE AFTER WHOLE DIRECTORY OUTPUT DCA I BLKTBL TAD (5400 DCA BLKTBL TAD I BLKTBL SNA JMP DONE CIA DCA RSFD1 TAD (DOIT2 DCA I (3355 JMP RSFDZ DOIT2, CLA /FROM 3312 AFTER 2ND & SUBSEQUENT /DIRECTORIES HAVE BEEN OUTPUT TAD I BLKTBL CIA ISZ BLKTBL TAD I BLKTBL CIA DCA RSFD1 TAD I BLKTBL SNA CLA JMP DONE JMP RSFD2 DONE, TAD T4 DCA I (3312 TAD MTASAV /FIX TRICK IN CASE PROGRAM REENTERED DCA MTADDR JMP I (3311 T4, 0 $



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search