MAKEFILE863
(George Source)
Macros used: ACROSS, ALTLEN, BACKSPACE, BRUSEN, BS, BXE, BXU, CHAIN, CLOSETOP, FCJOB, GEOERR, GETFCBN, HUNT, HUNTW, INSERT, JBC, JBS, JMBAC, JMBS, LOGACCESS, LONGON, MBS, MENDAREA, MFREE, MFREEW, MHUNT, MHUNTW, NAME, OPEN, PROPTEST, PROPUSER, SEG, SEGENTRY, SETNCORE, SETREP2, SETUPCORE, TESTMODE, TESTREP2, TESTRPN2, TOPFCB, TOPFCB2, TRACE, TRANSFCB, TRAPADD, TRF, UPPLUS, VFREEW, WHATBACK
- MAKEFILE863.txt
22FL [ 22^= [THIS IS A TIDIED-UP VERSION WITH MODETEST MACROS & BIT-SETTING MACROS 23DW [ 23YG ... SEG MAKEFILE,,FILE,OPEN 24D6 # THIS ROUTINE SETS UP A DIRECTORY ENTRY, BLOCKS RECORD.AND TRAPS RECOR 24XQ # FOR A FILE THAT IS BEING CREATED. 25CB SEGENTRY K1MAKEFILE,MAKEFILE1 25X2 SEGENTRY K2MAKEFILE,MAKEFILE2 2626 ... SEGENTRY AUSERTRAP 265= ...#GAP ANOTRAPS*4 268B ... SEGENTRY ATRAPEND 26?G ... +0 26BL TEXID +IDENTITEX 26W= MAKEFILE2 27*W LDX 7 ACOMMUNE7(2) [MODES 27TG MAKEFILE1 28*6 [SET UP A ZERO FIRST RECORD FOR THE DIRECTORY ENTRY. 28SQ SETNCORE FRDE,3,FILE,FWB 29#B STOZ EREC(3) [ZERO FIRST WORD OF DIRENT 29S2 LDN 5 EREC(3) 2=?L LDN 6 EREC+1(3) 2=R= MOVE 5 FRDE-1 [ZEROISE DIRENT 2?=W [IF THERE IS A CREATE BLOCK, GET EINF1,2,3,EUSE1,2,3,ETM & ERET FROM IT 2?QG [AND DIRECT ACCESS INFORMATION IN EORG AND E 2#=6 HUNT 1,FILE,CREATE 2#PQ BNG 1 NOCRBL [J IF NOT THERE 2DLQ LDX 0 CERET(1) 2F6B STO 0 ERET(3) [COPY RETENTION PERIOD 2FL2 LDX 0 CETM(1) 2G5L STO 0 ETM(3) [COPY PERI TYPE/MODE 2GK= LDN 5 CEINF1(1) 2H4W LDN 6 EINF1(3) [COPY INFORMATION WORDS 2HJG MOVE 5 3 2J46 LDX 0 CEORG(1) 2JHQ STO 0 EORG(3) [COPY ORGANISATIONAL WORD 2K3B LDX 0 CEKEY(1) 2KH2 STO 0 EKEY(3) [COPY KEY WORD 2L2L LDX 0 CEENDBUCK(1) 2LG= STO 0 EENDBUCK(3) [COPY ENDBUCK WORD 2L^W LDX 0 CEVERSION(1) 2MFG STO 0 EVERSION(3) [COPY VERSION WORD 2M^6 LDX 0 CEFLOW(1) 2NDQ STO 0 EFLOW(3) 2NYB LDN 5 CEUSE1(1) [COPY USER NAME 2PD2 LDN 6 EUSE1(3) 2PXL MOVE 5 3 2Q=2 ... TRF 1,FCEGMTRV,3,FEGMTRV [TRANSFER GMT FROM LAST RETRIEVE 2QC= NOCRBL 2QM4 ... MHUNT 2,FILE,FLOCNB 2QWW ... JMBS SIZEG,2,BFABLIB,BFABEXO 2R6N ...[ OPEN FOR WRITING BIT, AND SERIAL FILE IF SERIAL MODE. 2RBG TESTMAIN 7,NOTSERIAL,,RANDOM 2RW6 BS 3,BESERIAL 2S*Q NOTSERIAL 2SKJ ... TESTMODE 7,NOUWB,,CAREFUL 2STB BS 3,BEUWB 2T58 ...NOUWB 2T*2 ... JMBAC SIZEG,3,BESERIAL,BEMT[0 BLKS IF *DA 2TSL LDEX 0 EINF3(3) [MAXIMUM NO. IS ASSUMED 2W#= BNZ 0 SIZEG [OK IF SIZE ALREADY GIVEN 2WRW TESTMODE 7,NODCA,NOT,DESTRUCT 2X?G LDN 0 COMDBUF [SET DEFAULT VALUE 2XR6 BRN STORESIZE 2Y=Q NODCA 2YQB LDN 0 FILESIZE [OTHERWISE PUT IN HIGHEST POSSIBLE 2^=2 STORESIZE 2^PL DLA 0 EINF3(3) 329= SIZEG 32NW [NOW COPY SOME THINGS FROM THE LOCAL NAME BLOCK BUT DO NOT FREE IT 33N6 LDN 5 A1(2) [X5 -> LOCAL NAME 347Q LDN 6 ELOC1(3) [FIVE WORDS OF IT GO HERE. 34MB ... JBS NFS,2,BFABLIB 3572 ... JBS NZG,2,BFABEXO [EXOFILES CAN HAVE GEN ZERO 366= LDX 0 EGEN-ELOC1+A1(2) 36KW BNZ 0 NZG 375G LDN 0 1 [CHANGE ZERO GENERATION TO ONE 37K6 STO 0 EGEN-ELOC1+A1(2) 384Q NZG 38JB LDX 0 EREEL+A1-ELOC1(2) 3942 BNZ 0 NOTZEROREEL [CHANGE REEL ZERO TO REEL ONE 39HL LDN 0 1 3=3= STO 0 EREEL+A1-ELOC1(2) 3=GW NOTZEROREEL 3?2G MOVE 5 5 3?G6 LDX 0 A1+5(2) [SIXTH ONE GOES HERE 3?^Q BNZ 0 NOTZLAN 3#FB LDX 0 ACES [NOT ZERO LANGUAGE 3#^2 STO 0 A1+5(2) 3*DL NOTZLAN 3*Y= STO 0 ELAN(3) 3BXG WKE 3DBB LDN 0 FRDE [RECORD HEADER. 3DW2 STO 0 EREC(3) 3G#W ... JBC NWORK,2,BFABWORK 3H#6 BS 3,BETEMP 3HRQ [ THE FOLLOWING SECTION DEALS WITH LIBRARIAN ENTRANTS 3J3J ...NWORK 3JH8 ... JBS XOFILE,2,BFABEXO 3K2S ... JBC MULT,2,BFABLIB [J IF FILE 3L9W LDX 0 A1+7(2) 3LPG STO 0 ESER(3) [MAG TAPE SERIAL NUMBER 3M96 STOZ EINF1(3) [THIS INF NOT NECESSARY FOR MAG TAPES 3MNQ BS 3,BELIB 3PM= LDCT 0 #405 3Q6W STO 0 ETM(3) [MAGTAPE TYPE 3QBN ...XINSERTNAME 3QLG INSERT 3R66 MHUNTW 3,FILE,FWB 3RKQ NAME 3,FILE,ENT [RENAME BLOCK 3RM^ ...#UNS ILOGACC 3RQ8 ...( 3RSC ... JBC NOTEXO,3,BEEXO [J IF NOT SECURE EXOFILE ENTRANT 3RWL ... LOGACCESS 8 [LOG SECUREX COMMAND 3RYT ...NOTEXO 3S34 ...) 3S5B SETNCORE ETRAP,3,FILE,FAPB 3SK2 ... BRN SETUPTRAPS 3T4L ...[ 3^F= NFS 3^YW ... JBC NOTZEROREEL,2,BFABWORK 43CQ SMO FX1 43XB LDN 5 WORK [PUT 'WORKTAPE' IN LOCAL NAME & 44C2 LDN 6 ELOC1(3) [ZEROIZE GEN AND REEL 44WL MOVE 5 5 45B= STOZ ELAN(3) [ZEROIZE LANG 45TW LDN 5 A1(2) 46*G LDN 6 EWKNAME1(3) [STORE LOCAL NAME IN DIRENT 46T6 MOVE 5 3 47#Q LDX 5 A1+4(2) [STORE LEVEL IN DIRENT, WHICH IS 47SB STO 5 EWKLEVEL(3) [CURRENTLY IN GEN WORD OF FLOCNB 48#2 BRN WKE 48RL WORK 12HWORK TAPE 49?= 0,0 49QW ...[ 4==G ...NONFILEND 4*8= CALL 5 TRAPS [TO DEAL WITH TRAPS ADJUNCT(S) 4*MW TESTMODE 7,NOFENT,,LEAVE 4B7G MFREEW FILE,ENT 4BM6 NOFENT 4C6Q CLOSETOP [CLOSE DIRECTORY 4CLB SETREP2 OK 4D62 VFREEW FILE,CREATE 4DKL UPPLUS 1 4DMT ...[ 4DQ4 ...XOFILE 4DS? ... LDCT 0 #406 4DWG ... STO 0 ETM(3) [TYPE+MODE FOR EXOFILE 4DYP ... BS 3,BEEXO 4F2Y ... BRN XINSERTNAME 4F5= [ 4FJW NOBS 4G4G TOPFCB 2 4GJ6 #SKI K6MAKEFILE>100-100 4H3Q TRACE BACK2(2),WAITCREA 4HHB LDX 4 FME1(2) [REMEMBER USERNAME OF DIR 4J32 LDX 3 FME2(2) 4JGL LDX 6 FME3(2) 4KFW CLOSETOP 4KHK ...#UNSET ANOTALLOC [DO NOT ALLOCATE ENHANCEMENT 4KK# ...( 4KM3 ... MHUNTW 2,FILE,FWB 4KNQ ... JMBAC NOSYS,2,BEONLINE,BEREVERE 4KQF ... WHATBACK 2,5,,,VSF [GET BS MANDATORILY 4KS8 ... BRN NOBS2 4KTX ...NOSYS 4KXL ...) 4K^G WHATBACK 2,5 [GET BS MANDATORILY 4L9# ...NOBS2 4L*9 ... MFREEW FILE,FWB 4LF6 TESTMODE 7,NRPW,NOT,REPWAIT 4LYQ SETREP2 DIRCLOSE 4MDB UPPLUS 1 4MY2 NRPW 4NCL SETNCORE 4,1,FILE,FABSNB 4NX= LDN 0 4 4PBW STO 0 A1(1) 4PWG STO 4 A1+1(1) 4QB6 STO 3 A1+2(1) 4QTQ STO 6 A1+3(1) 4R*B OPEN XBR,GENERAL,QUERY 4RT2 TESTRPN2 OK,NOD 4S#L MFREE FILE,FABSNB 4SS= ACROSS OPENREL,5 4T?W NOD 4TRG SETREP2 NAME 4W?6 UPPLUS 1 4WQQ NOMULT 4WS^ ... HUNTW 2,FILE,CREATE 4WX8 ... BNG 2 YDEFAULT 4W^C ... JMBS YDEFAULT,3,BESERIAL,BEMT [J IF NOT DA 4X3L ... LDEX 5 CEINF3(2) 4X5T ... BRN TER 4X84 ...YDEFAULT 4X=B LDN 5 8 4XQ2 LDX 0 EUSE1(3) 4Y9L ... BZE 0 TER1 4YP= LDN 5 1 4YR8 ...TER1 4YT6 ...#UNSET ANOTALLOC [DO NOT ALLOCATE ENHANCEMENT 4YX4 ...( 4Y^2 ... JMBAC TER,3,BEONLINE,BEREVERE 4^2Y ... WHATBACK 2,5,NOBS,,VSF [GET BS OPTIONALLY 4^4W ... BRN MULT 4^6S ...) 4^8W TER 4^NG WHATBACK 2,5,NOBS 5286 MULT HUNT 2,BSTB,FULLB 52MQ BNG 2 NOMULT [LOOP BACK IF WHATBACK NOT YET DONE 537B [NOW SET UP A FILE CONTROL BLOCK AND FREE THE BSTB/FULLB. 53M2 [ 546L [NOTE THAT IF,WHEN ALLOCATING THE BLOCKS TO A FILE, WE RECORD THESE 54L= [BLOCKS IN DIRENT AT CREATE TIME,THIS CAN CAUSE TROUBLE FOR OFFLINE 555W [MT & SERIAL FILES. THUS THE BLOCKS ARE RECORDED IN FCB FOR THOSE 55KG [TWO CASES. THE BLOCK INFORMATION IN DIRENT IS UPDATED BY CLOSE 5656 [ 56JQ MHUNTW 3,FILE,FWB 574B JMBAC NSER,3,BESERIAL,BEMT[*DA & REVERED HAVE BLOCKS RECORD 57J2 JBS NSER,3,BEREVERE [SET UP NON-EMPTY 583L LDN 5 2 58H= STO 5 A1(2) [SET SER OR MT MARKER IN FULLB 592W NSER 59GG LDX 5 A1(2) [CALCULATE NUMBER OF BLOCKS TO PUT 5=26 SBN 5 2 [IN DIRENT. N.B. IF SERIAL OR MT 5=FQ SRC 5 9 [THEN NO BLOCKS IN DIRENT. 5=PJ ... ORN 5 1 [ONE COPY 5=^B ORS 5 ECOPS(3) [STORE NUMBER OF BLOCKS. 5?F2 LDX 5 ALOGLEN(2) [NO. OF BLOCKS+2. 5?YL LDX 1 EDATE 5#D= LDX 2 CLEANCT 5#XW STO 1 EDLA(3) 5*CG STO 2 ETLA(3) 5HQL INSERT [INSERT NAME RECORD 5J== ADN 5 BSPRE-1-A1 [LENGTH OF FCB-2 5K9G SETUPCOR 5,2,FILE,FCB,,1 5M82 STOZ FBLMOD(2) [ZEROISE DIRENT 5MML LDN 5 FBLMOD(2) [ 5N7= LDN 6 FBLMOD+1(2) [ 5NLW MOVE 5 BSPRE-FBLMOD-1 [ 5P6G LDX 0 ALOGLEN(2) [INITIALIZE WORD INDICATING NUMBER 5PL6 STO 0 FUSEBL(2) [OF BLOCKS ALLOCATED TO FILE 5Q5Q MHUNTW 1,FILE,FWB 5QKB NAME 1,FILE,ENT 5QQJ ... LDX 6 EUSE1(1) [DIR OR FILE 5QXQ ... GETFCBN 2,6 [GET FCB UNIQUE NO 5R52 LDEX 0 EINF3(1) 5RJL STO 0 FSIZE(2) [PUT IN FSIZE 5S4= LDX 0 ETM(1) 5SHW STO 0 FETM(2) 5T3G LDX 0 EENDBUCK(1) [STORE DIRECT ACCESS ENDBUCK PTR 5TH6 STO 0 FENDBUCK(2) 5W2Q LDX 0 EVERSION(1) 5WGB STO 0 FVERSION(2) 5X22 JBC NIN1,1,BEINDEX 5XFL LDEX 0 EINDEX(1) [IF INDEXED TRANSFER INDEX NO. TO FCB 5X^= DEX 0 FINFC(2) 5YDW NIN1 5YYG [SET UP THE BLOCKS PART OF FCB AND APPEND THE BLOCKS RECORD 5^D6 MHUNTW 1,BSTB,FULLB 5^XQ LDN 6 BSPRE(2) 62CB LDX 3 ALOGLEN(1) [GET READY TO COPY THE BLOCK NUMBERS 62X2 LDN 5 A1+1(1) 63BL MOVE 5 511(3) [MOVE THE WORDS EXCEPT THE FIRST 63W= LDX 0 A1(1) [RESET LOGICAL LENGTH OF FULLB TO 64*W STO 0 ALOGLEN(1) [GIVE NO BLOCKS RECORD FOR SERIAL &MT 64TG NAME 2,FI,FUTILITY [PRESERVE FCB SO NOT FREED 65*6 [DURING PROPUSER BY ORELEND 65SQ NAME 1,FILE,FWB 66#B INSERT [INSERT BLOCKS RECORD 66B# ...#UNS ILOGACC 66D= ...( 66G8 ... MHUNTW 1,FILE,ENT 66J6 ... JBS NLOG,1,BEMULT 66L4 ... LOGACCESS 3 [LOG FILE CREATION 66N2 ...NLOG 66PY ...) 66S2 MHUNTW 1,FILE,ENT 67?L JBC NIN2,1,BEINDEX 67R= LDN 5 INDEXREC-A1 [SIZE OF EMPTY INDEX RECORD 68=W LDX 6 EINDEX(1) [INDEX NUMBER 68QG SETUPCOR 5,2,FILE,FWB [FOR INDEX RECORD 69=6 STO 5 A1(2) [STORE RECORD HEADER 69PQ LDX 0 TEXID(1) [PICK UP INDEX RECORD IDENTIFIER 6=9B STO 0 INDEXID(2) [& STORE IT 6=P2 STO 6 INDEXNO(2) [STORE INDEX NUMBER 6?8L INSERT [INSERT INDEX RECORD 6?N= MHUNT 1,FI,FUTILITY 6#7W CHAIN 1,FX2 [CHAIN FCB NEXT TO FX2 6#MG MHUNTW 1,FILE,FWB [RETAIN INDEX RECORD FOR LATER USE 6*76 NAME 1,FI,FUTILITY [IN THE FILE CHAIN 6*LQ NIN2 6B6B ... MHUNTW 3,FILE,FWB 6CK= NAME 3,FILE,FAPB 6D4W LDN 5 5 6DJG ALTLEN 3,5 [LENGTHEN BLOCK 6DJP ...SETUPTRAPS 6DJY ... LDN 5 5 6DLJ ... HUNTW 1,FILE,ADJUNCTS 6DM= ... BNG 1 NOADJ 6DMY ... JBS NJBB,1,BAOWNACC 6DNL ...NOADJ 6DP4 ... MHUNTW 1,FILE,ENT 6DPG ... JBS NJBB,1,BEMULT 6DQ2 ... LDX 0 JOBNO(2) 6DQN ... BNZ 0 YJBB [J IF JOB NO IS NON-ZERO. 6DRB ... TOPFCB2 3 [IF MASTER IS TOP FILE OPEN,WE CANNOT 6DSC ... [SET A TRAP AS FILE WE ARE TRYING TO 6DTD ... [CREATE IS LEXICON AND THUS PROPUSER 6DWS ... BXU 3 BFILE,NJBB 6DXG ... MFREE FILE,FAPB [WONT WORK. (NEEDS TO OPEN LEXICON). 6DY8 ... BRN NTGU [THIS CAN ONLY OCCUR IF A RESTORE IS 6DYW ... [DONE FROM AN INCREMENT NOT CONTAININ 6D^J ... [LEXICON AND BACKMAP HAS TO CREATE IT 6F2= ... [IT NEEDS NO TRAPS RECORD ANYWAY. 6F2Y ...YJBB 6F46 BRUSEN NOJB [J IF NO JOB-BLOCK. 6FHQ FCJOB 2,,,CPA 6G3B ADN 2 JUSER [X2 POINTS TO USERNAME 6GH2 BRN MVUN 6GL6 ...NJBB 6GP= ... PROPTEST 6GSB ... TESTREP2 OK,YSUD 6GXG ... BRN TSUD 6H2L NOJB 6HG= PROPUSER [TEST IF PSUEDO & GET PROPER USER 6H^W TESTREP2 OK,NSUDO 6J9N ...TSUD 6JFG TESTRPN2 PSEUDO,XBR 6JP# ...YSUD 6J^6 LDN 2 ACOMMUNE1(2) [-> USERNAME 6KDQ BRN MVUN 6KYB NSUDO 6LD2 LDN 2 CPREFIX(2) 6LXL MVUN 6MC= MHUNTW 3,FILE,FAPB 6MWW STO 5 A1(3) [SET RECORD HEADER 6NBG ADN 3 A1+1 [SET MOVE TO POINTER 6NW6 MOVE 2 3 [MOVE USERNAME TO TRAPS RECORD 6P*Q SBN 3 A1+1 [RESTORE POINTER 6PTB MHUNTW 1,FILE,ENT 6Q*2 LDX 0 EUSE1(1) [TEST FOR A DIRECTORY 6QSL BZE 0 NTDIR [J IF NOT 6R#= LDN 0 CREAD [READ TRAP ONLY 6RRW BRN TRAP 6S?G NTDIR 6SR6 LDN 0 CALL 6T2Y ...TRAP 6T=Q STO 0 A1+4(3) [SET TRAP 6TQB ...#UNS ILOGACC 6W=2 ... BS 3,EDEFTRAP [INDICATE DEFAULT TRAP 6X#X ... SEGENTRY K93MAKEFILE [TGU AND TSU RESTORE TIME MACROS. 6XDJ ... BRN NTGU 6XJ9 ... LDN 3 0 6XMW ...NEXTRAP 6XPN ... LDX 1 FX1 6XRH ... SMO 3 6XX8 ... LDX 0 AUSERTRAP(1) [HAS AN ENTRY BEEN SET IN TABLE 6Y2T ... BZE 0 NTGU [BY TGU. J IF NOT. 6Y6G ... SETUPCORE 5,2,FILE,FTRAP 6Y=7 ... ADN 1 AUSERTRAP(3) [SET UP A TRAP BLOCK AND 6Y*S ... STO 5 A1(2) [MOVE IN DETAILS OF USERNAME 6YFF ... ADN 2 A1+1 [AND REQUIRED TRAP. 6YK6 ... MOVE 1 4 6YKP ...#UNS ILOGACC 6YL# ...( 6YLX ... SBN 2 A1+1 6YMG ... BS 2,EDEFTRAP [INDICATE DEFAULT TRAP 6YN5 ...) 6YNR ... ADN 3 4 [SET X3->NEXT ENTRY IN TABLE. 6YSD ... BCT 6 NEXTRAP 6YY5 ... SEGENTRY K94MAKEFILE 6^3Q ...NTGU 6^54 ... MHUNT 3,FILE,FLOCNB 6^6B ... JMBS NONFILEND,3,BFABLIB,BFABEXO 6^7Q HUNT 3,FI,FUTILITY 6^MB NAME 3,FILE,FCB 7272 LDN 0 #77 72LL ANDX 0 FINFC(3) 736= BZE 0 NOFIN [J IF FILE NOT INDEXED. 73KW HUNT 2,FI,FUTILITY 745G NAME 2,FI,FINDEXF [RELOCATE THE FINDEXF 74K6 NOFIN 74P3 ... CALL 5 TRAPS 74SY ... MHUNTW 1,FILE,ENT 74YT ... MHUNT 3,FILE,FCB 754Q LDN 5 ELOC1(1) 75JB LDN 6 FLOC1(3) [X6 -> NICHE FOR SAME 7642 MOVE 5 3 76HL ... TOPFCB 2 [DIRS FCB 773= LDN 5 FME1(2) [MOVE USER IN 77GW LDN 6 FUSER1(3) 782G MOVE 5 3 [SUPUSER NICHE IN FCB 78G6 LDX 0 EUSE1(1) 78^Q LDN 5 EUSE1(1) 79FB BNZ 0 XHDIR [J IF DIRECTORY 79^2 HUNT 2,FILE,FLOCNB 7=DL LDN 5 A1+3(2) 7=Y= XHDIR 7?CW LDN 6 FME1(3) 7?XG MOVE 5 3 7#C6 [NAME & BLOCKS IN FCB, NOW SET THE OTHER WORDS. 7#WQ NGS 3 CMOD(3) [MODIFIER INITIALLY NEGATIVE. 1 7*BB JMBS SERIAL,1,BESERIAL,BEMT 7*W2 LDX 0 FUSEBL(3) [IF RANDOM SET FBLMOD = FULL FCB 7B*L BRN SETHEADER 7BT= SERIAL 7C#W LDN 0 FBLKS-A1 [IF SERIAL SET FBLMOD=EMPTY FCB 7CSG SETHEADER 7D#6 STO 0 FBLMOD(3) 7DRQ LDN 0 1 7F?B STO 0 FWAITCOUNT(3) [NOTE WE ARE WAITING FOR IT 7FR2 STOZ CTOPEN(3) [NOT OPEN 7F^= ... MBS 3,BFALTB,BFALTR 7G7G ... JBC NOTUWB,1,BEUWB 7G*Q ... BS 3,BFUWB 7GJ2 ...NOTUWB 7GQ= LDX 5 EUSE1(1) 7H9W BZE 5 XHCOM [J IF NOT DIRECTORY 7HPG BS 3,BFDIR 7J96 XHCOM 7K8B TESTMODE 7,NOTD,NOT,DESTRUCT 7KN2 MBS 3,BFCORE,BFDCF 7L7L NOTD 7LM= JBC NOTS,1,BESERIAL 7M6W BS 3,BFSER 7MLG NOTS 7N66 JBC NOTM,1,BEMT 7NKQ BS 3,BFMT 7P5B NOTM 7PK2 JBC NREV,1,BEREVERE 7Q4L BS 3,BFREV 7QJ= NREV 7R3W LDX 0 EUSE1(1) 7RHG BNZ 0 YPUB [J IF DIR AS THIS PUBLIC FILE 7S36 LDX 0 EALLOC(1) 7SGQ ANDN 0 #77 7SP2 ... SBN 0 1 7SX= ... BZE 0 YPUB [J IF 'ALLOCATE PUBLIC' FILE 7T5G ... SBN 0 47 7T?Q ... BPZ 0 YPUB [J IF ALLOCATED TO SPECIAL RESIDENCE 7TG2 JBS YPUB,1,BEONLINE 7T^L ... BS 3,BFCUBS [SET 'NON-PUBLIC' BIT IN FCB 7WF= YPUB 84SB ... TRANSFCB 3,ACT,FILE 85#2 MHUNTW 1,FI,FINDEXF 85RL BNG 1 NFXF [IF THERE IS AN FINDEXF CHAIN IT IN 86?= CHAIN 1,BFILE+1 [FILE CHAIN AFTER FCB 86QW NFXF 87Q6 ... LDX 5 BACK1(3) [SET X5 AND X6 889Q LDX 6 BACK2(3) [TO THE FCB HOME PAIR 88PB #SKI K6MAKEFILE>100-100 8992 TRACE FLOC1(3),RELSTY10 89NL LONGON #10,FLOC1(3) [FREE WTRS FOR FILE TO BE CREATED 8=8= VFREEW FILE,CREATE 8=MW NCB2 8?7G ACROSS ORELMAIN,4 8?M6 TRAPS 8#6Q SBX 5 FX1 8#LB HUNTW 1,FI,FINDEXF 8*62 BNG 1 NIN3 [RECORD 8*KL BACKSPACE 8B5= NIN3 8BJW BACKSPACE 8C4G ... TOPFCB 3 8F32 ... BXE 3 BFILE,NTRADD 8HF6 TRAPADD 8HYQ ...NTRADD 8JDB BACKSPACE [BACKSPACE TO HAVING READ NAME RECORD 8JY2 ADX 5 FX1 8KCL EXIT 5 0 8KX= [ 8LBW XBR GEOERR 1,MAKEFILE 8LWG MENDAREA GAPOPEN,K99MAKEFILE 8MB6 #END ^^^^ ...32433405000800000000