{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: INCTAPES867)}}
====== INCTAPES867 ======
(George Source)
**Macros used:** [[george:macro:ALTLENG|ALTLENG]], [[george:macro:ALTLENGD|ALTLENGD]], [[george:macro:BBS|BBS]], [[george:macro:BC|BC]], [[george:macro:BI|BI]], [[george:macro:BITDEFS|BITDEFS]], [[george:macro:BLOCKTRACE|BLOCKTRACE]], [[george:macro:BS|BS]], [[george:macro:BWNZ|BWNZ]], [[george:macro:BXE|BXE]], [[george:macro:BXL|BXL]], [[george:macro:BXU|BXU]], [[george:macro:CLOSETOP|CLOSETOP]], [[george:macro:CONSERNO|CONSERNO]], [[george:macro:COOR3|COOR3]], [[george:macro:DELETE|DELETE]], [[george:macro:DUMP|DUMP]], [[george:macro:FREECORE|FREECORE]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GET|GET]], [[george:macro:HUNTW|HUNTW]], [[george:macro:INSERT|INSERT]], [[george:macro:JBC|JBC]], [[george:macro:JBCC|JBCC]], [[george:macro:JBCS|JBCS]], [[george:macro:JBS|JBS]], [[george:macro:JMBS|JMBS]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MONOUT|MONOUT]], [[george:macro:MTCHECK|MTCHECK]], [[george:macro:NAME|NAME]], [[george:macro:OPEN|OPEN]], [[george:macro:OPENINC|OPENINC]], [[george:macro:OUTNULL|OUTNULL]], [[george:macro:OUTPACKX|OUTPACKX]], [[george:macro:OUTPARAM|OUTPARAM]], [[george:macro:OUTPARN|OUTPARN]], [[george:macro:OUTTSNS|OUTTSNS]], [[george:macro:REWIND|REWIND]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETBIT|SETBIT]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:STARTACT|STARTACT]], [[george:macro:STEP|STEP]], [[george:macro:STEPAGAIN|STEPAGAIN]], [[george:macro:STEPWRITE|STEPWRITE]], [[george:macro:TESTNAMX|TESTNAMX]], [[george:macro:TESTREP2|TESTREP2]], [[george:macro:TRACE|TRACE]], [[george:macro:TRACEVER|TRACEVER]], [[george:macro:UP|UP]], [[george:macro:UPPLUS|UPPLUS]], [[george:macro:WIND|WIND]]
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