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