{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: INCCHECK860)}} ====== INCCHECK860 ====== (George Source) **Macros used:** [[george:macro:ALTLEN|ALTLEN]], [[george:macro:BC|BC]], [[george:macro:BI|BI]], [[george:macro:BS|BS]], [[george:macro:BSXD|BSXD]], [[george:macro:BWNZ|BWNZ]], [[george:macro:BWZ|BWZ]], [[george:macro:BXE|BXE]], [[george:macro:BXGE|BXGE]], [[george:macro:BXU|BXU]], [[george:macro:CLOSETOP|CLOSETOP]], [[george:macro:DELETE|DELETE]], [[george:macro:DOWN|DOWN]], [[george:macro:FILEMOVE|FILEMOVE]], [[george:macro:FREECORE|FREECORE]], [[george:macro:FREETAB|FREETAB]], [[george:macro:GEOERR|GEOERR]], [[george:macro:JBC|JBC]], [[george:macro:JBS|JBS]], [[george:macro:JMBAC|JMBAC]], [[george:macro:MBS|MBS]], [[george:macro:MBSXD|MBSXD]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MONOUT|MONOUT]], [[george:macro:MONOUTX|MONOUTX]], [[george:macro:NAME|NAME]], [[george:macro:OPENINC|OPENINC]], [[george:macro:OPENSYS|OPENSYS]], [[george:macro:OUTBLOCN|OUTBLOCN]], [[george:macro:OUTPACK|OUTPACK]], [[george:macro:READAGAIN|READAGAIN]], [[george:macro:REPLACE|REPLACE]], [[george:macro:REWIND|REWIND]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SETUPTAB|SETUPTAB]], [[george:macro:STEP|STEP]], [[george:macro:STEPAGAIN|STEPAGAIN]], [[george:macro:STEPWRITE|STEPWRITE]], [[george:macro:TABSET|TABSET]], [[george:macro:TABULATE|TABULATE]], [[george:macro:TESTNAMX|TESTNAMX]], [[george:macro:TRACE|TRACE]], [[george:macro:UP|UP]] 22FL ... SEG INCCHECK,850,MIKE PUTNAM,INCDUMP 22^= # 23DW SEGENTRY K1INCCHECK,X1INCCHECK 23NN ... SEGENTRY K2INCCHECK,X2INCCHECK 23YG # 24D6 # ENTERED DURING BACKMAP IN EMS. 24XQ # CHECKS THAT :SYSTEM.INCINDEX & :DUMPER ARE COMPATIBLE. IF THEY ARE N 25CB # TAKES ACTION AS APPROPRIATE. 25JJ ...# BOTH X1 AND X2 ENTRIES ARE USED BUT AT DIFFERENT 25PQ ...# STAGES OF EMS 25X2 # 26BL # 26W= NAME 12HGEO3DUMPTAPE 27*W MPROC 12HGEO3PROCTAPE 27TG MBOT ANDN 0 #7777 [THIS 'OBEYED' IF JUMP ADDRESS IN B12 28*6 MTOP SRL 0 12 [THIS 'OBEYED' IF JUMP ADDRESS IN B0 28SQ MREM +INCREMOVE ["ENTRY FOR MT %A REMOVED FROM RECORD 29#B [ FOR INCREMENT %B" 29S2 MMTMARK +INCMTMARK ["ENTRY FOR MT %A IN RECORD FOR INCRE 2=?L [ %B MARKED 'NO TSN PRESENT'" 2=R= MMISS +INCMISS ["ENTRY FOR MT %A PRESENT IN RECORD F 2?=W [ INCREMENT %B BUT NOT IN :DUMPER" 2?QG MMARK +INCMARK ["MT %A NOT MARKED 'USED BY DUMPER' S 2#=6 [ CONTAINS INCREMENTS SUITABLE FOR 2#PQ [ RETRIEVING" 2*9B # 2*P2 # DECISION TABLE 2B8L # 2BN= MDECIDE +NC 2C7W #FID 0 11 +NA 2CMG +NA 2D76 #FID 0 11 +NB 2DLQ +ND 2F6B #FID 0 11 +NA 2FL2 +NE 2G5L #FID 0 11 +NA 2GK= # 2H4W # SUBROUTINES 2HJG # 2J46 # JUST TO STEPWRITE TO FILE OPEN AT DEPTH 0. STEPWRITE EXPANSION TOO 2JHQ # LARGE TO USE IT MORE THAN ONCE 2K3B # ON ENTRY, X3->RECORD BEING STEP-WRITTEN. S/R LINK IN X6 2KH2 # ON EXIT , X1=FX1, X2=FX2, X3->RECORD STEP-WRITTEN. COORS. USES X0. 2L2L # 2LG= STEPWRITE 2L^W SBX 6 FX1 2MFG STEPWRITE [REWRITE RECORD IN FILE AT DEPTH 0 2M^6 ADX 6 FX1 2NDQ EXIT 6 0 2NYB # 2PD2 # ASSEMBLES THE PARAMETERS OF A MON. FILE MESSAGE OF WHICH TSN IS 1ST 2PXL # PARAMETER & INCR. NO. 2ND PARAMETER AND OUTPUTS A SPECIFIED MESSAGE. 2QC= # ON ENTRY,X0= UNIVERSAL IDENTIFIER OF MESSAGE, X3-> CURRENT RECORD IN 2QWW # INCINDEX, X7= TSN OF MT. X6 IS LINK. 2RBG # ON EXIT ,X1=FX1, X2=FX2, X3-> CURRENT RECORD, X7=TSN. 2RW6 # COORS. USES X0, AWORK1. 2S*Q # 2STB MESS 2T*2 SBX 6 FX1 2TSL LDX 3 AINCNO-A1(3) [X3= INCR. NO. 2W#= SMO FX2 2WRW STO 0 AWORK1 [REMEMBER WHIFH MESSAGE (IN AWORK1) 2X?G OUTBLOCN 6 2XR6 OUTPACK 7,1,TSN [ TSN AS PARAMETER 2Y=Q OUTPACK 3,1,INCNUM [ INC.NO. AS PARAMETER 2YQB MONOUTX AWORK1(2) [OUTPUT APPROPRIATE MESSAGE 2^=2 [ TO CENTRAL OPS CONSOLE 2^PL STEPAGAIN [X3-> INCINDEX RECORD 329= ADX 6 FX1 32NW EXIT 6 0 338G # 33N6 # 347Q # --------------------------------------------------------------------- 34MB # 3572 # OPEN INCINDEX & :DUMPER IN GENERAL MODE & SET UP FINTER BLOCK. 35LL # FORMAT OF FILE/FINTER BLOCK :- 366= # 2-WORD ENTRIES FOR EACH TAPE IN :DUMPER CALLED GEO3DUMPTAPE. 36KW # 1ST WORD : TSN 375G # 2ND WORD : B0 TAPE MARKED 'USED' IN :DUMPER 37K6 # B1 TAPE MENTIONED IN INCINDEX BUT NOT MARKED 384Q # 'RELEASED' 38JB # B2 TAPE TO BE MARKED AS 'UNUSED' - MARKED AS 3942 # RELEASED IN INCINDEX 39HL # B3 TAPE IS A GEO3DUMPTAPE 3=3= # B4 TAPE IS A GEO3PROCTAPE 3=GW # B5 INSERT 'USED BY DUMPER' BIT (GEO3DUMPTAPE 3?2G # 3?G6 X1INCCHECK 3?^Q OPENINC ,GENERAL [OPEN INCINDEX 3#FB DOWN INCTAPES,2 [OPEN :DUMPER IN GENERAL MODE 3#^2 SETNCORE 0,2,FILE,FINTER [FINTER BLOCK READY FOR MT WORD PAIRS 3*DL [ FOR GEO3DUMPTAPES 3*Y= # 3BCW # GOES THROUGH :DUMPER PICKING OUT ALL TAPES CALLED GEO3DUMPTAPE & S 3BXG # UP AN ENTRY FOR THEM IN FILE/FINTER BLOCK . SETS B0 OF 2ND WORD IN 3CC6 # IF TAPE MARKED AS USED BY THE DUMPER 3CWQ # 3DBB PSTEP 3DW2 STEP [X3-> NEXT RECORD IN :DUMPER 3F*L BZE 3 PEND [J IF END OF :DUMPER 3FT= LDX 0 ERES-A1(3) 3G#W BNZ 0 PSTEP [J IF NOT NAME RECORD 3GSG LDX 4 ESER-A1(3) [X4= SERIAL NO. IF MT 3H#6 BZE 4 PSTEP [J IF NOT A MT 3HRQ TESTNAMX 3,NAME(1),ELOC1-A1(3),PNOTDUMP,2 3J?B [J IF NOT GEO3DUMPTAPE 3JR2 LDCT 5 #040 [SET GEO3DUMPTAPE MARKER 3K=L POK 3KQ= ORX 5 EINCLOOK-A1(3) [SET "BEING USED BY DUMPER" BIT IF SE 3L9W MHUNTW 3,FILE,FINTER 3LPG LDX 6 ALOGLEN(3) 3M96 ADN 6 2 3MNQ ALTLEN 3,6,FILE,FINTER [LENGTHEN FINTER BY 2 WORDS 3N8B MHUNTW 3,FILE,FINTER 3NN2 SMO 6 3P7L STO 4 A1-2(3) [INSERT TSN IN 1ST WORD OF PAIR IN FI 3PM= SMO 6 3Q6W STO 5 A1-1(3) [INSERT STATE OF TAPE INTO 2ND WORD 3QLG #SKI K6INCCHECK>199-199 3R66 ( 3RKQ TRACE 4,INCSERDU [TSN OF GEO3DUMPTAPE 3S5B TRACE 5,INCSERST [STATE OF TAPE (B0 IF USED BY DUMPER) 3SK2 ) 3T4L BRN PSTEP 3TJ= PNOTDUMP 3W3W TESTNAMX 3,MPROC(1),ELOC1-A1(3),PSTEP,2 3WHG [J IF NOT GEO3PROCTAPE EITHER 3X36 LDCT 5 #020 [SET GEO3PROCTAPE 3XGQ BRN POK 3Y2B PEND 3Y2T ...# 3Y3# ...# NOW WE OPEN :SYSTEM.SERIAL AND SET UP THE MTWRONG BITS 3Y3R ...# IN THE FINTER STATE WORD FOR EACH TAPE 3Y4= ...# 3Y4P ... OPENSYS ,SERIAL,READ 3Y58 ...SSTEP 3Y5M ... STEP [X3->NEXT SERIAL RECORD 3Y66 ... BZE 3 SEND [J IF EOF 3Y6K ... TESTNAMX 3,MDUMP(1),2(3),SSTEP,2 3Y74 ... [J IF NOT DUMPER TAPE 3Y7H ... LDX 4 1(3) [TSN OF TAPE 3Y82 ... MHUNTW 2,FILE,FINTER 3Y8F ... LDX 6 ALOGLEN(2) 3Y8Y ... SRL 6 1 [X6=NO OF FINTER ENTRIES 3Y9C ... BZE 6 SSTEP [J IF NONE 3Y9W ...SNEXT 3Y=* ... BXE 4 A1(2),SFOU [J IF TAPE FOUND IN FINTER 3Y=S ... ADN 2 2 [A1(2) IS NEXT TAPE TSN IN FINTER 3Y?? ... BCT 6 SNEXT [J IF MORE TSNS IN FINTER 3Y?Q ... BRN SSTEP [TAPE NOT IN FINTER 3Y#9 ...SFOU 3Y#N ... LDCT 0 #030 3Y*7 ... ANDX 0 5(3) [EXTRACT WRONGED BITS 3Y*L ... BZE 0 SSTEP [J IF NOT WRONGED 3YB5 ... SRL 0 18 [GET WRONGED BITS IN B22-23 3YBJ ... ORS 0 A1+1(2) [KEEP IN FINTER STATE WORD 3YC3 ... [STATE WORD 3YCG ... BRN SSTEP 3YC^ ...MDUMP 12HDUMPER 3YDD ...SEND 3YDX ... CLOSETOP [CLOSE SERIAL 3YG2 # 3Y^L # MOVE INCINDEX TO DEPTH 0 SO CAN STEPWRITE AT LEVEL 0 WHEN WANT TO 3^F= # CHANGE RECORD IN IT. 3^YW FILEMOVE 0,1 [MOVE INCINDEX TO DEPTH 0 , :DUMPER D 42DG STOZ AWORK2(2) [ZEROISE "INC. NO. IN PREVIOUS RECORD 42Y6 # 43CQ # 43XB # --------------------------------------------------------------------- 44C2 # 44WL # NOW GO THROUGH INCINDEX COMPARING THE TAPES MENTIONED & THEIR STATE W 45B= # TAPES IN FILE/FINTER BLOCK. 45TW # ACTION IS TAKEN ACCORDING TO THE FOLLOWING DECISION TABLE (ADDRESSES 46*G # BRANCH TO ARE SHOWN):- 46T6 # 47#Q # ----- :DUMPER ^ TAPE USED TAPE NOT USED TAPE ABSENT 47SB # ---- ^ 48#2 # INCINDEX --------^ 48RL # --------------------^------------------------------------------------ 49?= # IN OBSOLETE ^ NA NC NC 49QW # INCREMENT RECORD ^ 4==G # ^ 4=Q6 # IN OBSOLETE ^ 4?9Q # INCR. REC. & ^ NB NA NA 4?PB # MARKED 'RELEASED'^ 4#92 # ^ 4#NL # IN NON-OBS. INCR.^ 4*8= # SUITABLE FOR ^ NA NE NE 4*MW # RETRIEVING ^ 4B7G # ^ 4BM6 # IN NON-OBS. INCR.^ 4C6Q # NOT SUITABLE FOR ^ NA ND ND 4CLB # RETRIEVING ^ 4D62 # ^ 4DKL # 4F5= QSTEP 4FJW # READ NEXT INCINDEX RECORD 4G4G STEP [X3-> NEXT RECORD IN INCINDEX 4GJ6 BZE 3 QEND [J IF END OF INCINDEX 4H3Q LDEX 0 FRH(3) 4HHB SBN 0 AMAG-A1 4J32 BNG 0 QDEL [DELETE RECORD IF TOO SHORT & PUT OUT 4JGL [ MESSAGE (INCR. NO. COULD BE GARBL 4K2= LDX 0 AWORK2(2) 4KFW BXGE 0 AINCNO-A1(3),QWRONGORD [J IF INC. NOS. IN WRONG ORDER 4K^G LDX 0 AINCNO-A1(3) 4LF6 STO 0 AWORK2(2) [REMEMBER CURRENT INCR. NO. 4LYQ LDX 4 AMTS-A1(3) [X4= NO. OF TAPE ENTRIES IN RECORD 4MDB LDN 5 AMAG-A1 [X5= MOD. DOWN RECORD 4MY2 #SKI K6INCCHECK>199-199 4NCL ( 4NX= TRACE AINCNO-A1(3),INC INC [INCREMENT NO. 4PBW TRACE AINCSTATE-A1(3),INCSTATE [STATE OF INCREMENT 4PWG ) 4QB6 QNEXTTAPE 4QTQ # PICK UP THE TSN & STATE WORD FROM NEXT TAPE ENTRY IN INCINDEX RECORD 4R*B BZE 4 QCHECK [J IF NO MORE MT ENTRIES IN THIS RECO 4RT2 SBN 4 1 [REDUCE COUNT OF TAPES 4S#L SMO 5 4SS= LDX 7 0(3) [X7= TSN OF TAPE ENTRY 4T?W BPZ 7 REALTAPE [J IF NOT DUMMY ENTRY 4TRG JBC QNTAPE,3,BINSUITRVR [REMOVE ENTRY UNLESS NSUITRV 4W?6 BRN QMOD [IF NSUITRV,IGNORE IT 4WQQ REALTAPE 4X=B SMO 5 4XQ2 LDX 2 AMAGSTATE-AMAG(3) [STATE WORD OF MT ENTRY 4^8W TRACE 7,INC TSN [TSN OF MT ENTRY 4^NG TRACE 2,INCMTSTA [STATE WORD OF MT ENTRY 52MQ # 537B # NOW SEE IF THE TAPE IN X7 IS MENTIONED IN FILE/FINTER BLOCK (I.E. IN 53M2 # :DUMPER). 546L # IF IT IS PRESENT IN :DUMPER & MARKED 'USED', X2 IS SET TO THE ADDRESS 54L= # READY TO PICK UP THE ADDRESS IN THE TOP HALF OF THE REQUIRED 555W # IN THE DECISION TABLE. 55KG # IF IT IS NOT PRESENT OR IS NOT MARKED 'USED', X2 IS SET TO MBOT 5656 # READY TO PICK UP THE ADDRESS IN THE BOTTOM HALF OF THE REQUI 56JQ # ALSO SETS B1 (TAPE PRESENT IN INCINDEX & NOT IN THAT INCR. RECORD MAR 574B # 'RELEASED') OF STATE WORD FOR TAPE IN FILE/FINTER BLOC 57J2 # APPROPRIATE. 583L MHUNTW 1,FILE,FINTER 58H= LDX 6 ALOGLEN(1) 592W QNEXTTSN 59GG BZE 6 QNOTUSED [J IF TAPE NOT IN :DUMPER 5=26 SBN 6 2 5=FQ SMO 6 5=^B BXU 7 A1(1),QNEXTTSN [J IF ENTRY FOR TSN NOT YET FOUND 5?24 ... SMO FX2 5?2Q ... STO 4 AWORK4 [SAVE X4 OVER REUSE 5?3D ... SMO 6 5?46 ... LDEX 4 A1+1(1) [PICK UP WRONGED BITS 5?4S ... LDCT 0 #060 5?5G ... ANDX 0 2 [EXTRACT BITS FROM AMAGSTATE WORD 5?68 ... SRL 0 19 5?6W ... BXE 0 4,WREQ [J IF EQUIVALENT 5?7J ... CALL 6 STEPWRITE 5?8= ... SLL 4 19 5?8Y ... LDCT 0 #060 5?9L ... ERX 0 GMINUS1 [MASK OUT BITS IN REC 5?=# ... SMO 5 5??2 ... ANDS 0 AMAGSTATE-AMAG(3) 5??N ... SMO 5 5?#B ... ORS 4 AMAGSTATE-AMAG(3) [MAKE THEM EQUIVALENT 5?*4 ... LDX 4 AWORK4(2) [RESTORE SAVED X4 5?*Q ... BRN REALTAPE [LOOP BACK TO REFIND FINTER ENTRY 5?BD ...WREQ 5?C6 ... SMO FX2 5?CS ... LDX 4 AWORK4 [RESTORE SAVED X4 5?F2 SLC 2 2 5?YL BNG 2 QREL [J IF TAPE RELEASED 5#D= LDCT 0 #200 5#XW SMO 6 5*CG ORS 0 A1+1(1) [SET "MENTIONED IN INCINDEX" BIT IN T 5*X6 QREL 5BBQ SMO 6 5BWB LDX 0 A1+1(1) [X0= STATE OF TSN IN :DUMPER 5CB2 LDN 2 MTOP [OPTIONALLY SET TOP HALF OF DEC. WORD 5CTL BNG 0 QUSED [J IF TAPE USED 5D*= SLL 0 4 5DSW BNG 0 QUSED [J IF PROC TAPE (ALWAYS TREAT AS "USE 5F#G [ BY DUMPER" FOR DECISION TABLE 5FS6 QNOTUSED 5G?Q LDN 2 MBOT [NEED BOTTOM HALF OF DECISION TABLE W 5GRB QUSED 5H?2 # DECIDE WHICH WORD IN DECISION TABLE IS NEEDED & BRANCH TO THE ADDRESS 5HQL # THE APPROPRIATE HALF OF IT. 5J== LDN 1 0 [CLEAR MODIFIER DOWN DECISION TABLE 5JPW LDX 0 AINCSTATE-A1(3) 5K9G SLC 0 4 5KP6 SMO 5 5L8Q LDX 6 AMAGSTATE-AMAG(3) 5LNB SRC 6 7 5M82 BNG 6 QMTOBS [J IF TAPE IS MARKED AS OBSOLETE 5MML BPZ 0 QNOTOBS [J IF INCR. NOT OBSOLETE 5N7= QMTOBS 5NLW SLC 6 9 5P6G BPZ 6 QDEC [J IF TAPE NOT MARKED "RELEASED" IN I 5PL6 [ (WORD 0 OF DECISION TABLE) 5Q5Q ADN 1 1 [WORD 1 OF TABLE 5QKB BRN QDEC 5R52 QNOTOBS 5RJL ADN 1 2 5S4= SLC 0 1 5SHW BNG 0 QDEC [J IF NOT SUITABLE FOR RETRIEVING 5T3G [ (WORD 2 OF DECISION TABLE) 5TH6 ADN 1 1 [WORD 3 OF DECISION TABLE FOR RELIABL 5W2Q QDEC 5WGB SMO FX1 5X22 LDX 0 MDECIDE(1) [X0= REQUIRED WORD IN DECISION TABLE 5XFL SMO FX1 5X^= OBEY 0(2) [X0= ADDRESS TO BRANCH TO 5YDW ADX 0 FX1 5YYG EXIT 0 0 [GO TO ACT IN REQUIRED WAY 5^D6 # 5^XQ # HAVING DEALT WITH RECORD AS NECESSARY, IF ALL TAPES HAVE NOW BEEN REM 62CB # FROM THE RECORD, DELETE IT & OUTPUT A MESSAGE. 62X2 # 63BL QCHECK 63W= LDX 4 AMTS-A1(3) [X4= NO. OF TAPES IN RECORD 64*W BNZ 4 QSTEP [J IF TAPES STILL LEFT IN THIS RECORD 64TG QDEL 65*6 ... OUTPACK AINCNOR(3),1,INCNUM 65SQ ... MONOUT INCDELETED 66#B ... DELETE 67?L BRN QSTEP 67R= QWRONGORD 68=W GEOERR BRIEFPM,INCWRORD [INCINDEX RECORDS IN WRONG ORDER 68QG # 69=6 # 69PQ # 6=9B NA [TAPE IS OK 6=P2 #SKI K6INCCHECK>199-199 6?8L TRACE 7,INCTSNOK [TAPE IS OK - NOTHING TO DO 6?N= QMOD 6#7W ADN 5 INCMAGLEN [UPDATE MOD. DOWN MT LIST IN RECORD 6#MG BRN QNEXTTAPE 6*76 # 6*LQ NB 6B6B # TAPE NO LONGER TO BE MARKED 'USED' IN :DUMPER UNLESS IT HAS BEEN USED 6BL2 # AGAIN IN ANOTHER NON-OBSOLETE INCREMENT. 6C5L # 6CK= # SETS B2 OF STATE WORD FOR TAPE IN FILE/FINTER BLOCK, 6D4W # HAVING FOUND TAPE IS MARKED 'RELEASED' IN INCINDEX. 6DJG #SKI K6INCCHECK>199-199 6F46 TRACE 7,INCNUSED [TAPE TO BE MARKED NOT "USED" IN :DUM 6FHQ MHUNTW 1,FILE,FINTER 6G3B LDX 6 ALOGLEN(1) 6GH2 NBTSN 6H2L #SKI K6INCCHECK 6HG= BZE 6 NBGEOERR [J IF TSN ENTRY NOT IN FINTER BLOCK 6H^W [ (TSN PREVIOUSLY FOUND IN :DUM 6JFG SBN 6 2 [DECREASE MOD. IN FINTER BLOCK 6J^6 SMO 6 6KDQ BXU 7 A1(1),NBTSN [CONTINUE TO LOOK FOR TSN 6KYB LDCT 0 #100 6LD2 SMO 6 6LXL ORS 0 A1+1(1) [SET "RELEASED IN INCINDEX" BIT IN ST 6MC= [ WORD FOR TSN IN FINTER BLOCK 6MWW BRN QMOD 6NBG NBGEOERR 6NW6 #SKI K6INCCHECK 6P*Q GEOERR BRIEFPM,INCNOTSN [TSN ABSENT FROM FINTER BLOCK 6PTB # 6Q*2 NC 6QSL # REMOVE ENTRY FOR THIS MT FROM INCREMENT RECORD 6R#= # 6T=Q QNTAPE [ENTRY TO DELETE TAPE 6TQB [WITHOUT MESSAGE 6W=2 READAGAIN [READ RECORD FOR REPLACE 6WPL MHUNTW 3,FILE,FRB 6X9= NAME 3,FILE,FWB 6XNW LDX 6 A1+FRH(3) [X6= LENGTH OF RECORD 6Y8G SBN 6 INCMAGLEN 6YN6 STO 6 A1+FRH(3) [REDUCE RECORD HEADER BY INCMAGLEN 6^7Q LDN 0 1 6^MB SBS 0 AMTS(3) [REDUCE NO. OF TAPES BY 1 7272 LDN 2 A1(3) 72LL ADX 2 5 [X2-> ELEMENT IN FWB TO REMOVE 736= LDN 1 INCMAGLEN(2) 73KW SBX 6 5 [X6= LENGTH OF MOVE 745G BZE 6 ZEROMOVE [J IF ZERO 74K6 SMO 6 754Q MOVE 1 0 [OVERWRITE UNWANTED ELEMENT 75JB ZEROMOVE 7642 REPLACE [SHORTEN RECORD IN INCINDEX 76HL STEPAGAIN [X3-> CURRENT RECORD 773= BRN QNEXTTAPE [NO NEED TO ADD ON INCMAGLEN SINCE MO 77GW [ EVERYTHING BELOW UP 782G # 78G6 ND 78^Q # SET B0 OF TSN FOR THIS TAPE IN THIS RECORD OF INCINDEX - DUMPER WILL 79FB ...# LOOK FOR ANOTHER TAPE IN ITS PLACE. 7=DL CALL 6 STEPWRITE [ENSURE INFORMATION WRITTEN TO BS 7=Y= LDCT 0 #400 7?CW SMO 5 7?XG ORS 0 0(3) [SET B0 OF TSN WORD IN INCINDEX 7C#W BRN QMOD 7CSG # 7D#6 NE 7DRQ # TO DEAL WITH THIS WOULD BE QUITE INVOLVED & SHOULDN'T HAPPEN UNDER NO 7F?B # RUNNING & FUNCTIONING CONDITIONS. IT COULD HAPPEN HOWEVER THROUGH 7FR2 # MALFUNCTIONING OF THE SYSTEM. 7G=L # 7GQ= MHUNTW 1,FILE,FINTER [X1-> FINTER BLOCK 7H9W LDX 6 ALOGLEN(1) 7HPG NETSN 7J96 BZE 6 NEX [J IF NO MORE TSNS TO LOOK AT 7JNQ SBN 6 2 7K8B SMO 6 7KN2 BXU 7 A1(1),NETSN [J IF NOT FOUND REQUIRED MT 7L7L LDCT 0 #010 7LM= SMO 6 7M6W ORS 0 A1+1(1) [SET "USED BY DUMPER" MARKER NEEDS S 7MLG #SKI K6INCCHECK>99-99 7N66 TRACE 7,INCNOTUS [TAPE NOT MARKED "USED BY DUMPER" EVE 7NKQ [ THOUGH CONTAIN RETRIEVABLE INCRS. 7P5B BRN QMOD 7PK2 NEX 7Q4L #SKI K6INCCHECK>99-99 7QJ= TRACE 7,INCNOTPR [TAPE NOT PRESENT IN :DUMPER EVEN THO 7R3W [ CONTAINS RETRIEVABLE INCRS. 7RHG BRN QMOD 7S36 # 7SGQ QEND 7T2B CLOSETOP [CLOSE INCINDEX 7TG2 # 7T^L # 7WF= # --------------------------------------------------------------------- 7WYW # 7XDG ...# NOW GO THROUGH FILE/FINTER BLOCK & ALTER MT ENTRIES IN :DUMPER. 7XY6 ...# REMOVES 'USED' BIT (B0 OF EINCLOOK) OF DIR. ENTRY FOR TAPE IF 7^C2 # 1) MARKED 'RELEASED' IN INCINDEX & NOT MARKED ELSEWHERE IN IN 7^WL # AS NOT 'RELEASED', BUT MARKED 'USED' IN :DUMPER. 82B= # 2) MARKED USED IN :DUMPER, BUT NOT MENTIONED IN INCINDEX (EXC 82TW # PERHAPS AS 'RELEASED'). 83*G # 83T6 MHUNTW 1,FILE,FINTER 84#Q LDX 5 ALOGLEN(1) 84SB RNEXTTSN 85#2 BZE 5 REND [J IF ALL TSNS IN :DUMPER LOOKED AT 85RL SBN 5 2 86?= SMO 5 86QW LDX 0 A1+1(1) [X0= STATE OF TSNS 86WR ... LDCT 4 #010 872N ... ANDX 4 0 [J IF 'USED BY DUMPER' MARKER 876K ... BNZ 4 XSET [NEEDS SETTING 87=G SLC 0 1 87Q6 BNG 0 RNEXTTSN [J IF MENTIONED IN INCINDEX 889Q SLC 0 1 88PB BNG 0 RREM [J IF MARKED AS 'RELEASED' 8992 SRC 0 2 89NL BPZ 0 RNEXTTSN [J IF NOT USED 89YD ...XSET 8=8= SMO 5 8=MW LDX 7 A1(1) [X7= TSN TO BE MARKED AS NOT USED 8CJ6 REWIND [REWIND :DUMPER 8D3Q RSTEP 8DHB STEP [X3-> NEXT RECORD IN :DUMPER 8F32 #SKI K6INCCHECK 8FGL ( 8G2= BNZ 3 RNOTEND [J IF NOT END 8GFW RGEOERR 8G^G GEOERR BRIEFPM,INC NOMT [TAPE TO BE MARKED 'UNUSED' EITHER NO 8HF6 [ IN :DUMPER OR MARKED 'UNUSED' ALR 8HYQ RNOTEND 8JDB ) 8JY2 LDX 0 ERES-A1(3) 8KCL BNZ 0 RSTEP [J IF NOT NAME RECORD 8KX= BXU 7 ESER-A1(3),RSTEP [J IF NOT REQUIRED MT 8LBW CALL 6 STEPWRITE [ENSURE RECORD WRITTEN TO BS 8LLN ... BNZ 4 SETUSE [J TO SET 'USED BY DUMPER' BIT. 8LWG #SKI K6INCCHECK 8MB6 ( 8MTQ LDX 0 EINCLOOK-A1(3) 8N*B BPZ 0 RGEOERR [J IF NO 'USED' BIT PRESENT 8NT2 ) 8P4S ...SETUSE 8P#L LDX 0 GSIGN 8PS= ERS 0 EINCLOOK-A1(3) [REMOVE 'USED' BIT 8Q?W MHUNTW 1,FILE,FINTER 8QRG BRN RNEXTTSN 8R?6 REND 8RQQ FREECORE 1 [FREE FILE/FINTER 8S=B CLOSETOP [CLOSE :DUMPER 8SQ2 UP 8T9L RREM 8TP= SLC 0 9 8W8W BNG 0 RNEXTTSN [J IF CALLED GEO3PROCTAPE 8W8^ ... BRN (GEOERR) 8W94 ...# 8W97 ...# 8W9= ...# THE X2 ENTRY CARRIES OUT ANY UPDATING NECESSARY TO INCINDEX AS 8W9* ...# AS A RESULT OF A GENRES OR BREAK WHILE DUMPING. 8W9D ...# 8W9F ...THIRTYTHOU 30000 [VALUE PUT IN SIZE FIELDS FOR 8W9G ... [INCREMENTS WHICH WE CANNOT FULLY 8W9H ... [UPDATE 8W9J ...X2INCCHECK 8W9L ... OPENINC ,GENERAL [OPENINCINDEX 8W9P ... STOZ AWORK4(2) [ZERO 1ST COMPLETE INCR NO 8W9S ...RSTEP2 8W9X ... STEP 8W=2 ... BZE 3 REND2 [J IF END OF INCINDEX 8W=5 ... JBS RSTEP2,3,BIOBSR [J IF OBSOLETE 8W=8 ... LDN 0 #17 8W=? ... ANDX 0 AINCSTATER(3) [EXTRACT FORMAT NO 8W=B ... SBN 0 4 8W=F ... BPZ 0 NRED [J IF NO NEED TO REDUMP 8W=J ... CALL 6 STEPWRITE [ENSURE RECORD REWRITTEN 8W=M ... MBS 3,BIREDUMPR,BIDUMPROCR [MARK AS TO BE REDUMPED 8W=Q ...NRED 8W=T ... LDN 6 #4000 8W=Y ... ANDX 6 AINCSTATER(3) [X6=0 IF INCR. WAS WRONGED 8W?3 ... [X6=#4000 IF INCR. WAS AVAILABLE 8W?6 ... LDN 5 #4000 [SET OPTIONALLY "INCR. IS NOW AVAILAB 8W?9 ... LDX 4 AMTSR(3) [X4= NO. OF MTS IN THIS RECORD 8W?# ... BZE 4 RVERIF [J IF NONE 8W?C ... LDX 1 3 [X1->RECORD 8W?G ...RNEXT 8W?K ... JMBAC RVERIF,1,BMOPWRR,BMUSWRR [J IF TAPE NOT WRONGED 8W?N ... ADN 1 INCMAGLEN [UPDATE TAPE MODIFIER 8W?R ... BCT 4 RNEXT [J IF MORE MT STATE WORDS TO LOOK AT 8W?W ... BS ,BWRINC [SET WRONGED INCRS PRESENT BIT 8W?^ ... LDN 5 0 [SET "INCR. IS NOW WRONGED" 8W#4 ...RVERIF 8W#7 ... ERX 6 5 [DO WE NEED TO ALTER BIT 8W#= ... BZE 6 NFLIP [BIAVEST. J IF WE DONT 8W#* ... CALL 6 STEPWRITE 8W#D ... BI 3,BIAVESTR [INVERT STATE OF AVAILIBILITY 8W#H ... [VERIFIED BIT SO IT IS CORRECT 8W#L ... [CLEAR -WRONGED,SET-OTHERWISE 8W#P ...NFLIP 8W#S ... JBC NNRV,3,BINSUITRVR [J IF COMPLETED INCR 8W#X ... LDX 0 GINCTSN [NONZERO IF JUST DONE A GENRES 8W*2 ... BZE 0 NRESTORE [J IF HAVENT 8W*5 ... LDX 5 AINCNOR(3) [NO OF INCR 8W*8 ... MBSXD 6,BINCGENRES,BINCENDBAT [STATE WORD FOR GENRES INCR 8W*? ... BXE 5 JINCLAST,YGRINC [IF ITS NOT THE INC WE RESTORED FROM 8W*B ... BSXD 6,BINCENDBAT [COULD BE THE PARALLEL FILE INCR 8W*F ... [SO SET UP X6 ACCORDINGLY 8W*J ... JBC NUNFINGR,3,BIUNFINR [J IF NOT AN INCR PRODUCED IN 8W*M ... [PARALLEL WITH THE INC JUST RESTORED 8W*Q ...YGRINC 8W*T ... CALL 4 SETTAB [KEEP A TAB ON FILE POSN 8W*Y ... DOWN INCEND,3 [CARRY OUT UPDATING RELEVANT TO EMS 8WB3 ... CALL 4 UNSETTAB 8WB6 ... BRN NNRV [LOOP ROUND 8WB9 ... 8WB= ...NOTSTARTED 8WB# ...NUNFINGR 8WBC ... DELETE [SCRUB INCS BEING REDUMPED COS OF 8WBG ... [BREAK AS THEY WILL HAVE BEEN 8WBK ... [REDUMPED AS PART OF RESORED INC 8WBN ... BRN RSTEP2 8WBR ... 8WBW ...NNRV 8WB^ ... BWNZ AWORK4(2),RSTEP2 [J IF HAVE ALREADY FOUND 8WC2 ... STEPAGAIN 8WC4 ... LDX 0 AINCNOR(3) [1ST RVABLE INCR IN INCINDEX 8WC7 ... STO 0 AWORK4(2) [OTHERWISE THIS IS IT 8WC= ... BRN RSTEP2 8WC* ... 8WCD ...NRESTORE 8WCH ... JBC NUNFINNGR,3,BIUNFINR[J IF INCR NOT IN PROGRESS 8WCL ... [AT TIME OF BREAK 8WCM ... BWZ AINCDR(3),NOTSTARTED[THIS WORD CLEAR FOR UNFINISHED INC 8WCN ... [IMPLIES INCR NEVER STARTED, SO WE 8WCP ... [JUST DELETE THE RECORD. 8WCQ ... [THE OTHER INCCHECK SCAN WILL CLEAR 8WCR ... [ANY 'TAPE IN USE' BITS IN :DUMPER 8WCS ... [FOR TAPES NEWLY OBTAINED FOR THE 8WCT ... [ABORTED INC. 8WCW ... CALL 6 STEPWRITE 8WCX ...#UNS FPARTRES 8WCY ...#SKI 8WC^ ... BC 3,BIUNFINR [TAKE OUT BIT 8WD4 ...#UNS FPARTRES 8WD# ...( 8WF# ... LDX 0 THIRTYTHOU(1) [SET GUESS VALUE IN SIZE FIELDS 8WFJ ... STO 0 AINCSIZER(3) 8WFS ... STO 0 AINCFILESR(3) 8WFX ... LDX 5 AINCNOR(3) [SET UP INCNO AND STATE WORD FOR 8WG2 ... MBSXD 6,BINCEOT,BINCWRFAIL [A WRITE-FAILED INCR AND JUMP 8WG5 ... BRN YGRINC [TO COMPLETE THE RECORD'S UPDATING 8WG8 ... [ACCORDINGLY. 8WG# ...) 8WGJ ...NUNFINNGR 8WGS ...# WE USE TO CARRY OUT A COMPLICATED ACTION ON NSUITRV INCRS 8WH4 ...# BUT IN MARK 860 THESE MUST EITHER HAVE BEEN DEALT WITH BY A PREVIOUS 8WH# ...# LOAD OF MK 850 OR MUST HAVE THE UNFINISHED BIT SET, WHICH WILL 8WHJ ...# RESULT IN OUR TREATING THEM AS USABLE (SEE ABOVE). 8WHS ...# WE THEREFORE IGNORE THEM. 8WJ4 ...# 8WJ# ... BRN RSTEP2 8WJW ...# 8WJ^ ...# 8WK4 ...SETTAB 8WK7 ... SBX 4 FX1 8WK= ... SETUPTAB 8WK* ... TABSET 8WKD ... ADX 4 FX1 8WKH ... EXIT 4 0 8WKL ...# 8WKP ...UNSETTAB 8WKS ... SBX 4 FX1 8WKX ... TABULATE 8WL2 ... FREETAB 8WL5 ... ADX 4 FX1 8WL8 ... EXIT 4 0 8WL? ...# 8WLB ...REND2 8WLF ... CLOSETOP [CLOSE INCINDEX 8WLJ ... UP 8WLM ...NOBREAK 8WLQ ... GEOERR BRIEFPM,INCBREAK 8WLT ...# 8WLY ...# 8WNG # 8X86 MENDAREA 40,K99INCCHECK 8XMQ # 8Y7B #END ^^^^ ...07066512001300000000