INCTAPES867

(George Source)

Macros used: ALTLENG, ALTLENGD, BBS, BC, BI, BITDEFS, BLOCKTRACE, BS, BWNZ, BXE, BXL, BXU, CLOSETOP, CONSERNO, COOR3, DELETE, DUMP, FREECORE, GEOERR, GET, HUNTW, INSERT, JBC, JBCC, JBCS, JBS, JMBS, MENDAREA, MFREEW, MHUNT, MHUNTW, MONOUT, MTCHECK, NAME, OPEN, OPENINC, OUTNULL, OUTPACKX, OUTPARAM, OUTPARN, OUTTSNS, REWIND, SEG, SEGENTRY, SETBIT, SETNCORE, STARTACT, STEP, STEPAGAIN, STEPWRITE, TESTNAMX, TESTREP2, TRACE, TRACEVER, UP, UPPLUS, WIND

INCTAPES867.txt
229S ...      SEG   INCTAPES,867,P.SMITH,INCDUMP
22FL ...[   
22PD ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 
22^=    #   
23DW          SEGENTRY K1INCTAPES,X1INCTAPES
23YG          SEGENTRY K2INCTAPES,X2INCTAPES
24D6          SEGENTRY K3INCTAPES,X3INCTAPES
24PW ...      SEGENTRY K31INCTAPES,(GEOERR) 
253M ...      SEGENTRY K4INCTAPES,X4INCTAPES
257J ...      SEGENTRY K5INCTAPES,(GEOERR)  
25?F ...      SEGENTRY K7INCTAPES,(GEOERR)  
25CB ...      SEGENTRY K8INCTAPES,(GEOERR)  
25H? ...#   
25M8 ...
25R5 ...
25X2    USER           +10                 [PRESET FABSNB O   FOR OPENING TAPE  
26BL                   12HDUMPER
26W=    MTNAME  
27*W                   12HGEO3DUMPTAPE  
27TG                   #10000000           [REEL NO. 0  
28*6                   #10000000           [GEN. NO. 0  
28SQ                   4H   
29#B    MIN            14HUNAVAILABILITY   [2ND PARAMETERS  
29S2    MFAIL          15HFAILURE HISTORY  [               TO MONFILE MESSAGE "I
2=3S ...MTW            16HTW DUMP          [2ND PARAMETER TO MONFILE MESS   
2=?L    #   
2=DS ...XFILE          23HA FILES-ONLY INCREMENT
2=L2 ...XREST          23HA RESTORABLE INCREMENT
2=PG ...      BITDEFS    AWORK1,3,XBDTSABWT,XBCDPOOL
2=PP ...#     B4 SET IFF CD LOAD POOL TAPE ISSUED   
2=PY ...
2=QK ...#     B3 SET IF DTS HAS BEEN KICKED DURING ABANDONMENT OF A DUMP
2=R=    #  AWORK1 USED AS FOLLOWS:- B0=1   HAVE ASKED FOR A POOL TAPE   
2?=W    #                           B1=1   RECORD FOR THIS INCR. INSERTED IN
2?QG    #                                          (AT END OF) INCINDEX 
2#=6    #                           B2=1   INCINDEX ALREADY OPEN (K3 ENTRY ONLY)
2#PQ    #  AWORK2 USED AS FOLLOWS:- B0=1
2*9B    #   
2*P2    #  SUBROUTINES  
2B8L    #   
2BN=    #  SEARCHES THROUGH DIRECTORY FOR MT WHOSE SERIAL NO. IS IN X5 & PRODUCE
2C7W    #  POINTER TO ITS DIR. ENTRY (IN X3). 1ASSUMES DIRECTORY IS REWOUND (IF 
2CMG    #  NEEDS TO BE) & CHANGES STATUS OF THE MT (I.E. FREE TO USED OR VICE VE
2D76    #  IF HITS END OF :DUMPER, JUST OUTPUTS A MESSAGE & EXITS AS NORMAL WITH
2DLQ    #  CHANGING ANYTHING (BUT X3=0).
2F6B    #  ON ENTRY, X5=SERIAL NO. TO BE FOUND.        X4 IS S/R  LINK. 
2FL2    #  ON EXIT, X1=FX1, X2=FX2, X3->RECORD FOUND(STEP POINTER), X5=SERIAL NO
2G5L    #           X3=0(IF TAPE NOT FOUND).       USES X0. 
2GK=    SERLOOK 
2H4W          SBX   4  FX1  
2H#N ...      REWIND
2HJG    SSTEP   
2J46          STEP                         [X3-> NEXT RECORD
2JHQ          BZE   3  SEOF                [J IF END OF :DUMPER 
2K3B          LDX   0  ERESN(3) 
2KH2          BNZ   0  SSTEP               [J IF NOT NAME RECORD
2L2L          BXU   5  ESERN(3),SSTEP      [J IF NOT SERIAL NO. REQUIRED
2LG=          ADX   4  FX1  
2L^W    STCHANGE                           [ENTRY IF RECORD ALREADY FOUND   
2MFG          SBX   4  FX1  
2M^6          CALL  7  STEPWRITE           [ENSURE INFORMATION WRITTEN TO BS
2NDQ          BI    3,BNUSEDUMP            [CHANGE STATUS OF MT (FREE TO USED OR
2NYB                                       [
2PD2    #SKI  K6INCTAPES>99-99  
2PXL    (   
2QC=          TRACE ESERN(3),INC SER       [SERIAL NO. OF MT
2QWW          TRACE EINCLOOKN(3),INC MTST  [STATUS OF MT
2RBG    )   
2RW6    SOUT
2S*Q          ADX   4  FX1  
2STB          EXIT  4  0
2T*2    SEOF                               [THIS SHOULD BE GEOERR SOMETIMES (E.G
2TSL                                       [ ENTRY FROM THIS SEGMENT). HOWEVER,I
2W#=                                       [ ENTRY FROM INCCANT, POSSIBLE FOR MT
2WRW                                       [NOT TO BELONG TO DUMPER (GEORGE BROK
2X?G                                       [MT BEING GOT & SERIAL & DIR. CHANGED
2XR6                                       [CLOSED BUT RENAME PERI NOT YET DONE.
2Y=Q                                       [RESTARTED, WHEN MT LOADED ,MT RETURN
2YQB                                       [SINCE CALLED POOL TAPE. 
2^=2          CONSERNO 5,ACOMMUNE1         [CONVERT TSN TO CHARS.   
2^PL          OUTPARAM ACOMMUNE1(2),ACOMMUNE2  [TSN AS PARAM.   
329=          MONOUT   INCNDUMP                [COMMENT "MT %A NOT OWNED BY :DUM
32NW          BRN      SOUT 
338G    #   
33N6    #  OPENS :DUMPER IN GENERAL MODE
347Q    #  ON ENTRY,                       X4 IS S/R LINK.  
34MB    #  ON EXIT,  X1=FX1, X2=FX2.   USES X0. 
3572    #   
35LL    OPENDUMPER  
366=          SBX   4  FX1  
36KW          SETNCORE 4,2,FILE,FABSNB  
375G          LDN   0  4
37K6          STO   0  A1(2)               [SET LENGTH OF NAME  
384Q          ADN   1  USER+1   
38JB          ADN   2  A1+1 
3942          MOVE  1  3                   [INSERT DUMPER   
39HL          OPEN  NOBREAK,GENERAL        [OPEN :DUMPER IN GENERAL MODE
3=3=          MFREEW   FILE,FABSNB  
3=GW          ADX   4  FX1  
3?2G          EXIT  4  0
3?G6    #   
3?^Q    #  THIS SUBROUTINE SIMPLY DOES A STEPWRITE (EXPANSION >40 WORDS).   
3#FB    #  ON ENTRY,X3-> RECORD TO STEPWRITE.          X7 IS S/R LINK.  
3#^2    #  ON EXIT, X1=FX1, X2=FX2, X3->CURRENT RECORD. USES X0. MAY COORDINATE.
3*DL    #   
3*Y=    STEPWRITE   
3BCW          SBX   7  FX1  
3BXG          STEPWRITE 
3CC6          ADX   7  FX1  
3CWQ          EXIT  7  0
3DBB    #   
3DW2    #  THIS SUBROUTINE SEARCHES DOWN FGET BLOCK FOR AN ENTRY WHICH DOES NOT 
3F*L    #  HAVE A TAPE (I.E. THE TSN IS -IVE).  
3FT=    #  ON ENTRY,                           X4 IS S/R LINK.  
3G#W    #  ON EXIT, X2-> LOCATION (IN FGET BLOCK) WHERE TSN NEEDED (IF ANY).
3GSG    #              USES X0,X1 & X7.    NO COORDINATION. 
3H#6    #           EXITS+0 IF NO TAPE NEEDED : EXITS+1 IF TAPE NEEDED. 
3HRQ    #   
3J?B    TNEEDMT 
3JR2          MHUNTW   2,FILE,FGET  
3K=L ...      LDX   0  INCCOPIES(2)          [X0= NO OF MTS 
3KQ=          BZE   0  TNOFGET             [J IF NO MTS IN FGET (CAN HAPPEN IF  
3L9W                                       [   ABOUT TO ABANDON & OBLITERATE INC
3MNQ          ADN   2  FGETSER             [X2-> FIRST TSN  
3N8B    TMOREFGET   
3NN2          LDX   1  0(2)                [X1= NEXT TSN IN FGET
3P7L          BNG   1  TFGET               [J IF MT NEEDED HERE 
3PM=          ADN   2  FGETLEN             [UPDATE POINTER TO NEXT TSN  
3Q6W          BCT   0  TMOREFGET           [J IF MORE TSNS TO TEST  
3QLG    TNOFGET 
3R66          EXIT  4  0                   [NO MT NEEDED
3RKQ    TFGET   
3S5B          EXIT  4  1                   [MT NEEDED   
3SK2    #   
3T4L    #   
3T#Y ...#     THIS SUBROUTINE SEARCHES THE FDUCOM FOR A TSN SUPPLIED AS A   
3TK= ...#     PARAMETER TO THE DUMP COMMAND WHICH HAS NOT ALREADY BEEN TRIED
3TTJ ...#     X4 IS LINK
3W5W ...#     EXITS +0 IF NO TAPES AVAILABLE
3WB8 ...#     EXITS +1 IF TAPE AVAILABLE, ..X3-> TSN
3WLG ...TGIVENMT
3WWS ...      HUNTW    3,FI,FDUCOM  
3X76 ...      BNG   3  TFDUCOM             [ IF NO FDUCOM- CAN BE NO TAPES  
3XCD ...      LDX   0  FDUTSNCT(3)         [ NO OF TAPES
3XMQ ...      BZE   0  TFDUCOM             [ J IF NO TAPES  
3XY4 ...TMOREFDUCOM 
3Y8B ...      LDX   1  FDUTSN(3)
3YDN ...      BPZ   1  TISFDUCOM           [ FOUND A SUITABLE TAPE  
3YP2 ...      ADN   3  1
3Y^# ...      BCT   0  TMOREFDUCOM         [ TRY NEXT TAPE  
3^9L ...TFDUCOM 
3^FY ...      EXIT  4  0                   [ NO TAPES LEFT  
3^Q= ...                                   [** ***** ****   
422J ...TISFDUCOM   
42=W ...      EXIT  4  1                   [ FOUND A TAPE   
42H8 ...                                   [ ***** * ****   
42RG ...#   
433S ...#     THIS SUBROUTINE GETS A POINTER GETS A POINTER TO A SPERA  
43#6 ...# TAPE IN A FDUMPTAPES  
43JD ...
43SQ ...TFDUMPTAPES 
4454 ...      HUNTW    3,FI,FDUMPTAPES  
44*B ...      BNG   3  NOFDUMPTAPE        [ J IF NO FDUMPTAPES  
44KN ...      LDX   0  ALOGLEN(3)          [ OR IF NO SPARE TAPES   
44W2 ...      BZE   0  NOFDUMPTAPE        [ 
456# ...TFDUMP  
45BL ...      LDX   1  FDTTAPE(3)          [ NEXT TAPE  
45LY ...      BPZ   1  TISFDUMP            [ FOUND A SPARE TAPE 
45X= ...      ADN   3  1
467J ...      BCT   0  TFDUMP         [ TRY NEXT TAPES  
46CW ...NOFDUMPTAPE 
46N8 ...      EXIT  4  0                   [ NO TAPES LEFT  
46YG ...                                   [ ** ***** ****  
478S ...TISFDUMP
47F6 ...      EXIT  4  1                   [ FOUND A TAPE   
47PD ...                                   [ ***** * ****   
47^Q ...#     #     #  #                   #
48=4 ...#   
48GB ...#   
48QN ...#     THIS THE MAIN ENTRY POINT TO THE SEGMENT ( FROM INCSTART) 
4932 ...#     WE DECIDE IF WE HAVE ENOUGH TAPES , IF NOT WE TRY TO OBTAIN SOME  
49?# ...#     FROM SPECIFIED TAPES ,SPARE TAPES THEN POOL TAPES 
49HL ...X1INCTAPES  
49MR ...     BC       2,XBCDPOOL
49RY ...      SETNCORE  0,1,FI,FREJTAPES   [ SET UP AN EMPTY LIST OF CD'ED TAPES
4=4= ...      BRN      X1INC               [ JUMP INTO MAIN LOOP
4=#J ...MTCHECK 
4=JW ...      OPENINC  ,GENERAL            [ OPEN INCINDEX  
4=T8 ...X1INC   
4?5G ...      JBS      ZINSREC,,BDUMPAB    [ JUMP IF DUMP CANCELLED 
4?*S ...      CALL  4  OPENDUMPER          [ OPEN :DUMPER   
4?L6 ...      JBS      XCLOSE,,BDUMPAB             [ JUMP TO DELETE RECORD AND A
4?WD ...NEXTGIVEN   
4#6Q ...      CALL  4  TNEEDMT             [ SEE IF WE NEED ANY MORE TAPES  
4#C4 ...      BRN      XCLOSE              [ J IF EE HAVE ENOUGH
4#MB ...      CALL  4  TGIVENMT            [ SEE IF WE CAN USE ANY SPECIFIED TAP
4#XN ...      BRN      SPARETAPES          [ NO ... TRY USING SPARE TAPES   
4*82 ...      LDX   5  FDUTSN(3)           [ PICK UP SPARE   TAPE   
4*D# ...      BS       3,FDUTSNUSED        [ MARK AS USED IN FDUCOM 
4*NL ...      STO   5  0(2)                [ STICK IN FGET  
4*YY ...                                   [ CLEAR STATE WORD   
4B9= ...      STOZ     FGETSTATE-FGETSER(2) 
4BFJ ...      CALL  4  SERLOOK             [ FIND TAPE IN :DUMPER   
4BPW ...      BZE   3  SPARETAPES         [ JUMP IF TAPE DEADED 
4C28 ...      BS       3,BNUSEDUMP         [ ENSURE MARKED AS USED  
4C=G ...      BRN      NEXTGIVEN           [ SEE IF WE STILL NEED TAPES 
4CGS ...                                   [           **** 
4CR6 ...#     EITHER THERE ARE NO TAPES LEFT IN FDUCOM  
4D3D ...#     OR WE ARE NOT ALLOWED TO USE CURRENT TAPES
4D?Q ...SPARETAPES  
4DJ4 ...      HUNTW    3,FI,FDUCOM         [ GET FDUCOM IF ANY  
4DSB ...#     ***********************   ****************************************
4F4N ...      SEGENTRY  K80INCTAPES           [ NULLED BY ON
4F*2 ...      BRN      NUDTPLOFF           [ RESTORED BY OFF
4FK# ...#     THE FOLLOWING FEW LINES ARE INVOKED BY THE NEWDTPOOL MACRO
4FTL ...      BNG   3  XCLOSE              [ NO DU COMMAND SO USE POOL  
4G5Y ...      JBC      XCLOSE,3,BFDSPARE   [ USE POOL UNLESS DU SPARE   
4GB= ...NUDTPLOFF   
4GLJ ...      SEGENTRY  K81INCTAPES 
4GWW ...      BNG   3 SPARE2                [ IF NO FDUCOM WE CAN USE SPARE TAPE
4H78 ...      JBS      XCLOSE,3,BFDPOOL      [J IF WE HAVE BEEN TOLD TO UES POOL
4HCG ...SPARE2  
4HMS ...      CALL  4  SFDUMPTAPES         [ SET UP LIST OF SPARE DUMPTAPES 
4HY6 ...NEXTSPARE   
4J8D ...      CALL  4  TNEEDMT             [ DO WE STILL NEED MTS   
4JDQ ...      BRN      XCLOSE   
4JP4 ...      CALL  4  TFDUMPTAPES         [ GET A POINTER TO NEXT SPARE TAPE   
4J^B ...      BRN      XCLOSE                  [ NONE LEFT TRY POOL 
4K9N ...      LDX   5  FDTTAPE(3)          [ PICK UP TAPE   
4KG2 ...      STO   5  0(2)                [ STICK IT IN FGET   
4KQ# ...      STOZ  FGETSTATE-FGETSER(2)   [ CLEAR STATE WORD   
4L2L ...
4L=Y ...      BS       3,FDTTAPEUSED       [ M MARK AS USED IN FDTUMPTAPES  
4LH= ...      CALL  4  SERLOOK             [ SET USED BIT IN :DUMPER
4LRJ ...      CALL  4  TNEEDMT             [ ANY MORE TAPES EYT 
4M3W ...      BRN      XCLOSE              [ GOT ENUFF TAPES
4M#8 ...      BRN      NEXTSPARE           [ TRY AGAIN  
4MJG ...#   
4MSS ...#     POOL  
4N56 ...
4N*D ...#     ******************************************************************
4NKQ ...WAITCCDU                           [ DUMP HAS BEEN CANCELLED
4NW4 ...      OPENINC  ,GENERAL            [ OPEN INCINDEX  
4P6B ...      BRN      ZINSREC  
4PBW    XCLOSE  
4PWG          CLOSETOP                     [CLOSE :DUMPER   
4QB6          LDCT  0  #400 
4QTQ          ORS   0  AWORK2(2)
4R*B          ERS   0  AWORK2(2)           [ENSURE "FREE MT FOUND" BIT NOT SET  
4RT2    #   
4S#L    ZINSREC 
4SS=          WIND                         [POSITION INCINDEX AFTER LAST RECORD 
4T?W          LDCT  0  #200 
4TRG          ANDX  0  AWORK1(2)
4W?6          BZE   0  ZINS                [J IF NO REC. FOR THIS INCR. PREVIOUS
4WQQ                                       [                   INSERTED 
4X=B          DELETE                       [DELETE CURRENT REC. FOR THIS INCR.  
4XQ2    ZINS
4XT6 ...      JBCC     NOTCANCEL,,BDUMPAB      [ J IF DUMP NOT CANCELLED
4XY= ...      CLOSETOP  
4Y3B ...      UP
4Y6G ...NOTCANCEL   
4Y9L          LDCT  0  #200 
4YP=          ORS   0  AWORK1(2)           [SET "RECORD FOR THIS INCR. INSERTED"
4^8W          MHUNTW   3,FILE,FWB   
4^NG          MHUNTW   2,FILE,FGET  
5286 ...      LDX   0  AMTS(3)                   [X0= NO. OF TSNS TO MOVE   
53M2    ZTAPE   
546L          LDX   1  FGETSER(2)          [MOVE TSN FROM FGET BLOCK
54L=          STO   1  AMAG(3)             [   TO NEXT POSITION IN FWB  
555W          STOZ     AMAGSTATE(3)        [CLEAR TAPE STATE WORD   
55KG          ADN   2  FGETLEN             [UPDATE MODIFIERS IN FGET BLOCK  
5656          ADN   3  INCMAGLEN           [           & FWB
56JQ          BCT   0  ZTAPE               [J IF MORE TSNS TO MOVE  
574B          STEP  
57J2          INSERT                       [INSERT REC. FOR THIS INCR. AT END OF
583L                                       [INCINDEX - APPEND NOT ALLOWED FOR   
58H=                                       [   INDEXED SERIAL FILES.
592W    ZNOMTS  
59GG          CLOSETOP                     [CLOSE INCINDEX  
5=26 ...      CALL  4  TNEEDMT             [
5=FQ ...      BRN      YCHECK              [  J IF WE HAVE ENOUGH TAPES 
5#XW    POOL
5*54 ...      LDX   2  FX2  
5*== ...      JBS      NOPOOL,2,XBCDPOOL      [ J IF JUST CD'D POOL TAPE
5*CG          SETNCORE 10,2,FILE,FABSNB 
5*X6          ADN   2  A1   
5BBQ          ADN   1  USER 
5BWB          MOVE  1  10                  [MOVE :DUMPER.GEO3DUMPTAPE  TO FABSNB
5CB2          MONOUT   INCPOOL             [OUTPUT "DUMPER REQUIRES A POOL TAPE"
5DSW          GET                          [GET POOL TAPE NOW   
5F#G          MHUNT 1,FILE,FABSNB          [NOW LENGTH OF FABSNB = REC. HEAD +2 
5FS6          SMO      A1(1)
5G?Q          LDX   5  A1+1(1)             [X5= TSN OF TAPE JUST GOT
5GRB          FREECORE 1                   [FREE FABSNB 
5H?2 ...      TESTREP2 NOTAV,NOPOOL      [J IF CANTDO ON POOL TAPE REQUEST  
5HGS ...      TESTREP2 NODECKS,NOPOOL1     [NO DECKS AVAILABLE  
5HQL          CALL  4  OPENDUMPER          [OPEN :DUMPER IN GENERAL MODE
5J==          CALL  4  SERLOOK             [MARK DIR. ENTRY OF TAPE AS "USED BY 
5JPW          CLOSETOP                     [CLOSE :DUMPER   
5K9G ...      BZE   3  MTCHECK                 [J IF TAPE NOT ACTUALLY IN :DUMPE
5LNB          CALL  4  TNEEDMT             [FIND POSITON IN FGET OF REQUIRED TAP
5M82          BRN      NFGET               [GEOERR IF NO TAPE NEEDED
5MML          STO   5  0(2)                [INSERT TSN INTO FGET
5N7=          STOZ     FGETSTATE-FGETSER(2)[CLEAR STATE WORD
5NLW ...       BRN      MTCHECK       [ 
5P6G ...NOPOOL  
5PL6 ...      JBCS   MTCHECK,2,XBCDPOOL      [ J IF FIRST CD LOAD POOL  
5PTY ...NOPOOL1 
5Q5Q ...      BS     ,BDUMPAB               [ SIMULATE CC DU
5QKB ...      BRN    MTCHECK                [ BACK TO SEE IF ANY NEW DUMP TAPES 
5R52 ...#   
5SHW    #   
5T3G    [              THE DUMPER MAKES KNOWN ITS REQUIREMENTS TO THE SCHEDULER.
5TH6    [     THE TAPES TO BE DUMPED ON ARE MOVED FROM THE FILE/FINC BLOCK TO   
5W2Q    [     THE FILE/FGET BLOCK AND THE SCHEDULER WOKEN UP. THE SCHEDULER THEN
5WGB    [     POSITIONS THE MTS AND THEN WAKES UP THE DUMPER EACH TIME A TAPE   
5X22    [     IS POSITIONED.THE DUMPER THEN LOOKS TO SEE IF ALL TAPES ARE   
5XFL    [     POSITIONED AND IF NOT GOES BACK TO SLEEP. IF THE SCHEDULER FINDS  
5X^=    [     THAT A TAPE IS UNOBTAINABLE IT INFORMS THE DUMPER. THE DUMPER 
5YDW    [     THEN FINDS OUT WHETHER OR NOT DUMPING ON THE SAME NO OF TAPES IS  
5YYG    [     REQUIRED AND IF SO FINDS A NEW TAPE,THE FILE/FGET BLOCK BEING 
5^D6    [     ALTERED ACCORDINGLY.  
5^XQ    #   
62CB    REQMT   
62D* ...      JBS      WAITCCDU,,BDUMPAB  [ JUMP IF DUMP CANCELLED  
62F# ...      MHUNTW   1,FILE,FGET  
62H= ...      JBC      NPLL,,BPARALLEL     [FIRST PARAM ONLY IF PLL MODE
62K8 ...      LDN   2  XFILE               ["A FILES-ONLY INCR" 
62M6 ...      JBC      NREST,1,BINCGENRES  [J UNLESS RESTABLE   
62P4 ...      LDN   2  XREST               ["A RESTORABLE INCR" 
62R2 ...NREST   
62SY ...      MHUNTW   3,FILE,FQUAL        [MOVE PARAM INTO CONVENIENT  
62WW ...      LDN   3  A1(3)               [BLOCK   
62YS ...      ADX   2  FX1  
632Q ...      MOVE  2  6
634N ...      OUTPARN  23,A1,FILE,FQUAL    [OUTPUT IT   
636L ...      BRN      PARAM2   
638J ...NPLL  OUTNULL                      [NON PLL SO OUTPUT NULL 1ST PARAM
63=G ...PARAM2  
63=N ...#    DUMPER INTENDS TO DUMP %A ON MT%B %C   
63=W ...      MHUNTW  1,FILE,FWB            [ COPY OF NEW INC RECORD
63?4 ...      NAME     1,FILE,APROC         [ RENAMED APROC FOR OUTTSNS TO  
63?= ...      OUTTSNS                       [ OUTPUT LIST OF TSNS AS PARAMETER  
63?D ...      MHUNTW   1,FILE,APROC 
63?L ...      NAME     1,FILE,FWB          [ BACK TO FWB AGAIN  
6M8C ...#     MARK ALL TAPES AS REQUESTED   
6M9B ...      MHUNTW  3,FILE,FGET   
6M=* ...      LDX   1  INCCOPIES(3) 
6M?# ...NEXTREQ 
6M#? ...      BS    3,BFGETREQ  
6M*= ...      ADN   3  FGETLEN  
6MB9 ...      BCT   1  NEXTREQ  
6MC=          MONOUT   INCINTENT           [OUTPUT "DUMPER INTENDS TO DUMP ON MT
6MM4 ...      BC       2,XBCDPOOL     [ NOT JUST DONE CD LOAD POOL TAPE 
6MWW          BS       ,BMTSREQ           [SET "DUMPER TAPE REQUESTS NEED SERVIC
6NBG                                       [ MARKER FOR DUMP TAPE SCHEDULER 
6NW6          STARTACT RET                 [KICK DTS IF NECESSARY   
6P*Q    YFGOT   
6PKJ ...      JBS      WAITCCDU,,BDUMPAB  [ JUMP IF DUMP CANCELLED  
6PTB          COOR3 FGOTWAIT               [WAIT UNTIL SOME MORE TAPES POSITIONE
6Q*2                                       [ (IF WOKEN UP WITHOUT ANY TAPES HAVI
6QSL                                       [ REACHED A TERMINAL STATE)  
6R#=    #   
6RRW    YCHECK  
6S?G ...      MHUNTW   3,FILE,FGET  
6SR6          LDX   7  INCCOPIES(3)        [X7= NO. OF MTS DUMPING ON   
6T=Q ...      LDN   5  FGETSER            [OFFSET DOWN FGET 
6W=2          LDN   6  0                   [CLEAR MARKER WORD   
6WPL    YSTATE  
6X9=          SMO      5
6XNW          LDX   4  FGETSTATE-FGETSER(3)[X4= FGET STATE WORD FOR TAPE
6Y8G          BZE   4  YNEW                [J IF NOT NOTIFIED TO RETRIEVAL SYSTE
6Y=D ...#SKIP          JDUMPTW  
6Y#B ...(   
6YB# ...      SLL   4  5                   [GET BIT 5   
6YD= ...      BNG   4  YTAPETW             [BRANCH IF TAPE MARKED"TO BE TW'D"   
6YG8 ...      SMO      5                   [MODIFIER DOWN FGET  
6YJ6 ...      LDX   4  FGETSTATE-FGETSER(3)[RELOAD FGETSTATE WORD FOR TAPE  
6YL4 ...)   
6YN6          SLL   4  1
6^7Q          BNG   4  YUPMOD              [J IF TAPE POSITIONED
6^MB          SLL   4  1
7272          BNG   4  YTAPEUN             [J IF TAPE UNOBTAINABLE  
72LL          ORN   6  1                   [SET "TAPE NOT DEALT WITH" MARKER (RE
736=                                       [  SYSTEM MUST BE REQUESING OR   
73KW                                       [  POSITIONING TAPE) 
745G    YUPMOD  
74K6          ADN   5  FGETLEN             [UPDATE MOD DOWN FGET
754Q          BCT   7  YSTATE              [J IF MORE STATE WORDS TO INSPECT
75JB          BNG   6  REQMT               [J IF TO TELL RETRIEVAL SYSTEM ABOUT 
7642                                       [       SOME NEW TAPES   
76HL          SRC   6  1
773=          BPZ   6  YPOS                [J IF ALL TAPES SUCCESSFULLY POSITION
77GW          BRN      YFGOT               [GO & WAIT   
782G    YNEW
78G6          ORX   6  GSIGN               [SET "NEW TAPES TO TELL RETRIEVAL SYS
78^Q          BRN      YUPMOD              [       ABOUT" MARKER
79FB    #   
79H# ...#SKIP          JDUMPTW  
79K= ...(   
79M8 ...YTAPETW 
79P6 ...      LDN   4  #6467               [LOAD INDICATOR "TW" TO SHOW THAT
79R4 ...                                   [THIS TAPE IS MARKED "TO BE TW'D"
79T2 ...      BRN      YTAP1
79WY ...)   
79^2    YTAPEUN 
7=DL          SLL   4  1
7=ND ...YTAP1   
7=Y=          SMO      5
7?CW          LDX   6  0(3)                [X6= TSN OF OFFENDING TAPE   
7?XG          CONSERNO 6,ACOMMUNE1         [CONVERT TSN TO CHARS.   
7#C6          OUTPARAM ACOMMUNE1(2),ACOMMUNE2  [OUTPUT TSN AS PARAM.
7#WQ          LDN   1  MIN                 [SET "INAVAILABILITY" AS PARAMETER   
7*BB          BPZ   4  YNOHIST             [J IF NOT HISTORIC FAIL  
7*W2          LDN   1  MFAIL               [SET "FAILURE HISTORY" AS PARAMETER  
7B*L    YNOHIST 
7BC* ...#SKIP          JDUMPTW  
7BF4 ...(   
7BGR ...      SBN   4  #6467
7BJG ...      BNZ   4  YNOH2               [TAPE NOT MARKED TO BE TW'D  
7BL9 ...#              TAPE IS MARKED "TO BE TW'D"  
7BMY ...      LDN   1  MTW                 [SET "TW DUMP" AS PARAMETER  
7BPM ...YNOH2   
7BRB ...)   
7BT=          ADX   1  FX1  
7C#W          ADN   2  ACOMMUNE1
7CSG          MOVE  1  4                   [PUT 2ND PARAMETER IN ACT. BLOCK 
7D#6          OUTPARN  16,ACOMMUNE1        [OUTPUT INAVAILABILITY OR
7DRQ                                       [               FAILURE HISTORY  
7F?B          MONOUT   INCHIST             [OUTPUT "DUMPER= MT %A NOT RE-USED   
7FR2                                       [                   DUE TO %B"   
7FW8 ...#   ADD TSN TO LIST OF CD'ED TAPES  
7F^B ...      MHUNTW   1,FI,FREJTAPES   
7G4J ...      LDX   3  ALOGLEN(1)          [ INCREASE LENGTH BY 1   
7G7Q ...      ADN   3  1
7G=Y ...      ALTLENG  1,3,SFREJTAPES   
7GB6 ...      MHUNTW      3,FI,FREJTAPES
7GF# ...      SMO      ALOGLEN(3)          [ STORE TSN AT END OF LIST   
7GJG ...      STO   6  FRJTAPE-1(3)        [
7GMN ...#     ##################################################################
7GQW ...#   
7GW4 ...#     THE FOLLOWING FEW LINES ARE ALL THAT REMAIN OF INCCANT
7G^= ...#   
7H4D ...      LDX   7  5                   [ X5 IS POINTER DOWN FGET
7H7L ...      HUNTW    1,FILE,FINTER
7H=S ...      BNG   1  YNONECPL            [J IF NO RETRIEVABLE INCRS.  
7HB2 ...      LDX   4  AMTS(1)             [X4= NO. OF TAPES WITH LAST RETRIEVAB
7HF8 ...YSER
7HJB ...      BXE   6  AMAG(1),YRET        [J IF TAPE CANTDONE CONTAINS LAST RET
7HMJ ...      ADN   1  INCMAGLEN           [UPDATE MOD DOWN FINTER  
7HQQ ...      BCT   4  YSER                [J IF MORE TSNS TO TEST  
7HTY ...YNONECPL
7HX2 ...      OPENINC  ,GENERAL 
7HX= ...      STO   7  AWORK3(2)
7HXG ...      LDX   7  AWORK1(2)
7HXQ ...      STO   7  AWORK4(2)
7HY4 ...      STOZ     AWORK1(2)
7J28 ...      CALL  7  R1            [REMOVE "MT USED BY DUMPER" BIT FROM   
7J2P ...      LDX   7  AWORK4(2)
7J3= ...      STO   7  AWORK1(2)
7J3R ...      LDX   7  AWORK3(2)
7J4# ...                                   [DIR. ENTRY & ALSO SEARCH INCINDEX FO
7J7G ...                                   [SETTING THE TSN -IVE & MAGSTATE WORD
7J=N ...                                   [ZERO IF FOUND   
7J*W ...YRET
7JF4 ...      MHUNTW   3,FILE,FGET         [X3-> FGET BLOCK 
7JJ= ...      LDCT  0  #400 
7JMD ...      SMO      7                   [SET TSN -IVE IN FGET BLOCK TO SHOW N
7JQL ...      STO   0  0(3)                [   TAPE NOW PRESENT IN THIS ELEMENT 
7JTS ...                                   [WE LEAVE THE STATE WORD SET UP  
7J^2 ...                                   [SO AS TO STOP SCHED LOOKING AT  
7K48 ...                                   [OUR NEGATIVE TSN
7K7B ...      BRN      MTCHECK             [ TRY.TRY . TRY AGAIN
7K=J ...#   
7K*Q ...SFREJTAPES                         [ SUBROUTINE FOR ALTLENG 
7KDY ...      MHUNTW   2,FI,FREJTAPES   
7KJ6 ...      EXIT  1  0                   [
7KK5 ...#   
7KL4 ...#   
89DN ...YPOS
89F3 ...      MHUNTW   1,FILE,FGET  
89FB ...      LDX   3  INCCOPIES(1)        [NO OF MTS   
89FP ...      SLL   3  1                   [NO OF WORDS IN TSN LIST 
89G4 ...UNITNO  
89GC ...      SMO      3
89GQ ...      LDX   7  FGETSER-FGETLEN(1)   
89H5 ...      SMO      3
89HD ...      LDEX  6  FGETSTATE-FGETLEN(1) 
89HR ...      LDN   5  1                   [LENGTH OF MESSAGE PARAMS
89J6 ...      LDN   4  JPDTSN              [THE FIRST PARAM IS A TSN
89JF ...      LDN   0  7
89JS ...      OUTPACKX 0,5,4
89K7 ...      LDN   4  JPDNUMA             [THE SECOND THE UNIT NO. 
89KG ...      LDN   0  6
89KT ...      OUTPACKX 0,5,4
89L8 ...      MONOUT   ADUMPUNIT
89LH ...      MHUNTW   1,FILE,FGET  
89LW ...      SBN   3  FGETLEN  
89M9 ...      BNZ   3  UNITNO   
89MJ ...      UPPLUS   1                   [ ALL TAPES POSITIONED   
8=8=    NFGET   
8=MW    #SKI  K6INCTAPES
8?7G          GEOERR   BRIEFPM,INC FGET    [NO TAPE NEEDED WHEN THOUGHT DID 
8?M6    #   
8#6Q    NOBREAK 
8#LB    #SKI  K6INCTAPES
8*62          GEOERR   BRIEFPM,INCBREAK    [DUMPER CAN'T BE BROKEN-IN ON SINCE O
8*KL                                       [       SYSTEM-INITIATED JOB 
8B5=    #   
8BJW    #   
8C4G    X2INCTAPES  
8CJ6          CALL  4  OPENDUMPER          [OPEN :DUMPER IN GENERAL MODE
8D3Q    UP  
8DHB          UP
8F32    #   
8F=S ...#  SUBROUTINE R1
8FGL    #   
8G2=    #  MARK THE DIR. ENTRY FOR TAPE IN X6 AS "NOT USED BY DUMPER" (I.E. REMO
8GFW    #  B0 OF EINCLOOK) & IF IT IS MENTIONED IN INCINDEX (AS IT SHOULD BE,IN 
8G^G    #  INCR. NOT SUITABLE FOR RETRIEVING) SET B0 OF ITS TSN & ZEROISE ITS   
8HF6    #  MAGSTATE WORD. NEED TO SEARCH INCINDEX SINCE IF GEORGE BROKE WHEN ABO
8HYQ    #  TO DUMP INCR. N & UPON RESTART INCR. N+1 WAS ABANDONED & OBLITERATED,
8JDB    #  WOULD NEXT DUMP ON SAME TAPES AS IN INCR. N EVEN THOUGH THOSE NOT IN 
8JY2    #  'SUITABLE FOR RETRIEVING' INCR. WOULD NOT BE MARKED "USED BY DUMPER" 
8KCL    #  (BUG 3879 IN MK 7).  
8KX=    #  WE LOOK FOR TSN IN MORE INCINDEX RECORDS THAN WE STRICTLY SHOULD DO, 
8LBW    #  IT SHOULD NOT BE IN THESE OTHER RECORDS & ROUTINE IS ONLY RARELY ENTE
8LWG    #   
8P#L    X3INCTAPES                          [INCINDEX OPEN - ENTRY FROM INCSTART
8PS=          SETBIT   2,AWORK1(2)         [SET "INCINDEX OPEN" MARKER  
8Q?W          REWIND
8QF4 ...      CALL  7  R1   
8QL= ...      UP
8QRG    R1  
8R3# ...      SBX   7  FX1  
8R?6          LDX   5  6                   [X5= TSN 
8RQQ          CALL  4  OPENDUMPER          [OPEN :DUMPER IN GENERAL MODE
8RXY ...      STO   7  6
8S56 ...
8S=B          CALL  4  SERLOOK             [REMOVE "USED BY DUMPER" BIT FOR TAPE
8S?Y ...      LDX   7  6
8S*G ...      BZE   3  (GEOERR) 
8SDL ...      BC    3,BNUSEDUMP         [[ ENSURE USED BIT CLEAR
8SHQ ...#UNS IDCTRACE   
8SLW ...      TRACEVER     5,X3INCT 
8SQ2          CLOSETOP                     [CLOSE :DUMPER   
8T9L    RSTEP   
8TP=          STEP                         [NEXT RECORD IN INCINDEX 
8W8W          BZE   3  RZERO               [J IF END
8WNG          JBC   RSTEP,3,BINSUITRVR     [J IF INCR SUITABLE FOR RETRIEVING (T
8X86                                       [SHOULD NOT APPEAR IN SUCH INCRS, BUT
8XMQ                                       [IF IN INCINDEX TWICE (B 7351 IN MK7)
8Y7B          LDX   6  AMTSR(3)            [X6= NO. OF MTS IN RECORD
8YM2          BZE   6  RSTEP               [J IF NONE   
8^6L          LDN   4  0                   [CLEAR MOD DOWN RECORD   
8^L=    RNEXT   
925W          SMO      4
92KG          BXE   5  AMAGR(3),RFOUND     [J IF TSN FOUND  
9356          ADN   4  INCMAGLEN
93JQ          BCT   6  RNEXT               [J IF MORE TSNS TO LOOK AT   
944B          BRN      RSTEP
94J2    RFOUND  
94RS ...      STO   7  6
953L          CALL  7  STEPWRITE           [STEPWRITE INFORMATION   
95?D ...      LDX   7  6
95H=          LDCT  0  #400 
962W          SMO      4
96GG          ORS   0  AMAGR(3)            [SET TSN -IVE (I.E. "NO TSN PRES&NT")
9726          SMO      4
97FQ          STOZ     AMAGSTATER(3)       [CLEAR MAGSTATE  
97^B          BRN      RSTEP
98F2    RZERO   
98YL          BBS   2,AWORK1(2),REND       [J IF INCINDEX TO BE LEFT OPEN   
99D=          CLOSETOP  
99XW    REND
9==? ...      ADX   7  FX1  
9=JN ...      EXIT  7  0
9=X6    #   
9=X7 ...SFINDFDUMP                         [ SUBROUTINE FOR ALTLENG 
9=X8 ...      MHUNTW   2,FI,FDUMPTAPES  
9=X9 ...      EXIT  1  0
9=X= ...#   
9=X? ...#     THIS ENTRY POINT IS USED BY DUMP TAPES TO SET UP A LIST OF SPARE T
9=X# ...#   
9=X* ...#   
9=XB ...X4INCTAPES  
9=XC ...      CALL  4  OPENDUMPER          [ OPEN : DUMPER  
9=XD ...      CALL  4  SFDUMPTAPES         [ SET UP AND FILL THE LIST OF TAPES  
9=XF ...      CLOSETOP                     [ CLOSE  :DUMPER 
9=XG ...      UP                           [ UP UP AND AWAY 
9=XH ...#   
9=XJ ...#     THIS SUBROUTINE SETS UP THE LIST OF TAPES 
9=XK ...SFDUMPTAPES                        [
9=XL ...      SBX   4  FX1                 [ RELATIVISE LINK
9=XM ...      HUNTW    3,FI,FDUMPTAPES     [ IF A FDUMPTAPES DOES NOT   
9=XN ...      BPZ   3  NOFD                [ ALREADY EXIST SET ONE UP   
9=XP ...      SETNCORE  0,3,FI,FDUMPTAPES  [ EMPTY OF COURSE
9=XQ ...NOFD
9=XR ...      ALTLENGD  3,0,SFINDFDUMP     [ RESET LENGTH TO ZERO   
9=XS ...      REWIND                       [ :DUMPER
9=XT ...STEPSPARE   
9=XW ...      STEP  
9=XX ...      BZE   3  SPAREND  
9=XY ...      BWNZ      ERESN(3),STEPSPARE  
9=X^ ...      JBC      STEPSPARE,3,BNLIB
9=Y2 ...      JMBS     STEPSPARE,3,BNERASE,BNUSEDUMP
9=Y3 ...      BWNZ     EREELN(3),STEPSPARE  
9=Y4 ...      TESTNAMX  3,ELOC1N(3),MTNAME(1),STEPSPARE 
9=Y5 ...#     IF THERE IS A FREJTAPES  MAKE SORE THE TAPE IS NOT IN IT  
9=Y6 ...      LDX   5  ESERN(3)            [ PICK UP TSN
9=Y7 ...      HUNTW    2,FI,FREJTAPES      [
9=Y8 ...      BNG   2  NOFREJ              [ JUMP IF NO FREJTAPES   
9=Y9 ...      LDX   0  ALOGLEN(2)          [ J IF EMPTY FREJTAPES   
9=Y= ...      BZE   0  NOFREJ   
9=Y? ...NEXTFREJ
9=Y# ...      BXE   5  FRJTAPE(2),STEPSPARE  [ J IF THIS TAPE HAS BEEN CD'ED
9=Y* ...      ADN   2  1                   [ MOVE POINTER   
9=YB ...      BCT   0  NEXTFREJ            [ CHECK NEXT TAPE
9=YC ...NOFREJ  
9=YD ...      MHUNTW  3,FI,FDUMPTAPES      [ LENGTHEN   
9=YF ...      LDX   6  ALOGLEN(3)          [ THE FDUMPTAPE BY   
9=YG ...      ADN   6  2                   [ TWO WORDS  
9=YH ...      ALTLENG  3,6,SFINDFDUMP   
9=YJ ...      STEPAGAIN 
9=YK ...      MHUNTW   1,FI,FDUMPTAPES  
9=YL ...#   
9=YM ...      LDX   0  EWRITDAYN(3)        [ PICK UP DATE WWRITTEN  
9=YN ...      SBN   6  2                   [ FIND NO OF USED WORDS  
9=YP ...      BZE   6  NOWINSERT           [ JUMP IF NONE USED  
9=YQ ...NEXT
9=YR ...      SBN   6  2                   [ JUMP IF OFF START OF BLOCK 
9=YS ...      BNG   6  MOVETSNS 
9=YT ...      SMO      6                   [ JUMP IF NOT YET REACHED THE PLACE  
9=YW ...      BXL   0  FDTDATE(1),NEXT     [
9=YX ...#     FOUND THE POSITION FOR THE TAPE   
9=YY ...MOVETSNS
9=Y^ ...      LDX   0  ALOGLEN(1)          [ FIND THE NUMBER
9=^2 ...      SBX   0  6                   [ OF WORDS TO MOVE   
9=^3 ...      SBN   0  4
9=^4 ...      BZE   0  MOVENONE           [ JUMP IF NO WORDS TO MOVE
9=^5 ...      ADX   1  ALOGLEN(1)   
9=^6 ...      SBN   1  4
9=^7 ...NEXTWORD
9=^8 ...      LDX   2  FDTDATE(1)          [ MOVE THE WORD  
9=^9 ...      STO   2  FDTDATE+2(1) 
9=^= ...      SBN   1  1                   [ MOVE THE POINTERS  
9=^? ...      BCT   0  NEXTWORD 
9=^# ...MOVENONE
9=^* ...      ADN   6  2                   [ X6 POINTS TO POSN TO INSETR
9=^B ...NOWINSERT   
9=^C ...      MHUNTW   1,FI,FDUMPTAPES     [
9=^D ...#UNS IDCTRACE   
9=^F ...      TRACEVER   6,6
9=^G ...#UNS IDCTRACE   
9=^H ...      BLOCKTRACE   1,FDUMPFB
9=^J ...      LDX   0  ESERN(3)            [ PICK UP TSN
9=^K ...      SMO      6
9=^L ...      STO   0  FDTTAPE(1)          [ IN BLOCK   
9=^M ...      LDX   0  EWRITDAYN(3)        [ DATE LAST WRITTEN  
9=^N ...      SMO      6                   [
9=^P ...      STO   0  FDTDATE(1)          [ IN BLOCK   
9=^Q ...#UNS IDCTRACE   
9=^R ...      BLOCKTRACE   1,FDUMPTAP   
9=^S ...      BRN      STEPSPARE
9=^T ...SPAREND 
9=^W ...#     THE FDUMPTAPES CONSISTS OF TWO WORDS FOR  
9=^X ...#     EACH TAPE - WE HAVE TO SHORTEN IT 
9=^Y ...      MHUNTW   1,FI,FDUMPTAPES  
9=^^ ...      LDX   3  ALOGLEN(1)          [ LENGTH 
9?22 ...      BZE   3  NOSPARET 
9?23 ...      SRL   3  1                   [ NUMBER OF TAPES
9?24 ...      LDN   2  0                   [ MODIFIER TO TSN TO MOVE
9?25 ...NEXTM   
9?26 ...      SMO      2
9?27 ...      LDX   0  FDTTAPE(1)          [ PICK UP TSN
9?28 ...      STO   0  FDTTAPE(1)   
9?29 ...      ADN   2  1
9?2= ...      ADN   1  1                   [ INCREASE POINTERS  
9?2? ...      BCT   3  NEXTM               [ BACK FOR NEXT TAPE 
9?2# ...      MHUNTW   3,FI,FDUMPTAPES     [
9?2* ...      LDX   6  ALOGLEN(3)          [ LENGTH OF BLOCK
9?2B ...      SRL   6  1                   [ DIVIDED BY TWO IS NEW LENGTH   
9?2C ...      ALTLENG  3,6,SFINDFDUMP      [
9?2D ...NOSPARET
9?2F ...      ADX   4  FX1                 [
9?2G ...      EXIT  4  0
9?B7 ...#   
9?B? ...#     ******************************************************************
9?BC ...#   
9?BQ          MENDAREA 30,K99INCTAPES   
9?WB    #   
9#B2    #END
^^^^ ...37170752000200000000
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1