/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 . 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 . 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 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 $