INCOBS867

(George Source)

Macros used: ALTLEN, BXE, BXL, BXU, CLOSETOP, COMBRKIN, DELETE, ENDCOM, FDTENT, FREECORE, FSHCODE, FSHSKIP, GEOERR, HUNTW, MENDAREA, MFREE, MFREEW, MHUNTW, MONOUT, NAME, OPENDIR, OPENINC, OUTINCS, OUTPACK, OUTPARAM, OUTPARN, OUTTSNS, READ, READAGAIN, REPLACE, RESET, RETURNA, REWIND, REWRITE, SEG, SEGENTRY, SETNCORE, SETUPCORE, SSEARCH, STEP, STEPAGAIN, TAPEWRONG, TESTREP, TRANSFIN

INCOBS867.txt
22FL          SEG   INCOBS,7,MIKE PUTNAM,INCDUMP
22LS ...[   
22S2 ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982
22^=    #   
23DW          SEGENTRY K1INCOBS,X1INCOBS
23YG    #   
245N ...      FSHSKIP  B
24=W ...(   
24D6    #  CONSTANTS
24XQ    #   
25CB    MOBSOLETE      8HOBSOLETE   
25X2                   8HDELETED
26BL    MRET           8HRETURNED   
26W=    MREU           12HTO-BE-REUSED  
27*W    MREUSED        8HREUSED 
27TG    MT             +10  
28*6                   12HDUMPER
28SQ                   0,0,0,0,0,0  
29#B                   4095 
29S2    #   
2=?L    #  THIS SEGMENT OPENS INCINDEX, RETURNS TO POOL "OBSOLETE" TAPES,   
2=R=    #  DELETES FROM INCINDEX THOSE INCREMENTS WHICH CONTAIN ONLY SUCH TAPES 
2?=W    #  AND CLOSES INCINDEX. AN "OBSOLETE" TAPE  IS ONE WHICH CONTAINS ONLY  
2?QG    #  OBSOLETE INCREMENTS (BIT 4 OF AINCSTATE SET) OR OBSOLETE VERSIONS OF 
2#=6    #  INCREMENTS (BIT 17 OF AMAGSTATE SET).
2#PQ    #  ON ENTRY, X7=0 IF TAPES TO BE RETURNED TO POOL, X7=1 IF TO BE REUSED 
2*9B    #            X6 = NO.OF TAPES TO FREE, X6= -1 IF TO FREE ALL OR TSNS
2*P2    #   
2B8L    #  SUBROUTINES .......  
2BN=    #  "SETFLINC"  IS USED TO SET UP A DUMMY FLIB/FLINC BLOCK.  
2C7W    #  "PINSERT"  IS USED TO INSERT ANOTHER INCREMENT NUMBER IN THE 
2CMG    #  FLIB/FLINC BLOCK.BOTH ARE CALLED ON X6 AND BOTH MAY COORDINATE   
2D76    #   
2DLQ    #   
2F6B    SETFLINC
2FL2          SBX   6  FX1  
2G5L          SETNCORE 2,3,FLIB,FLINC   
2GK=          LDN   0  1
2H4W          STO   0  A1(3)               [INITIALISE BLOCK
2HJG          ADX   6  FX1  
2J46          EXIT  6  0
2JHQ    #   
2K3B    #   
2KH2    PINSERT 
2L2L          SBX   6  FX1  
2LG=          MHUNTW   3,FLIB,FLINC 
2L^W          LDX   4  ALOGLEN(3)   
2MFG          ADN   4  1
2M^6          ALTLEN   3,4,FLIB,FLINC   
2NDQ          MHUNTW   3,FLIB,FLINC 
2NYB          LDN   4  1
2PD2          ADS   4  A1(3)
2PXL          SMO      A1(3)
2QC=          STO   5  A1(3)               [PUT INCREMENT NUMBER IN BLOCK   
2QWW          ADX   6  FX1  
2RBG          EXIT  6  0
2RL# ...)   
2RW6    #   
2S*Q    #   
2STB    X1INCOBS
2SX# ...      FSHCODE  B,XFSHBINCOBS
2S^= ...(   
2T38 ...      BRN      (GEOERR)            [NEVER OBEYED ON MACHINE B   
2T56 ...XFSHBINCOBS 
2T74 ...)   
2T92 ...      FSHSKIP  B
2T=Y ...(   
2T*2          SETNCORE 0,1,FILE,FINTER2    [FINTER2 BLOCK FOR TSNS IN THESE 
2TSL                                       [                       INCR. RECORDS
2W#=          OPENINC  OPBREAK,GENERAL  
2WRW          BPZ   6  PSTOR
2X?G          LDN   6  4095                [SOME LARGE NUMBER IF ALL
2XR6    PSTOR   
2Y=Q          STO   6  AWORK1(2)           [X6 = NO. OF TAPES TO FREE   
2YQB          STO   7  AWORK2(2)           [KEEP RETURN/REUSE MARKER
2^=2          STOZ     AWORK3(2)           [ "FINISHED" MARKER  
2^PL    #   
329=    #  READ THROUGH INCINDEX,FORMING IN THE FINTER2 BLOCK,  
32NW    #  A LIST OF POTENTIALLY RETURNABLE TAPES.  
338G    #   
33N6          CALL  6  SETFLINC            [SET UP DUMMY FLIB/FLINC BLOCK   
347Q    PREAD   
34MB          READ                         [READ A RECORD INTO FRB  
3572          MHUNTW   1,FILE,FRB   
35LL          LDX   0  A1(1)
366=          BZE   0  PFREE               [J IF END OF INCINDEX
36KW          LDX   6  AMTS(1)             [X6 = NO. OF MTS 
375G          BZE   6  PPEND               [J IF NO MTS 
37K6          LDN   7  AMAG                [TSN MODIFIER DOWN RECORD
384Q    PPSEARCH
38JB          SMO      7
3942          LDX   5  0(1)                [X5 = NEXT TSN IN RECORD 
39HL          SMO      7
3=3=          LDX   0  AMAGSTATE-AMAG(1)
3=GW          SLL   0  2
3?2G          BNG   0  PSHIFT   
3?G6          SLL   0  15   
3?^Q          BNG   0  PSETT
3#FB          LDCT  0  #020 
3#^2          ANDX  0  AINCSTATE(1) 
3*DL          BZE   0  PSHIFT   
3*Y=    PSETT   
3BCW          MHUNTW   3,FILE,FINTER2   
3BXG          LDX   4  ALOGLEN(3)   
3CC6          BZE   4  PNONE
3CWQ    PFIND   
3DBB          SMO      4
3DW2          TXU   5  A1-1(3)  
3F*L          BCC      PGOT 
3FT=          BCT   4  PFIND
3G#W          LDX   4  ALOGLEN(3)   
3GSG    PNONE   
3H#6          ADN   4  1
3HRQ          ALTLEN   3,4,FILE,FINTER2 
3J?B          MHUNTW   3,FILE,FINTER2   
3JR2          SMO      4
3K=L          STO   5  A1-1(3)  
3KQ=          BRN      PGOT 
3L9W    PSHIFT  
3LPG          MHUNTW   3,FILE,FRB   
3M96          SMO      7
3MNQ          LDN   5  0(3) 
3N8B          LDX   4  5
3NN2          ADN   4  INCMAGLEN
3P7L          LDX   0  6
3PM=          SBN   0  1
3Q6W          BZE   0  PSKIP
3QLG          LDN   1  INCMAGLEN
3R66          MPY   0  1
3RKQ          MOVE  4  0(1) 
3S5B    PSKIP   
3SK2          LDN   0  INCMAGLEN
3T4L          SBS   0  ALOGLEN(3)   
3TJ=          LDN   0  1
3W3W          SBS   0  AMTS(3)  
3WHG          SBN   7  INCMAGLEN
3X36    PGOT
3XGQ          MHUNTW   1,FILE,FRB   
3Y2B          ADN   7  INCMAGLEN
3YG2          BCT   6  PPSEARCH 
3Y^L          LDX   6  AMTS(1)  
3^F=          BNZ   6  PMESS
3^YW          BRN      PPEND               [TO FREE FRB BLOCK   
42DG    PMESS   
42Y6          HUNTW    2,FILE,APROC 
43CQ          BNG   2  PNOPREV  
43XB          LDX   6  AMTS(1)             [X6 = AMTS IN FRB
44C2          LDX   7  AMTS(2)             [X7 = AMTS IN APROC  
44WL          BXU   7  6,PDIFF             [NOT SAME NO. OF TAPES   
45B=          LDN   4  AMAG                [TSN MOD DOWN APROC  
45TW          LDN   5  AMAG                [TSN MOD DOWN FRB
46*G    PLOOK   
46T6          SMO      5
47#Q          LDX   0  0(1)                [PICK UP TAPE FROM APROC 
47SB          SMO      4
48#2          BXE   0  0(2),PSAME          [J IF SAME TAPE  
48RL          ADN   4  INCMAGLEN           [STEP INNER MODIFIER 
49?=          BCT   6  PLOOK               [LOOP IF MORE IN APROC   
49QW          BRN      PDIFF
4==G    PSAME   
4=Q6          LDX   6  AMTS(1)             [RESET INNER COUNT   
4?9Q          ADN   5  INCMAGLEN           [STEP OUTER MODIFIER 
4?PB          BCT   7  PLOOK               [LOOP IF MORE IN FRB 
4#92          LDX   5  AINCNO(1)
4#NL          FREECORE 1
4*8=          BRN      PIDEN
4*MW    PDIFF   
4B7G          LDN   4  0                   [TEMPORARY - TILL DTSUBS CHANGED 
4BM6          OUTINCS   
4C6Q          MFREEW   FLIB,FLINC   
4CLB          OUTTSNS   
4D62          MFREEW   FILE,APROC   
4DKL          MONOUT   INCOBSMT2           [INCREMENT %A %B OBSOLETE ON MT%C %D 
4F5=          LDX   6  AWORK3(2)
4FJW          BNG   6  PFINI               [J IF FINISHED   
4G4G          CALL  6  SETFLINC            [SET UP DUMMY FLIB/FLINC 
4GJ6          MHUNTW   1,FILE,FRB   
4H3Q    PNOPREV 
4HHB          NAME     1,FILE,APROC 
4J32          LDX   5  AINCNO(1)
4JGL    PIDEN   
4K2=          CALL  6  PINSERT  
4KFW          BRN      PREAD
4K^G    PPEND   
4LF6          FREECORE 1                   [FREE FRB BLOCK  
4LYQ          BRN      PREAD               [READ DOWN NEXT RECORD OF INCINDEX   
4MDB    PFREE   
4MY2          HUNTW    3,FLIB,FLINC 
4NCL          BNG   3  PFINI               [J IF NO FINAL MESSAGE   
4NX=          LDX   0  A1(3)
4PBW          SBN   0  1
4PWG          BNZ   0  PLAST               [J IF NOT EMPTY  
4QB6          MFREEW   FLIB,FLINC   
4QTQ          BRN      PFINI               [FINISHED THIS SECTION   
4R*B    PLAST   
4RT2          NGN   6  1
4S#L          STO   6  AWORK3(2)           [MARKER TO SHOW FINISHED 
4SS=          BRN      PDIFF
4T?W    PFINI   
4TRG          MFREEW   FILE,FRB            [FREE FRB BLOCK  
4W?6    #   
4WQQ    #  NOW READ THROUGH INCINDEX, LOOKING TO SEE IF ANY OF THE TSNS IN THE F
4X=B    #  BLOCK ARE MENTIONED IN NON-OBSOLETE INCR. RECORDS - IF THEY ARE, 
4XQ2    #  SET B0=1 IN THE APPROPRIATE TSN ENTRY IN THE FINTER2 BLOCK.  
4Y9L    #   
4YP=    PEND
4^8W          REWIND                       [REWIND INCINDEX 
4^NG    QSTEP   
5286          STEP  
52MQ          BZE   3  QEND                [J IF END OF INCINDEX
537B          LDCT  0  #020 
53M2          ANDX  0  AINCSTATE-A1(3)  
546L          BNZ   0  QSTEP               [J IF INCR. OBSOLETE 
54L=          MHUNTW   1,FILE,FINTER2   
555W          LDX   6  AMTS-A1(3)          [X6= NO. OF MTS  
55KG          BZE   6  QSTEP               [J IF NO MTS 
5656          LDN   0  AMAG-A1             [X0= TSN MOD. DOWN RECORD (INITIAL SE
56JQ    QQSEARCH
574B          SMO      0
57J2          LDX   5  0(3)                [X5= NEXT TSN IN INCINDEX RECORD 
583L          LDN   4  #100 
58H=          SMO      0
592W          ANDX  4  1(3) 
59GG          BNZ   4  QCONT               [B0 NOT SET IF B17 SET   
5=26          LDX   4  ALOGLEN(1)   
5=FQ          BZE   4  QZERO               [J IF FINTER2 BLOCK EMPTY
5=^B    QSEARCH 
5?F2          SMO      4
5?YL          TXU   5  A1-1(1)  
5#D=          BCC      QFOUND              [J IF TSN FOUND  
5#XW          BCT   4  QSEARCH             [J IF MORE TSNS TO COMPARE   
5*CG    QCONT   
5*X6          ADN   0  INCMAGLEN           [STEP TSN POINTER IN INCINDEX RECORD 
5BBQ          BCT   6  QQSEARCH            [J IF MORE TSNS IN RECORD
5BWB          BRN      QSTEP
5CB2    QFOUND  
5CTL          LDCT  5  #400 
5D*=          SMO      4
5DSW          ORS   5  A1-1(1)             [SET B0 OF TSN IN FINTER2 BLOCK LIST 
5F#G          BRN      QCONT
5FS6    QZERO   
5G?Q    #   
5GRB    #  NOW, HAVING ESTABLISHED WHICH TAPES CAN BE RELEASED, TAKE INTO   
5H?2    #  ACCOUNT WHAT WAS SPECIFIED TO BE RELEASED IN THE INCDUMP (OR DUMP) CO
5HQL    #  3 POSSIBILITIES:-
5J==    #    1) "ALL" SPECIFIED - LEAVE FINTER2 BLOCK AS IT IS. 
5JPW    #    2) NUMBER SPECIFIED - SHORTEN FINTER2 IF NECESSARY 
5K9G    #    3) TSNS SPECIFIED (FINTER1 BLOCK PRESENT) - IF TSNS IN FINTER2 DO N
5KP6    #              APPEAR IN FINTER1, REMOVE THEM FROM FINTER2 & SHORTEN IT 
5L8Q    #              APPROPRIATELY. A MESSAG IS OUTPUT FOR ANY TSNS IN FINTER1
5LNB    #              WHICH DO NOT APPEAR IN FINTER2.  
5M82    #   
5MML    QEND
5N7=          MHUNTW   3,FILE,FINTER2   
5NLW          HUNTW    2,FILE,FINTER1   
5P6G          BNG   2  ZEND                [J IF NO TSNS SPECIFIED. 
5PL6          LDX   4  ALOGLEN(3)          [X4= NO. OF TAPES IN FINTER2 
5Q5Q          BZE   4  ZNEG                [J IF NONE OBSOLETE  
5QKB    ZLOOP   
5R52          SMO      4
5RJL          LDX   5  A1-1(3)  
5S4=          SLL   5  1
5SHW          SRL   5  1                   [X5= NEXT TSN IN FINTER2 
5T3G          LDX   0  ALOGLEN(2)          [X0= NO. OF TAPES IN FINTER1 
5TH6          BZE   0  ZNONE               [J IF NONE PRESENT   
5W2Q    ZLOOP1  
5WGB          SMO      0
5X22          BXE   5  A1-1(2),ZFOU        [J IF TSN IN FINTER1 
5XFL          BCT   0  ZLOOP1              [J IF MORE TO SEARCH 
5X^=    ZNONE   
5YDW          SMO      4
5YYG          LDN   1  A1-1(3)             [X1-> TSN IN FINTER2 TO REMOVE   
5^D6          LDN   0  1(1) 
5^XQ          LDX   5  ALOGLEN(3)   
62CB          SBX   5  4                   [X5= NO. OF WORDS TO MOVE
62X2          BZE   5  ZNOMOVE             [J IF ZERO   
63BL          SMO      5                   [MOVE UP TSNS BELOW TO-BE-REMOVED TSN
63W=          MOVE  0  0                   [       IN FINTER2 BY 1 WORD 
64*W    ZNOMOVE 
64TG          LDX   5  ALOGLEN(3)   
65*6          SBN   5  1
65SQ          ALTLEN   3,5,FILE,FINTER2    [REDUCE FINTER2 BY 1 WORD
66#B          MHUNTW   2,FILE,FINTER1   
66S2          MHUNTW   3,FILE,FINTER2   
67?L          BRN      ZREDU
67R=    ZFOU
68=W          LDCT  1  #400 
68QG          SMO      0
69=6          ORS   1  A1-1(2)             [SET B0 OF FINTER1 ENTRY FOR THIS TSN
69PQ    ZREDU   
6=9B          BCT   4  ZLOOP               [J IF MORE TSNS IN FINTER2 TO DEAL WI
6=P2          BRN      ZNEG 
6?8L    ZLOOP2  
6?N=          ADN   4  1                   [UPDATE MOD. DOWN FINTER1
6#7W          SMO      4
6#MG          LDX   5  A1-1(2)             [X5= NEXT TSN IN FINTER1 
6*76          BNG   5  ZNEG                [J IF TSN MENTIONED IN FINTER2   
6*LQ          OUTPACK  5,1,TSN             [OUTPUT TSN AS PARAMETER 
6B6B          MONOUT   INCMTNOBS           [TO OPS. CONSOLE & MON. FILE :-  
6BL2                                       [ "DUMPER - MT %A HOLDS NO OBSOLETE  
6C5L                                       [       INCREMENTS"  
6CK=          MHUNTW   2,FILE,FINTER1   
6D4W    ZNEG
6DJG          BXU   4  ALOGLEN(2),ZLOOP2   [J IF MORE TSNS TO LOOK AT IN FINTER1
6F46          FREECORE 2                   [FREE FINTER1
6FHQ          BRN      RALL 
6G3B    ZEND
6GH2          SMO      FX2  
6H2L          LDX   6  AWORK1   
6HG=          ADN   6  1                   [X6 = 1 + NO. OF TAPES TO FREE   
6H^W          LDX   4  ALOGLEN(3)   
6JFG          BZE   4  RALL                [J IF FINTER2 EMPTY  
6J^6          STOZ     4
6KDQ    ZLOOP3  
6KYB          ADN   4  1
6LD2          SMO      4
6LXL          LDX   7  A1-1(3)             [X7 = TSN FROM FINTER2   
6MC=          BNG   7  ZSKIP               [MUSTN'T RELEASE THIS TAPE   
6MWW          BCT   6  ZSKIP               [DECREASE COUNT OF NO. TO RELEASE
6NBG          BRN      ZFINI               [NOW RESET FINTER2 LENGTH
6NW6    ZSKIP   
6P*Q          BXL   4  ALOGLEN(3),ZLOOP3   [J IF NOT END OF FINTER2 
6PTB          BRN      RALL 
6Q*2    ZFINI   
6QSL          SBN   4  1                   [DON'T NEED LAST TAPE
6R#=          ALTLEN   3,4,FILE,FINTER2    [SHORTEN FINTER2 
6RRW    #   
6S?G    #  READS THROUGH INCINDEX YET AGAIN. RECORDS WHICH CONTAIN ONLY 
6SR6    #  TAPES ON WHICH ALL INCREMENTS ARE OBSOLETE,ARE DELETED FROM INCINDEX.
6T=Q    #  FOR OTHER RECORDS, THE ENTRY IN INCINDEX IS DELETED FOR  
6TQB    #  THOSE MTS WHICH CONTAIN ONLY OBSOLETE INCREMENTS, OR OBSOLETE
6W=2    #  VERSIONS  OF INCREMENTS. 
6WPL    #  IF A TAPE IS TO BE RELEASED BUT YET IT HAS AN FDT ENTRY (I.E. IS BEIN
6X9=    #  USED BY DUMP TAPE SCHEDULER), A MESSAGE IS OUTPUT & IT IS TREATED AS 
6XNW    #  IT CONTAINED NON-OBSOLETE INCRS. 
6Y8G    #  GOES THROUGH FINTER2 BLOCK RETURNING TO THE POOL ALL MTS WITH +IVE   
6YN6    #  ENTRIES (I.E. CONTAINING ONLY OBSOLETE INCRS.)   
6^7Q    #   
6^MB    RALL
6^NY ...#SKIP JDUMPTW   
6^QG ...(   
6^S4 ...#   
6^TL ...# A FILE/FINTER1 IS SET UP TO HOLD TSNS OF  
6^X8 ...# TAPES TO BE TW'D  
6^YQ ...#   
722# ...      SETNCORE 15,1,FILE,FINTER1
723W ...      STOZ     A1+12(1)             [NO. OF TAPES   
725D ...)   
7272          REWIND
72LL          CALL  6  SETFLINC            [SET UP DUMMY FLIB/FLINC 
736=    RSTEP   
73KW          STEP  
745G          BZE   3  REND                [J IF END OF INCINDEX
74K6          STOZ     AWORK3(2)           [CLEAR MARKER WORD   
754Q    REREAD  
75JB          LDX   6  AMTS-A1(3)   
7642          BZE   6  RSTEP               [J IF NO TAPES.  
76HL          LDN   7  AMAG-A1             [MODIFIER DOWN TSNS  
773=    RRSEARCH
77GW          MHUNTW   1,FILE,FINTER2      [X1 -> FINTER2   
782G          SMO      7
78G6          LDX   5  0(3)                [X5= NEXT TSN IN INCINDEX RECORD 
78^Q          LDCT  0  #100 
79FB          SMO      7
79^2          ANDX  0  AMAGSTATE-AMAG(3)
7=DL          BNZ   0  RRET                [J IF TAPE ALREADY RELEASED  
7=Y=          LDX   4  ALOGLEN(1)   
7?CW          BZE   4  RBACK               [J IF FINTER2 BLOCK EMPTY
7?XG    RSEARCH 
7#C6          SMO      4
7#WQ          LDX   2  A1-1(1)             [X2= TSN IN FINTER2 BLOCK
7*BB          LDX   0  2
7*W2          SLL   0  1
7B*L          SRL   0  1
7BT=          BXE   0  5,RFOUND            [J IF TSN FOUND  
7C#W          BCT   4  RSEARCH             [J IF MORE TSNS TO COMPARE   
7CSG          BRN      RBACK
7D#6    RFOUND  
7DRQ          BNG   2  RBACK               [J IF TAPE CONTAINS NON-OBS.INCS.
7F?B          FDTENT   2,5,RRET            [J IF TAPE NOT STILL IN USE  
7FR2          LDCT  0  #400 
7G=L          SMO      4                   [SET TSN IN FINTER2 BLOCK -IVE - TAPE
7GQ=          ORS   0  A1-1(1)             [           NOT RELEASEABLE  
7H9W          OUTPACK  5,1,TSN             [OUTPUT TSN AS PARAMETER 
7HPG          MONOUT   INCMTUSE            [TO OPS. CONSOLE & MON. FILE :-  
7J96                                       [  "DUMPER= MT %A NOT RELEASED -STILL
7JNQ          STEPAGAIN                    [X3-> INCINDEX RECORD
7K8B          MHUNTW   1,FILE,FINTER2      [X1-> FINTER2 BLOCK  
7KN2          BRN      RBACK
7L7L    RRET
7LM=          LDX   2  FX2  
7M6W          LDX   0  AWORK3(2)
7MLG          BNZ   0  RSHIFT              [J IF ALREADY READ RECORD AGAIN  
7N66          LDN   0  1
7NKQ          STO   0  AWORK3(2)           [SET MARKER WORD 
7P5B          READAGAIN 
7PK2          MHUNTW   3,FILE,FRB          [X3 -> FRB BLOCK 
7Q4L          ADN   3  A1                  [ADD IN RECORD-HEADER
7QJ=          BRN      REREAD   
7R3W    RSHIFT  
7R4? ...#SKIP JDUMPTW   
7R4N ...(   
7R55 ...#   
7R5G ...# A LIST OF TAPES TO BE TW'D IS COLLATED
7R5X ...#   
7R6# ...      MHUNTW   2,FILE,FINTER1   
7R6P ...      SMO      7
7R76 ...      LDX   5  1(3)               [MAGSTATE 
7R7H ...      SLL   5  7
7R7Y ...      BPZ   5  RTW3               [TSN NOT TO BE TW'D   
7R8* ...      SMO      7
7R8Q ...      LDX   5  0(3)               [TSN  
7R97 ...      LDN   0  A1+13            [PTR DOWN FINTER1   
7R9J ...      LDX   4  A1+12(2) 
7R9^ ...      BZE   4  RTW2               [NO TAPES YET IN LIST 
7R=B ...RTW1
7R=R ...      SMO      0
7R?8 ...      BXE   5  0(2),RTW3          [TSN ALREADY IN LST   
7R?K ...      SBN   4  1                   [DECREASE NO OF TSNS 
7R#2 ...      BZE   4  RTW4 
7R#C ...      ADN   0  2                  [NEXT TSN 
7R#S ...      BRN      RTW1 
7R*9 ...RTW4
7R*L ...      ADN   0  2
7RB3 ...RTW2
7RBD ...      SMO      0
7RBT ...      STO   5  0(2)               [ADD TSN TO LIST  
7RC= ...      LDN   0  1
7RCM ...      ADS   0  A1+12(2)         [UPDATE TAPE COUNT  
7RD4 ...      LDX   4  ALOGLEN(2)   
7RDF ...      ADN   4  2                  [INCREASE BLOCK SIZE  
7RDW ...      ALTLEN   2,4,FILE,FINTER1 
7RF? ...      MHUNTW   3,FILE,FRB   
7RFN ...      ADN   3  A1   
7RG5 ...RTW3
7RGG ...)   
7RHG          SMO      7
7S36          LDN   5  0(3)                [END ADDRESS FOR MOVE IN X5  
7SGQ          LDX   4  5
7T2B          ADN   4  INCMAGLEN           [START ADDRESS FOR MOVE IN X4
7TG2          LDX   0  6
7T^L          SBN   0  1                   [X1= NUMBER OF REMAINING TAPES   
7WF=          BZE   0  RSKIP               [AVOID ZERO MOVE !   
7WYW          LDN   1  INCMAGLEN
7XDG          MPY   0  1                   [NUMBER OF WORDS TO MOVE IN X1   
7XY6          MOVE  4  0(1) 
7YCQ    RSKIP   
7YXB          LDN   0  INCMAGLEN
7^C2          SBS   0  FRH(3)              [REDUCE RECORD HEADER
7^WL          LDN   0  1
82B=          SBS   0  AMTS-A1(3)          [REDUCE NUMBER OF MTS
82TW          SBN   7  INCMAGLEN           [BACKSPACE POINTER   
83*G    RBACK   
83T6          ADN   7  INCMAGLEN           [STEP POINTER
84#Q          BCT   6  RRSEARCH            [J IF MORE TAPES IN RECORD   
84SB          LDX   2  FX2  
85#2          LDX   0  AWORK3(2)
85RL          BZE   0  RSTEP               [J IF RECORD UNCHANGED.  
86?=          LDX   0  AMTS-A1(3)   
86QW          BNZ   0  RESET               [J IF SOME MTS STILL LEFT IN RECORD  
87=G          LDX   5  AINCNO-A1(3) 
87Q6          CALL  6  PINSERT             [PUT INC. NO. IN FLIB/FLINC  
889Q          DELETE                       [DELETE THIS RECORD  
88PB          MHUNTW   3,FILE,FRB          [X3 -> FRB BLOCK 
8992    RFREE   
89NL          FREECORE 3                   [FREE BLOCK POINTED TO BY X3 
8=8=          BRN      RSTEP
8=MW    RESET   
8?7G          MHUNTW   3,FILE,FRB   
8?M6          NAME     3,FILE,FWB          [RENAME AS A WRITE BLOCK 
8#6Q          REPLACE                      [MAKE SURE IT'S WRITTEN BACK 
8#LB          MHUNTW   3,FILE,FWB   
8*62          BRN      RFREE               [FREE FWB BLOCK  
8*KL    REND
8B5=          MHUNTW   3,FLIB,FLINC 
8BJW          LDX   0  A1(3)
8C4G          SBN   0  1
8CJ6          BZE   0  RRFREE              [J IF NO DELETED INCS.   
8D3Q          OUTINCS   
8DHB          MONOUT   INCSDEL             [RECORD%A DELETED FOR INC%A %B   
8F32    RRFREE  
8FGL          MFREEW   FLIB,FLINC   
8G2=          STOZ     4                   [ZEROISE MOD.
8GFW          LDN   6  0                   [CLEAR "TAPES RELEASED" MARKER   
8G^G          LDN   7  AMAG-A1  
8HF6          SETUPCORE 7,3,FILE,APROC     [GET NEW FILE/APROC BLOCK
8HYQ          STO   7  A1(3)
8JDB          LDX   7  AWORK2(2)           [X7 = RETURNED/REUSED MARKER 
8JY2          STOZ     AMTS(3)  
8KCL          BRN      STEST
8KX=    SSEARCH 
8LBW          SMO      4
8LWG          LDX   5  A1(1)
8MB6          BNG   5  SNOTOBS             [J IF TAPE CONTAINS NON-OBSOLETE INCR
8MTQ          MHUNTW   3,FILE,APROC 
8N*B          LDX   7  A1(3)
8NT2          ADN   7  INCMAGLEN
8P#L          ALTLEN   3,7,FILE,APROC      [LENGTHEN APROC BLOCK
8PS=          MHUNTW   3,FILE,APROC 
8Q?W          STO   7  A1(3)
8QRG          LDN   7  1
8R?6          ADS   7  AMTS(3)             [INCREASE NO. OF TAPES   
8RQQ          LDX   7  AWORK2(2)           [X7 = RETURNED/REUSED MARKER 
8RXY ...      SMO      A1(3)
8S56 ...      STOZ     A1-INCMAGLEN+1(3)   [ ZEROISE STATE MARKER   
8S=B          SMO      A1(3)
8SQ2          STO   5  A1-INCMAGLEN(3)  
8T9L          ORN   6  1                   [SET "TAPES RELEASED" MARKER 
8TP=          SETNCORE 12,2,FILE,FABSNB    [SET FABSNB FOR TAPE.
8W8W          LDN   0  #2401               [SET TSN, RETENTION PERIOD & NON-FILE
8WNG          ORS   0  ATYPE(2)            [           BITS IN TYPE WORD
8X86          STO   5  A1+11(2)            [INSERT SERIAL NO.   
8XMQ          ADN   1  MT   
8Y7B          ADN   2  A1   
8YM2          MOVE  1  11                  [INSERT :DUMPER & ZERO LOCAL NAME
8^6L          OPENDIR  OPBREAK,CLEAN,QUERY [OPEN :DUMPER
8^L=          MFREE    FILE,FABSNB  
925W          TESTREP  OK,SREPOK,NOFILE,SNOTOBS,DISAGREE,SNOTOBS
92KG    #SKI  K6INCOBS  
9356          GEOERR   BRIEFPM,INC REP  
93JQ    SREPOK  
944B          MHUNTW   3,FILE,ENT   
94J2          NAME  3,FILE,FWB  
953L          NGNC  0  1                   [WITH ACKNOWLEDGEMENTS TO TERRY COLE 
95H=          ANDS  0  EINCLOOK(3)         [REMOVE TAPE BEING USED BIT  
962W          REWRITE   
96GG          MFREEW   FILE,FWB 
9726          CLOSETOP                     [CLOSE   :DUMPER 
97FQ          BNZ   7  SNOTOBS             [J IF TAPE NOT TO BE RETURNED TO POOL
97^B          RETURNA  5                   [RETURN TAPE TO POOL 
98F2    SNOTOBS 
98YL          ADN   4  1                   [UPDATE MOD. 
99D=    STEST   
99XW          MHUNTW   1,FILE,FINTER2   
9=CG          BXU   4  ALOGLEN(1),SSEARCH  [J IF MORE TSNS TO SEARCH
9=X6          CLOSETOP                     [CLOSE INCINDEX  
9?BQ          MFREEW   FILE,FINTER2 
9?WB          BNZ   6  SOMEREL             [J IF AT LEAST 1 TAPE RELEASED   
9#B2          LDN   3  ACOMMUNE1(2) 
9#TL          LDN   2  MRET(1)  
9**=          BZE   7  SRETURN             [J IF RETURNED & NOT REUSED  
9*SW          LDN   2  MREUSED(1)   
9B#G    SRETURN 
9BS6          MOVE  2  2                   [SET PARAM IN ACOMMUNE WORDS 
9C?Q          OUTPARN  8,ACOMMUNE1         [OUTPUT "RETURNED" OR "REUSED" AS PAR
9CRB          MONOUT   INCNOREL            [ TO OPS. CONSOLE & MON. FILE :- 
9D?2                                       [ "NO DUMP TAPES CAN BE %A"  
9DQL          BRN      SNOREL   
9F==    SOMEREL 
9FPW          OUTTSNS   
9G9G          LDN   3  ACOMMUNE1(2) 
9GP6          LDN   2  MRET(1)  
9H8Q          LDN   0  8
9HNB          BZE   7  SRET 
9J82          LDN   2  MREU(1)  
9JML          LDN   0  12   
9K7=    SRET
9KLW          MOVE  2  3
9L6G          OUTPARAM 0,ACOMMUNE1  
9LL6          MONOUT   JMTSREL             [MT%A %B %C - INCREMENT(S) OBS.  
9M5Q    SNOREL  
9MKB          MFREEW   FILE,APROC   
9MKD ...#SKIP JDUMPTW   
9MKG ...(   
9MKJ ...#   
9MKL ...# IF FINTER1 CONTAINS ANY TSNS THEY ARE TW'D
9MKN ...# AND A MESSAGE OUTPUT TO OPERATORS 
9MKQ ...#   
9MKS ...      MHUNTW   1,FILE,FINTER1   
9MKW ...      LDX   4  A1+12(1)         [ANY TAPES  
9MKY ...      BZE   4  STW4                [IN TW LIST  
9ML2 ...      LDN   5  A1+13
9ML4 ...STW1
9ML6 ...      SMO      5
9ML8 ...      LDX   6  0(1) 
9ML= ...      TAPEWRONG 6   
9ML# ...      SBN   4  1
9MLB ...      BZE   4  STW2 
9MLD ...      ADN   5  2
9MLG ...      MHUNTW   1,FILE,FINTER1   
9MLJ ...      BRN      STW1 
9MLL ...STW4
9MLN ...      MFREEW   FILE,FINTER1 
9MLQ ...      BRN      STW3 
9MLS ...STW2
9MLW ...      MHUNTW   1,FILE,FINTER1   
9MLY ...      NAME     1,FILE,APROC 
9MM2 ...      OUTTSNS  ARE  
9MM4 ...      MONOUT   INCOBSTW 
9MM6 ...      MFREEW   FILE,APROC   
9MM8 ...STW3
9MM= ...)   
9MM^ ...      FSHCODE  A,XFSHAEND   
9MQJ ...(   
9MT7 ...      TRANSFIN ,,ALIEN             [RETURN IF CAME FROM MACHINE B   
9MXQ ...XFSHAEND
9N2* ...)   
9N52          ENDCOM
9Q3G    OPBREAK 
9Q65 ...      FSHCODE  A,XFSHACOM   
9Q8N ...(   
9Q?? ...      TRANSFIN ,,ALIEN             [RETURN IF CAME FROM MACHINE B   
9Q*W ...XFSHACOM
9QDF ...)   
9QH6          COMBRKIN  
9R2Q    #   
9R=J ...)   
9RGB          MENDAREA 40,K99INCOBS 
9S22    #   
9SFL    #END
^^^^ ...75042512000100000000