MACROS RMD10

(George Source)

MACROS RMD10.txt
22FL0>>>
22^=
23DW    [                                  GEORGE PORTER
23YG    [     THIS S/F CONTAINS THE FOLLOWING MACROS
24D6    [   
24MY ...[     FNYLIST   
24XQ    [     MAGREAD   
25CB    [     MAGSTEP   
25X2    [     FTM   
266S ...[     MTCHECK   
26BL    [     FAILURE   
26W=    [     FREEHALF  
27*W    [     FREEHALL  
27TG    [     FREHFURB  
28*6    [     FRSOFURB  
28SQ    [     FRSOFUWB  
29#B    [     FREEFURB  
29S2    [     FREEFUWB  
2=?L    [     FREEFILE  
2=R=    [     CLUDGEQUERY   
2?=W    [     NEWDIR
2?QG    [     ASSILO
2#=6    [     UNCOMERR  
2#PQ    [     CONFURWB  
2*9B    [     BLAM  
2*P2    [     FINDACTX  
2B8L    [     OPENBUDO  
2BN=    [     ERASTREM  
2C7W    [     ERASEMULT 
2CMG    [     COMPQU
2D76    [     CLOSESTREAM   
2DLQ    [     CLOSEMULT 
2F6B    [     FSCON 
2FL2    [     EXTEND
2G5L    [     READED
2GK=    [     WRITED
2H4W    [     TRANSFORM 
2HJG    [     TRANSFO1  
2J46    [     INFINB
2K3B
2KH2
2KHB ...[??? FNYLIST SECT FILE  
2KHQ ...#MAC  FNYLIST   
2KJ6 ...[FILE NEARLY FULL CONDITION BASED ON
2KJG ...[%A - LINE LENGTH   
2KJW ...[%B - NO OF LINES PER PAGE  
2KK= ...[RESTORE TIME MACRO 
2KKL ...#MEND APPEND
2KL2 ...#TRA FNYBLCK
2KLB ...      +((%A+2)*%B/2048)+1   
2KLQ ...#END
2KM6 ...#MEN APPEND 
2KMG ...#TRA K98APPEND  
2KMW ...      NULL  
2KN= ...#END
2KNL ...#NOR
2KP2 ...
2KPB ...
2KPQ ...
2KQ6 ...
2KQS ...[??? MAGREAD SECT FILE FGN 16 DOC   
2L2L    #  READ NEXT RECORD FROM TOP FILE ( MT FILE)
2LG=    #MAC  MAGREAD   
2L^W          LDX   2  FX2  
2MFG          ACCSTO   %D,ACOMMUNE9(2)  
2M^6          DOWN     MATALO,2 
2NDQ          BRN      %A                  [END OF FILE 
2NYB          BRN      %B                  [TAPE MARK   
2PD2          BRN      %C                  [LONG BLOCK  
2PXL    #NOR
2Q7D ...[??? MAGSTEP SECT FILE FGN 16 DOC   
2QC=
2QWW    #  READ NEXT MT BLOCK FROM TOP FILE INTO OBJECT PROGRAM AREA
2RBG    #MAC  MAGSTEP   
2RW6          LDX   2  FX2  
2S*Q          ACCSTO   %D,ACOMMUNE9(2)  
2STB          ACCSTO   %E,ACOMMUNE8(2)  
2T*2          DOWN     MATALO,1 
2TSL          BRN      %A                  [END OF FILE 
2W#=          BRN      %B                  [TAPE MARK   
2WRW          BRN      %C                  [LONG BLOCK  
2X?G    #NOR
2XH# ...[??? FTM SECT FILE FGN 16 DOC   
2XR6
2Y=Q    #MAC  FTM   
2YQB          DOWN     MATALO,3 
2^=2          BRN      %A                  [END OF FILE 
2^PL    #NOR
326B ...[??? MTCHECK SECT FILE FGN 17 DOC   
32H6 ...[     %A=BLOCK TYPE; %B=BLOCK SUBTYPE; %C=BULK FILE ADDRESS 
32XW ...[     %D(OPTIONAL)=SIZE OF BULK FILE IN BLOCKS  
33#L ...#MAC  MTCHECK   
33PB ...      LDX   2  FX2  
3466 ...      ACCSTO   %C,ACOMMUNE2(2)  
34GW ...#STR  %D
34XL ...      ACCSTO   %D,ACOMMUNE3(2)  
35#B ...      SMO      FX1  
35P6 ...      LDX   0  M1MTCHECK
365W ...      STO   0  ACOMMUNE1(2) 
36GL ...#STR  %D
36XB ...#SKI
37#6 ...      DOWN     MTCHECK,11   
37NW ...#STR  %D
385L ...      DOWN     MTCHECK,1
38GB ...M1MTCHECK   
38X6 ...#HAL  %A+%B,0   
39?W ...#NOR
39NL ...[??? FAILURE SECT FILE FGN 16 DOC   
3=5B ...
3=G6 ...#     MACRO TO CHANGE BLOCK NOS IN FILESTORE BLOCKS, ACTS, AND Q-BLOCKS 
3=WW ...#MAC  FAILURE   
3??L ...[     THIS MACRO SEARCHES THE ACTIVITY CHAIN WITH DETOURS VIA THE   
3?NB ...[ WORKFILE RINGS & THEN THE FILE CHAIN LOOKING FOR BLOCKS WHICH NEED TO 
3#56 ...[ BE UPDATED BY THE WRITE FAILURE SWAP MECHANISM
3#FW ...[IT DOES NOT CO-ORDINATE (OR IT WOULD LOSE ITS PLACE).  
3#WL ...[ ON ENTRY X1=NEW DATUMISED BLOCK NUMBER
3*?B ...[          X5=RESIDENCE NUMBER  
3*N6 ...[          X6=OLD BLOCK NUMBER  
3B4W ...[          X7=NEW (REPLACEMENT) BLOCK NUMBER
3BFL ...[   
3BWB ...      STO   1  GEN0 
3C?6 ...      STOZ     GEN1 
3CMW ...      LDN   0  BTHREE              [MASTER'S DIRECTORY  
3D4L ...      LDN   1  ADMASTDIR           [ENTRY   
3DFB ...      TXU   5  0
3DW6 ...      BXU   6  1,M0FAIL            [J UNLESS :MASTER'S DIR ENT  
3F7N ...      GEOERR   1,MASSADED          [WRITE FAIL ON :MASTER'S DIRECTORY   
3FF= ...                                   [  ENTRY CAN'T BE SWAPPED - FIXED
3FQS ...                                   [  POSITION  
3G4B ...M0FAIL  
3GF6 ...      ORN   6  3                   [SET BLT BITS
3GTW ...      ORN   7  3
3H=L ...      LDX   1  BACT                [BASE OF ACTIVITY CHAIN  
3HMB ...[   
3J46 ...M1FAIL         [CHECK BLOCK TYPE
3JDW ...[   
3JTL ...      LDX   0  ATYPE(1) 
3K=B ...      SRL   0  12   
3KM6 ...      SBN   0  #6000               [MINIMUM ACTIVITY BLOCK TYPE 
3L3W ...      BPZ   0  M5FAIL              [J IF ACTIVITY BLOCK 
3LDL ...      LDN   2  M92FAIL-M91FAIL     [NUMBER OF BLOCK TYPES IN TABLE  
3LTB ...M2FAIL  
3M=6 ...      SMO      FX1  
3MLW ...      BXE   0  M91FAIL-1(2),M3FAIL [J IF BLOCK TYPES MATCH  
3N3L ...      BCT   2  M2FAIL              [TRY NEXT TYPE IN TABLE  
3NDB ...      BRN      M4FAIL              [TRY NEXT BLOCK IN CHAIN 
3NT6 ...[   
3P9W ...M3FAIL  
3PLL ...      LDN   3  ALENLFN             [QBLK RELATIVISER
3Q3B ...      LDN   4  ADBLKNO             [     DITTO  
3QD6 ...      SBN   2  4
3QSW ...      BZE   2  M7FAIL              [J IF QBLK (4TH IN TABLE)
3R9L ...      BNG   2  M8FAIL              [J IF FCB OR FULLB OR FTABLE 
3RLB ...[   
3S36 ...[ MUST BE BACK1/2 TYPE  
3SCW ...[   
3SSL ...      LDN   0  3
3T56 ...      ORX   0  BACK2(1)            [PLUS BLOCKLET BITS (MAY BE SET  
3T*L ...                                   [  ALREADY)  
3TL6 ...      TXU   5  BACK1(1) 
3W2W ...      BXU   6  0,M4FAIL            [J UNLESS RESIDENCE & BLOCKS MATCH   
3WCL ...      ERX   0  7
3WSB ...      ERS   0  BACK2(1)            [SET NEW BL.NO.  
3X96 ...[   
3XKW ...M4FAIL         [GET NEXT BLOCK & CHECK FOR END OF CHAIN 
3Y2L ...[   
3YCB ...      LDX   1  FPTR(1)  
3YS6 ...      BXE   1  BACT,M40FAIL        [J IF END OF ACTIVITY CHAIN  
3^8W ...      BXE   1  BFILE,M94FAIL       [J TO EXIT IF END OF FILE CHAIN  
3^KL ...      BXU   1  GEN1,M1FAIL         [J UNLESS END OF WORKFILE RING   
422B ...      SBN   1  BWORKRING           [RECOVER CPAT ADDRESS
42C6 ...      BRN      M51FAIL  
42RW ...[   
438L ...M40FAIL 
43KB ...      LDX   1  BFILE               [START ON FILE CHAIN 
4426 ...      BRN      M1FAIL   
44BW ...[   
44RL ...M5FAIL                             [ACT. BLOCK SECTION  
458B ...      SMO      FX1  
45K6 ...      BXU   0  M93FAIL,M51FAIL     [J UNLESS CPAT   
45^W ...      ADN   1  BWORKRING           [->WORKFILE RING 
46BL ...      STO   1  GEN1                [SAVE IT 
46RB ...      BRN      M4FAIL   
4786 ...[   
47JW ...M51FAIL 
47^L ...      BBUS     14,BA1(1),M4FAIL    [J UNLESS TRANSFER IN PROGRESS   
48BB ...      LDN   3  BA2                 [RELATIVISER FOR ACTIVITY TO BA WORDS
48R6 ...      LDN   4  ACOMMUNE9           [            DITTO   
497W ...M7FAIL                             [ACTIVITY OR QBLK
49JL ...      LDN   0  #377 
49^B ...      ADX   3  1
4=B6 ...      ANDX  0  0(3) 
4=QW ...      LDN   2  3
4?7L ...      ORX   2  1(3)                [BL. NO. 
4?JB ...      TXU   5  0
4?^6 ...      BXU   6  2,M4FAIL            [J UNLESS BLOCKS MATCH   
4#*W ...      ERX   2  7
4#QL ...      ERS   2  1(3)                [SET NEW NO. 
4#^2 ...      LDN   0  3                   [UPDATE DATUMISED BLK NO 
4*7B ...      SMO      4
4**Q ...      ANDS  0  0(1)                [REMOVE OLD BLK NO LEAVING BLT BITS  
4*J6 ...      ORX   0  GEN0                [PICK UP NEW BLK NO AND  
4*QG ...      ERN   0  3                   [REMOVE BLT BITS 
4*YW ...      SMO      4
4B7= ...      ORS   0  0(1)                [SET NEW BLK NO  
4B*L ...      BRN      M4FAIL   
4BQB ...[   
4C76 ...M8FAIL         [FCB/FTABLE/FULLB
4CHW ...[   
4CYL ...      ADN   2  2                   [NOW ZERO IF FTABLE & NEGATIVE IF FCB
4D*B ...      LDX   0  2
4DQ6 ...      BNG   2  M42FAIL             [J IF FCB
4F6W ...      LDN   3  A1+1(1)             [ADDRESS OF LFN IN FULLB 
4FHL ...      LDX   2  A1(1)
4FYB ...      SBN   2  2                   [NO. OF BLOCK NOS.   
4G*6 ...      BRN      M43FAIL  
4GPW ...[   
4H6L ...M42FAIL 
4HHB ...      LDX   2  FUSEBL(1)
4HY6 ...      SBN   2  FBLKS-A1            [NUMBER OF BLOCKS IN FCB 
4J#W ...      LDN   3  BSPRE(1)            [RELATIVISER TO BLOCK LIST   
4JPL ...M43FAIL 
4K6B ...      BZE   2  M4FAIL              [J IF NO BLOCKS  
4KH6 ...      LDX   4  0(3)                [RESIDENCE NUMBER (SOMETIMES HAS 
4KXW ...      ANDN  4  #377                [      OTHER BITS SET)   
4L#L ...      BXU   5  4,M4FAIL            [J IF WRONG RESIDENCE
4LS= ...      ERN   6  3                   [CLEAR BLOCKLET BITS IN OLD BLOCK
4M?W ...                                   [  NUMBER
4W?L ...M9FAIL  
4WNB ...      SMO      2
4X56 ...      BXE   6  0(3),M90FAIL        [J IF BLOCK NUMBER FOUND 
4XFW ...      BCT   2  M9FAIL              [TRY NEXT BLOCK NUMBER   
4XWL ...      BRN      M44FAIL             [TRY NEXT BLOCK IN CHAIN 
4Y?B ...[   
4YN6 ...M90FAIL 
4YYL ...      ERN   7  3                   [CLEAR BLOCKLET BITS IN NEW BLOCK
4^96 ...                                   [  NUMBER
4^FL ...      SMO      2
4^WB ...      STO   7  0(3)                [NEW BLOCK NO.   
52?6 ...      BPZ   0  M44FAIL             [J UNLESS FCB
52MW ...      JBC      M9005FAIL,1,BFREV   [J UNLESS REVERED (SJFILE)   
534L ...      BS       BSJACT,BJFILSWITCH  [FORCE CLOSE TO UPDATE BLOCKS RECORD 
53FB ...      LDX   3  1                   [SAVE SEARCH POSITION
53W6 ...      STARTACT SJ                  [WAKE JOURNAL ACTIVITY (FAILS IF 
54=W ...      LDX   1  3                   [RECOVER SEARCH POSITION     TEMPACT)
54ML ...M9005FAIL   
554B ...      MBS      1,BFALTB,BFALTR     [SET REEL & BLOCKS ALTERED BITS  
55F6 ...      JBC      M44FAIL,1,BFCARE    [J UNLESS CAREFUL FILE   
55TW ...      LDX   0  FFSFMAPP 
56=L ...      LDX   2  1
56MB ...M4305FAIL   
5746 ...      LDX   2  FPTR(2)             [X2->NEXT BLOCK IN FILA CHAIN
57DW ...      BXU   0  ATYPE(2),M4305FAIL  [J UNLESS FMAPP BLOCK
57TL ...      LDN   0  1                   [UPDATE FBCOMM TO INDICATE ALTERED   
5842 ...                                   [  BLOCK 
58=B ...      ANDX  0  FBCOMM(2)
58M6 ...      ADN   0  1
593W ...      ORS   0  FBCOMM(2)
59DL ...M44FAIL 
59TB ...      ORN   7  3                          [REPLACE BLOCKLET BITS
5==6 ...      ORN   6  3                   [        DITTO   
5=LW ...      BRN      M4FAIL   
5?3L ...[   
5?DB ...M91FAIL                            [***   THESE 
5?T6 ...      +FILE+FCB-#6000              [***    FOUR 
5#9W ...      +FI+FTABLE-#6000             [***     BLOCKS  
5#LL ...      +BSTB+FULLB-#6000            [***      MUST   
5*3B ...      +BSTB+BQBLK-#6000            [***       REMAIN IN THE SAME ORDER  
5*D6 ...      +FILE+FURB-#6000  
5*SW ...      +FILE+FUWB-#6000  
5B9L ...      +FILE+FURWB-#6000 
5BLB ...      +FILE+FURRB-#6000 
5C36 ...      +BSTB+BREAD-#6000 
5CCW ...      +BSTB+FLOUR-#6000 
5CSL ...M92FAIL 
5DL6 ...[   
5F2W ...M93FAIL        +CPAT-#6000  
5FCL ...[   
5FSB ...M94FAIL 
5G96 ...#NOR
5GKW ...[   
5H2L ...[   
5HCB ...[   
5HS6 ...[??? FREEHALF SECT FILE FGN 16 DOC  
5J==
5JPW
5K9G    [     THESE MACROS ARE USED BY THE CORE UNJAMMER TO FREE FILESTORE BLOCK
5KP6
5L8Q    #MAC  FREEHALF  
5LNB    [FREES HALF THE BLOCKS IN THE HALFOPEN CHAIN
5M82          CALL  7  M1FREEFILE   
5MML    #NOR
5MXD ...[??? FREEHALL SECT FILE FGN 16 DOC  
5N7=
5NLW    #MAC  FREEHALL  
5P6G    [FREES ALL THE BLOCKS IN THE HALFOPEN CHAIN 
5PL6          CALL  7  M2FREEFILE   
5Q5Q    #NOR
5Q*J ...[??? FREHFURB SECT FILE FGN 16 DOC  
5QKB    #   
5R52    #     FREES HALF THE FURBS/FURRBS ALTERNATELY   
5RJL    #MAC  FREHFURB  
5S4=          LDCT  0  #100 
5SHW          CALL  7  M12FREEFILE  
5T3G    #NOR
5T?# ...[??? FRSOFURB SECT FILE FGN 16 DOC  
5TH6    #   
5W2Q    #     FREES FURBS/FURRBS BELONGING TO SWAPPED OUT PROGRAMS  
5WGB    #MAC  FRSOFURB  
5X22          LDCT  0  #200 
5XFL          CALL  7  M12FREEFILE  
5X^=    #NOR
5Y94 ...[??? FRSOFUWB SECT FILE FGN 16 DOC  
5YDW    #   
5YYG    #     FREES FUWBS/FURWBS BELONGING TO SWAPPED OUT PROGRAMS  
5^D6    #MAC  FRSOFUWB  
5^XQ          LDCT  0  #600 
62CB          CALL  7  M12FREEFILE  
62X2    #NOR
636S ...[??? FREEFURB SECT FILE FGN 16 DOC  
63BL    #   
63W=    #MAC  FREEFURB  
64*W    [FREE READ BUFFER BLOCKS
64TG          LDN   0  0
65*6          CALL  7  M12FREEFILE  
65SQ    #NOR
664J ...[??? FREEFUWB SECT FILE FGN 16 DOC  
66#B
66S2    #MAC  FREEFUWB  
67?L    [FREE WRITE BUFFER BLOCKS   
67R=          LDX   0  GSIGN
68=W          CALL  7  M12FREEFILE  
68QG    #NOR
692# ...[??? FREEFILE SECT FILE FGN 16 DOC  
69=6
69PQ    #MAC  FREEFILE  
6=9B    [CONTAINS SUBROUTINES FOR ABOVE MACROS  
6=P2    [   
6?8L    [     FREE  HALF THE HALF-OPEN CHAIN
6?N=    #DEF  M1FREEFILE=0? 
6#7W          LDX   5  HALFFCB  
6#MG          SRA   5  1
6*76          BRN      M3FREEFILE   
6*LQ    [   
6B6B    [     FREE ALL THE HALF-OPEN CHAIN  
6BL2    #DEF  M2FREEFILE=0? 
6C5L          LDX   5  HALFFCB  
6CK=    M3FREEFILE  
6D4W ...      SBN   5  8                   [LEAVE 16 OR 8 BLOX IN 1/2-CHAIN 
6DJG          BNG   5  (7)  
6FHQ          LDX   3  FFSFCB   
6G3B          LDN   4  1
6GH2    M4FREEFILE  
6GL6 ...      BZE   5  (7)  
6HG=          LDX   1  BHALF+1  
6HQ4 ...      ADX   6  ASIZE(1) 
6H^W          BXU   3  ATYPE(1),M5FREEFILE [JUMP IF NOT FCB 
6J^6          SBN   5  1
6K6# ...      DELFCB 1,HALF 
6K?G ...      BRN      M4FREEFILE   
6KDQ    M5FREEFILE  
6L4? ...      FREECORE 1
6LXL          BRN      M4FREEFILE   
6MC=    [   
6MWW    [   
6NBG    #DEF  M8FREEFILE=0? 
6NW6          STO   0  GEN0                [STORE LINK  
6P*Q          LDCT  0  #40  
6PTB          ANDX  0  7
6Q*2          BNZ   0  M8FFREEFILE  
6QSL          LDN   0  FILE+FSTACK  
6R#=          SLL   0  12   
6RRW    M8AFREEFILE 
6S?G          LDX   3  BPTR(3)             [SEARCH BACK FOR FSTACK  
6SR6          BXU   0  ATYPE(3),M8AFREEFILE 
6T=Q          LDEX  2  ARINGNO(3)   
6TQB ...      BZE   2  M8GFREEFILE  
6W=2          ADN   3  A1   
6WPL    M8BFREEFILE 
6X9=          JBS      M8EFREEFILE,3,BASPARE
6XNW          JMBAC    M8EFREEFILE,3,BAMREAD,BAMREADR,BAMAPP,BAMWRITE,BAMGEN,  -
6Y8G                                 BAMCOPY,BAMCLEAN   
6YN6          LDX   1  3
6^7Q    M8CFREEFILE 
6^MB          LDX   1  BPTRF(1)            [SEARCH BACK ROUND FILE RING FOR ACTI
7272          SMO      FBACKPOINT(1)
72LL          LDX   0  ATYPE(1) 
736=          BXL   0  CACT,M8CFREEFILE 
73KW          LDX   0  JOBNO-FILERING(1)
745G          BZE   0  M18FREEFILE         [NO GOOD - OPEN TO NOUSER ACTIVITY   
74K6          LDN   1  BJOBQ
754Q    M8DFREEFILE 
75JB          LDX   1  FPTR(1)  
75S8 ...      BXE   1  CXJO,M18FREEFILE 
76HL          BXU   0  JOBNUM(1),M8DFREEFILE
773=          JBC      M18FREEFILE,1,JBSO  [J IF USER PROGS NOT SWAPPED OUT 
77GW    M8EFREEFILE 
782G          ADN   3  FELLEN   
78G6          BCT   2  M8BFREEFILE  
78PY ...M8GFREEFILE 
78^Q          SMO      4
79FB          LDX   3  BPTR 
79^2    M8FFREEFILE 
7=DL          LDN   0  1
7=Y=          ADS   0  CJSOFREE 
7?CW          BRN      (GEN0)              [OK TO FREE  
7?XG    [     X7    BIT 0 - FREE WRITE BLOCKS   
7#C6    [           BIT 1 - FREE BLOCKS FOR SWAPPED-OUT PROGRAMS
7#WQ    [           BIT 2 - FREE ALTERNATE BLOCKS   
7*BB    [           BIT 3 SEARCHING WORKFILE RINGS  
7*W2 ...[           BIT 4 - ALTERNATE BLOCK SWITCH  
7B*L    [     ENTER @ M12 TO SEARCH FILE CHAIN & WORKFILE RINGS ONLY
7FR2    #DEF  M12FREEFILE=0?
7G=L          SBX   7  FX1  
7GQ=          ORX   7  0                   [KEEP SWITCH BITS
7HPG          LDX   3  BFILE               [SEARCH FILE CHAIN   
7J96          LDN   5  BFILE
7JNQ    M14FREEFILE 
7K8B          BXE   3  5,M31FREEFILE       [JUMP IF END OF CHAIN
7K=^ ...#SKI  IFS   
7K*J ...(   
7KD7 ...      SBN   3  FCBRING  
7KGQ ...M13FREEFILE 
7KK* ...)   
7KN2          LDX   4  FPTR(3)  
7L7L          LDX   0  ATYPE(3) 
7LM=          SRL   0  12   
7M6W          BNG   7  M20FREEFILE  
7MLG          SBN   0  FILE+FURB
7N66          BZE   0  M15FREEFILE         [J IF FURB   
7NKQ          SUBNUM   0,FURRB-FURB 
7P5B          BNZ   0  M18FREEFILE         [J UNLESS FURRB  
7PK2          LDCT  0  #100 
7Q4L          ANDX  0  7
7QJ=          BZE   0  M15FREEFILE         [J UNLESS FREEING ALTERNATE BLOCKS   
7R3W          LDN   0  GSBS4
7RHG          BXE   0  ALOGLEN(3),M18FREEFILE   
7S36                                       [PROBABLY MT INDEX BLOCK - SO DONT FR
7SGQ    M15FREEFILE 
7T2B          LDCT  0  #200 
7TG2          ANDX  0  7
7T^L          BZE   0  M16FREEFILE  
7WF=          CALL  0  M8FREEFILE   
7WYW          BRN      M17FREEFILE  
7XDG    M16FREEFILE 
7XY6          LDCT  0  #100 
7YCQ          ANDX  0  7
7YXB          BZE   0  M17FREEFILE         [J UNLESS FREEING ALTERNATE BLOCKS   
7^5L ...      LDCT  0  #20  
7^?W ...      ERS   0  7
7^G6 ...      ANDX  0  7
7^NB ...      BZE   0  M18FREEFILE  
7^WL    M17FREEFILE 
82B=          ADDSKIP  I516A,COREFURB   
83*G          ADX   6  ASIZE(3) 
86?=          FREECORE 3
86QW    M18FREEFILE 
87=G          LDX   3  4
87#9 ...#SKI  IFS   
87*Y ...(   
87CM ...      BXGE  6  CJTARGET,M19FREEFILE 
87FB ...      BXU   0  FFSFCB,M13FREEFILE   
87H5 ...      LDX   3  FCBRING(3)   
87JS ...      BRN      M14FREEFILE  
87LH ...)   
87N= ...#SKI  IFS<1$1   
87Q6          BXL   6  CJTARGET,M14FREEFILE 
889Q    M19FREEFILE 
88PB          ANDN  7  #7777               [GET RID OF SWITCH BITS  
8992          ADX   7  FX1  
8=8=          BRN      (7)  
8=MW    M20FREEFILE 
8?7G          SBN   0  FILE+FUWB
8?M6          BZE   0  M21FREEFILE         [J IF FUWB   
8#6Q          SUBNUM   0,FURWB-FUWB 
8#LB          BNZ   0  M18FREEFILE         [J UNLESS FURWB  
8*62          LDEX  0  ATYPE(3) 
8*KL          BNZ   0  M18FREEFILE         [J IF FURWB NOT FULL 
8B5=    M21FREEFILE 
8BJW          LDCT  0  #200 
8C4G          ANDX  0  7
8CJ6          BZE   0  M22FREEFILE  
8D3Q          CALL  0  M8FREEFILE   
8DHB    M22FREEFILE 
8F32          LDX   1  BPTR(3)             [FIND FCB SKIPPING FSTACK
8FGL          LDX   0  FFSFCB   
8G2=    M23FREEFILE 
8GFW          LDX   1  BPTR(1)  
8G^G          BXU   0  ATYPE(1),M23FREEFILE 
8HF6          JBS      M18FREEFILE,1,BFCOPY[CANT WRITE BLK IF FILE BEING COPIED 
8HYQ ...      LDX   2  3                   [FOR HCHBLW  
8JDB ...      CALL  0  (HCHBLW)            [CHECK FOR CORRUPTION IF SERIAL  
8JY2 ...      BRN      M23AFREFILE  
8KCL ...      GEOERR   1,CORRUPT!          [CORRUPT FUWB
8KX= ...M23AFREFILE 
8LBW ...      UNJAMWRI M24FREEFILE,M25FREEFILE  
8LWG ...      ADX   6  ASIZE(3) 
8MB6 ...      FREECORE 3
8T9L    M24FREEFILE 
8TP=          FON      #55                 [WAKE UP CLOSES  
8W6= ...      LDCT  0  #40  
8WH= ...      ANDX  0  7
8WY= ...      BZE   0  M18FREEFILE         [J UNLESS SEARCHING WORKFILE RINGS   
8X*= ...      STOZ     5                   [INDICATES NOT YET REACHED END OF
8XQ= ...      BRN      M32FREEFILE         [RING FOR CURRENT JOB.   
8Y7B    M25FREEFILE 
8YM2          LDX   1  ATFAPTR             [ADDRESS OF TRANSFER FAIL ACTIVITY   
8^6L          LDX   0  BACK1(1) 
8^L=          LDN   2  1                   [INCREMENT COUNT OF FAILS BEING DEALT
925W          ADS   2  BACK1(1)            [WITH BY TRANSFER FAIL ACTIVITY  
92KG          BNZ   0  M26FREEFILE         [NO NEED TO FPUT ACTIVITY IF ALREADY 
9356          ADN   1  BSCHANAD 
93JQ          BXU   1  0(1),M26FREEFILE 
944B          LDX   2  ATFAPTR  
94J2          FPUT  
953L    M26FREEFILE 
95H=          LDX   1  BLANKF1  
962W ...      STO   4  BACK2(3) 
9726          STO   1  BACK1(3) 
97FQ          NAME     3,BSTB,BWRITE
97^B          STOZ     BLANKF1             [CLEAR WORDS SET UP BY BSTS  
98F2          STOZ     BLANKF2  
98YL          LDX   4  FPTR(3)             [NEXT BLOCK  
99D=          UNLOCK   3
99XW          LDX   2  BBAC 
9=CG          CHAIN    3,BPTR(2)           [CHAIN TO TF ACTIVITY
9=X6          BRN      M24FREEFILE  
9?BQ    M31FREEFILE 
9#B2          BXU   5  CXFI,M32FREEFILE    [J UNLESS END OF FILE CHAIN  
9#TL          LDCT  0  #40  
9**=          ORX   7  0
9*SW          LDX   2  FX2  
9B#G          STOZ     AWORK2(2)
9BS6    M32FREEFILE 
9C?Q          LDN   1  BJOBQ
9CRB    M33FREEFILE 
9D?2          LDX   1  FPTR(1)  
9DQL          BXE   1  CXJO,M19FREEFILE 
9F==          NGX   0  JOBNUM(1)
9FG4 ...      ADX   0  AWORK2(2)
9FPW ...      BNZ   0  M33AFREFILE         [J IF NOT CURRENT JOBNO (IN AWORK2)  
9F^N ...      BZE   5  M33BFREFILE         [J IF NOT REACHED END OF RING
9G9G ...M33AFREFILE 
9GF# ...      BPZ   0  M33FREEFILE         [J IF JOB EXAMINED ALREADY   
9GP6 ...      SBS   0  AWORK2(2)           [ELSE RESET AWORK2 TO NEXT JOBNO.
9GT3 ...      LDN   5  1                   [SET 'END OF RING' MARKER
9GYY ...M33BFREFILE 
9H8Q          LDCT  3  #200 
9HNB          ANDX  3  7
9J82          BZE   3  M34FREEFILE         [J UNLESS SEARCHING FOR SWAPPED PROG 
9JML          JBC      M33FREEFILE,1,JBSO  [OMIT UNLESS SWAPPED OUT 
9K7=    M34FREEFILE 
9KLW          HLSAV    1,SET,SAVING,JOBQ,M33FREEFILE
9L6G          FCAJO    3,1,N
9LB# ...      LDX   0  5
9LL6          LDN   5  BWORKRING(3) 
9LTY ...      BZE   0  M18FREEFILE  
9M5Q          LDX   3  BWORKRING(3) 
9MKB          BRN      M14FREEFILE  
9N52    #NOR
9N#S ...[??? CLUDGEQU SECT FILE FGN 16 DOC  
9NJL
9P4=    [     %A    MODIFIER POINTING TO FCB
9PHW    [     %B    LABEL TO JUMP TO IF CLUDGE  
9Q3G    [     %C & %D  WORK ACCUMULATORS  (X3->X7)  
9QH6    #MAC  CLUDGEQUERY   
9R2Q          LDX   1  FPTR(%A) 
9RGB          LDX   0  ATYPE(1) 
9S22          SRL   0  12   
9SFL          SBN   0  FILE+FSTACK  
9S^=          BNZ   0  M3CLUDGEQUE  
9TDW          SMO      FX2  
9TYG          LDX   %C JOBNO
9WD6          LDEX  %D ARINGNO(1)   
9WMY ...      BZE   %D M3CLUDGEQUE  
9WXQ    M1CLUDGEQUE 
9XCB          LDN   2  A1(1)
9XX2    M2CLUDGEQUE 
9YBL          LDX   2  BPTRF(2) 
9YW=          SMO      FBACKPOINT(2)
9^*W          LDX   0  ATYPE(2) 
9^TG          BXL   0  CACT,M2CLUDGEQUE 
=2*6          BXE   %C JOBNO-FILERING(2),%B 
=2SQ          ADN   1  FELLEN   
=3#B          BCT   %D M1CLUDGEQUE  
=3S2    M3CLUDGEQUE 
=4?L    #NOR
=4HD ...[??? NEWDIR SECT FILE FGN 16 DOC
=4R=
=5=W    [CREATES A NON-PSEUDO DIRECTORY GIVEN A FABSNB & A CREATE BLOCK 
==76    #MAC  NEWDIR
==LQ          DOWN     NEWDIR,1 
=?6B          BRN      %A   
=?L2    #NOR
=#5L ...[??? ASSILO SECT FILE FGN 16 DOC
=#K=
=*4W    #     THIS  MACRO EFFECTS AN ASSIGN FOR LOAD
=*JG    #MAC  ASSILO
=B46          DOWN     ASSIGN,10
=BHQ          BRN      %A   
=C3B    #NOR
=C?8 ...[??? UNCOMERR SECT FILE FGN 16 DOC  
=CH2
=D2L    #MAC  UNCOMERR  
=DG=          LDX   0  GSIGN
=D^W          SMO      FX2  
=FFG          ERS   0  EXT+8
=F^6    #NOR
=GDQ ...[??? CONFURWB SECT FILE FGN 16 DOC  
=GYB ...
=HD2 ...#MAC  CONFURWB  
=HXL ...#STR  %B
=JC= ...      ACCSTO   %B,ACOMMUNE4,FX2 
=JWW ...#STR  %A
=KBG ...      CHAIN    %A,FX2   
=KW6 ...#STR  %B
=L*Q ...      DOWN     EDOBJ,21 
=LTB ...#STR  %B
=M*2 ...#SKI
=MSL ...      DOWN     EDOBJ,22 
=N#= ...#NOR
=NRW ...[??? BLAM SECT FILE FGN 16 DOC  
=P?G ...
=PR6 ...#     MACRO TO CONVERT BLOCK NO IN USAGE BLOCK TO FREADBLOCK TYPE POINTE
=Q=Q ...# BLOCK MUST BE CHAINED BEHIND CURRENT ACTIVITY UNLESS %B GIVEN 
=QQB ...#MAC  BLAM  
=R=2 ...#STR  %A
=RPL ...#SKI
=S9= ...(   
=SNW ...#STR  %B
=T8G ... MOD  LDX   0  BACK2,%B 
=TN6 ...      LDX   2  FX2  
=W7Q ...#STR  %B
=WMB ...#SKI
=X72 ...(   
=XLL ...      SMO      FPTR(2)  
=Y6= ...      LDX   0  BACK2
=YKW ...)   
=^5G ...      LDN   1  0
=^K6 ...      SRL   01 2
?24Q ...      SLL   0  2
?2JB ...      TOPFCB2  2
?342 ...)   
?3HL ...#STR  %A
?43= ...(   
?4GW ...#STR  %B
?52G ...!     %B NOT ALLOWED IF %A PRESENT  
?5G6 ...#STR  GEN0,%A   
?5^Q ...      STO   3  GEN0 
?6FB ...#STR  3,%A  
?6^2 ...      LDX   3  %A   
?7DL ...      LDX   2  FX2  
?7Y= ...      LDX   1  FPTR(2)  
?8CW ...      FFCA  
?8XG ...#STR  GEN0,%A   
?9C6 ...      LDX   3  GEN0 
?9WQ ...      ADX   2  FBACKPOINT(2)
?=BB ...      LDX   2  BPTR(2)  
?=W2 ...      LDX   0  BACK2(1) 
??*L ...      LDN   1  0
??T= ...      SRL   01 2
?##W ...      SLL   0  2
?#SG ...)   
?*#6 ...      ADN   1  A1-1(2)  
?*RQ ...      ADX   1  FBLMOD(2)
?B?B ...M1BLAM  
?BR2 ...      TXU   0  0(1) 
?C=L ...      BCC      M2BLAM   
?CQ= ...      BCT   1  M1BLAM   
?D9W ...M2BLAM  
?DPG ...      SBX   1  2
?F96 ...#NOR
?FNQ ...[??? FINDACTX SECT FILE FGN 16 DOC  
?TXB    #   
?WC2    #   
?WWL    #MAC  FINDACTX  
?XB=          ADN   %A ACTRING  
?XTW    M1FINDACTX  
?Y*G          LDX   %A FPTR(%A) 
?YT6          BXU   %B ACTNUM-ACTRING(%A),M1FINDACTX
?^#Q          SBN   %A ACTRING  
?^SB    #NOR
#248 ...[??? OPENBUDO SECT FILE FGN 16 DOC  
#2#2    #   
#2RL    #MAC  OPENBUDO  
#3?=    #     OPENS DICT & READS ENTRY FOR OWNER OF FILES IN DIRECTORY  
#3QW    #     NAMED BY FIRST FABSNB IN CHAIN
#4=G          DOWN  BUDGTWO,31  
#4Q6          BRN      %A   
#59Q    #NOR
#5FJ ...[??? ERASTREM SECT FILE FGN 16 DOC  
#5PB
#692    #MAC  ERASTREM  
#6NL          DOWN     ERASE,2  
#78=    #NOR
#7D4 ...[??? ERASEMUL SECT FILE FGN 16 DOC  
#7MW    #MAC  ERASEMULT 
#87G          DOWN     ERASE,2  
#8M6    #NOR
#8WY ...[??? COMPQU SECT FILE FGN 16 DOC
#96Q
#9LB
#=62    #MAC  COMPQU
#=KL          TOPFCA   0
#?5=          SMO      0
#?JW          LDX   0  FGENERAL1
##4G          SLL   0  8
##J6          BPZ   0  %A   
#*3Q          DOWN     COMPCHAN,1   
#*HB    #NOR
#*R8 ...[??? CLOSESTR SECT FILE FGN 16 DOC  
#B32    #   
#BGL    #   
#C2=    #MAC  CLOSESTREAM   
#CFW          DOWN  COMPOST,7   
#C^G    #NOR
#D9# ...[??? CLOSEMUL SECT FILE FGN 16 DOC  
#DF6    #MAC  CLOSEMULT 
#DYQ          DOWN     COMPOST,7
#FDB    #NOR
#FN8 ...[??? FSCON SECT FILE FGN 16 DOC 
#FY2
#GCL
#GX=    #MAC  FSCON 
#HBW    #STR  %A,0  
#HWG          LDX   0  %A   
#JB6          TOPFCB   1
#JTQ          SBS   0  FSIZE(1) 
#K*B          MBS      1,BFALTB,BFALTR  
#KT2          LDX   0  FSIZE(1) 
#L#L          BPZ   0  M1FSCON  
#LS=          STOZ     FSIZE(1) 
#M?W          LDN   0  FBLKS-A1 
#MRG          STO   0  FBLMOD(1)
#N?6          BRN      %B   
#NQQ    M1FSCON 
#P=B          ADN   0  FBLKS-A1 
#PQ2          BXGE  0  FBLMOD(1),M2FSCON
#Q9L          STO   0  FBLMOD(1)
#QP=    M2FSCON 
#R8W    #NOR
#RDN ...[??? EXTEND SECT FILE FGN 16 DOC
#RNG
#S86    #MAC  EXTEND
#SMQ    #STR  %A,0  
#T7B          LDX   0  %A   
#TM2          TOPFCB   1
#W6L          ADS   0  FSIZE(1) 
#WL=          MBS      1,BFALTB,BFALTR  
#X5W          LDN   0  FILESIZE 
#XKG          BXGE  0  FSIZE(1),M1EXTEND
#Y56          STO   0  FSIZE(1) 
#YJQ          BRN      %B   
#^4B    M1EXTEND
#^J2    #NOR
#^RS ...[??? READED SECT FILE FGN 16 DOC
*23L    #   
*2H=    #     THESE MACROS READ & WRITE UP TO ONE BUCKET OF EDS-TYPE FILES OF   
*32W    #     BUCKS1,2&4. THE BUCK PARAMETER (%B) IS NOT REPLACED.  IF BUCK8 IS 
*3GG    #     USED AN ERROR LINE IS FLAGGED AT COMPILATION TIME.  THE AUTHOR IS 
*426    #     AWARE THAT THE TENSE  USED IS  NOT COMMONLY FOUND IN TEXT BOOKS ON
*4FQ    #     STANDARD ENGLISH. 
*4^B    #MAC  READED
*5F2    #STR  %C
*5YL          ACCSTO   %C,ACOMMUNE7,FX2 
*6D=    #STR  %C
*6XW    #SKI
*7CG    (   
*7X6          LDN   0  %B*128   
*8BQ          SMO      FX2  
*8WB          STO   0  ACOMMUNE7
*9B2    )   
*9TL          ACCSTO   %A,ACOMMUNE8,FX2 
*=*=          LDN   0  %B   
*=SW          SMO      FX2  
*?#G          STO   0  ACOMMUNE9
*?S6          DOWN     RAND,1   
*#?Q    #STR  %B,8  
*#RB    #SKI
**?2    !     BUCK8 INVALID WITH READED 
**QL    #NOR
*B2D ...[??? WRITED SECT FILE FGN 16 DOC
*B==
*BPW    #MAC  WRITED
*C9G          ACCSTO   %A,ACOMMUNE8,FX2 
*CP6          LDN   0  %B   
*D8Q          SMO      FX2  
*DNB          STO   0  ACOMMUNE9
*F82    #STR  %B,8  
*FML    #SKI
*G7=    !     BUCK8 INVALID WITH WRITED 
*GLW          DOWN     RAND,2   
*H6G    #NOR
*HB# ...[??? TRANSFOR SECT FILE FGN 16 DOC  
*HL6    #   
*J5Q    #     MACROS TO CONVERT P/T RECORDS 
*JKB    #   
*K52    #MAC  TRANSFORM 
*KJL          SMO      FX2  
*L4=          STO   %A ACOMMUNE1
*LHW          SMO      FX2  
*M3G          STO   %B ACOMMUNE2
*MH6          DOWN     TRANSFOR,1   
*N2Q    #NOR
*N=J ...[??? TRANSFO1 SECT FILE FGN 16 DOC  
*NGB
*P22    #MAC  TRANSFO1  
*PFL          LDX   2  FX2  
*P^=          ANSOK2
*QDW          LDX   0  %A   
*QYG          ERX   0  %B   
*RD6          ANDN  0  #7775
*RXQ          BZE   0  MTR  
*SCB          LDN   1  #20  
*SX2          ANDX  1  %B   
*TBL          ERX   0  1
*TW=          BZE   0  MTR  
*W*W          STO   %A ACOMMUNE1(2) 
*WTG          STO   %B ACOMMUNE2(2) 
*X*6          DOWN     TRANSFOR,1   
*XSQ    MTR   LDX   1  FX1  
*Y#B    #NOR
*YJ8 ...[??? INFINB SECT FILE FGN 16 DOC
*YS2    #   
*^?L    #     INPUT MACRO TO SET OR UNSET BIT FOR FINISH COMMAND
*^R=    #   
B2=W    #MAC  INFINB
B2QG          LDX   2  FX2  
B3PQ          BRUSEN   M1INFINB,2   
B49B          CJOBLOCK 1
B4P2          LDCT  0  #40  
B58L          ERS   0  JMISC(1) 
B5N=          LDX   1  FX1  
B776          BRN      M2INFINB 
B7LQ    M1INFINB
B86B          LDN   0  #2000
B8L2          ERS   0  EXT+11(2)
B95L ...M2INFINB
B=4W    #NOR
BJ*2 ...#   
^^^^ ...43065557003100000000