INCSTART865
(George Source)
Macros used: ACROSS, ALTLENG, BACKSPACE, BBS, BBUS, BC, BITDEFS, BS, BSXD, BWNZ, BWZ, BXE, BXGE, BXU, CHAIN, CLOSETOP, DFSET, DOWN, FINDACTFB, FLIPS, FREECORE, GEOERR, HUNT2, HUNTW, INFORM, ISSUCOM, JBC, JBS, JENVNOT, JMBAC, LOCKC, LONGON, MBC, MBS, MENDAREA, MFREEW, MHUNTW, MONOUT, NAME, OPENINC, OUTBLOCN, OUTMOND, OUTNULL, OUTPACK, OUTPARAM, OUTPARN, READAGAIN, READBACK, SEG, SEGENTRY, SETBIT, SETNCORE, SETUPCORE, STEP, STEPAGAIN, STEPREWRITE, TESTREP2, TESTRPN2, TOPFCB, UNLOCK, WIND
- INCSTART865.txt
22FL ... SEG INCSTART,864, BACK ,INCDUMP 22^= # 23DW SEGENTRY K1INCSTART,X1INCSTART 23YG # 24D6 # CONSTANTS 24XQ # 25CB SEGENTRY INCNEWDUMP 25X2 +0 [SETTING OF INITIAL INCREMENT NO. +1 26BL [OPTIONALLY 0 (INCR.1), BUT CHANGEABL 26W= [BY NEWDUMP MACRO 27*W MPROCESSED 12HPROCESSED 27TG 12HOBSOLETE 285# ...STARTGRINC 12HSTARTGRINC 286W ...MASTER 12HMASTER 288D ...MLANCOMP 4HC1 28=2 ...NAMEINCR 12HGEORGE3DUMP 28=R ...XINCIND 12HINCINDEX 28?J ... BITDEFS AWORK1,0,MBFINAL,MBEMS,MBPGENRES 28*6 # 28SQ # SUBROUTINES:- 28T7 ...# 2=NW ...# 2=P? ...# 2=R= SFINDFP [LOCATES FINCPROC BLOCK FOR ALTLENG 2?=W MHUNTW 2,FILE,FINCPROC 2?QG EXIT 1 0 2#=6 # 2#PQ # 2#PY ...MADDFINCP [ADDS INCR NO IN X5 TO LIST BEING SET UP 2#Q6 ... [CALLED ON X4, LEAVES X3 -> FINCPROC 2#Q# ... SBX 4 FX1 2#QG ... SMO FX2 2#QN ... STO 4 AWORK4 2#QW ... MHUNTW 3,FILE,FINCPROC 2#R4 ... LDX 4 FINCPRH(3) [CURRENT LENGTH 2#R= ... ADN 4 1 2#RD ... ALTLENG 3,4,SFINDFP [ALTER LENTH 2#RL ... MHUNTW 3,FILE,FINCPROC 2#RS ... SMO 4 2#S2 ... STO 5 FINCPRH-1(3) [ADD INCR NO AT END 2#S8 ... STO 4 FINCPRH(3) [STORE UPDATED REC HEADER 2#SB ... LDX 4 AWORK4(2) [RESTORE LINK + EXIT 2#SJ ... ADX 4 FX1 2#SQ ... EXIT 4 0 2#SY ...# 2#T6 ...# 2#T# ...ZEROBATCH [EMPTIES INCRS IN BATCH LIST. CALLED ON X4 2#TG ... MHUNTW 3,FILE,FINCPROC 2#TN ... SBX 4 FX1 2#TW ... SMO FX2 2#W4 ... STO 4 AWORK4 [SAVE LINK 2#W= ... LDX 4 INCBATCH(3) [NUMBER IN LIST 2#WD ... BZE 4 XIT [J IF ALREADY EMPTY 2#WL ... SBS 4 FINCPRH(3) [REDUCE LENGTH OF BLOCK 2#WS ... STOZ INCBATCH(3) [ZERO COUNT 2#X2 ... LDX 4 FINCPRH(3) [GET NEW SIZE WANTED 2#X8 ... ALTLENG 3,4,SFINDFP [SHORTEN BLOCK 2#XB ...XIT 2#XJ ... SMO FX2 2#XQ ... LDX 4 AWORK4 2#XY ... ADX 4 FX1 2#Y6 ... EXIT 4 0 2#Y# ...# 2#YG ...# 2#YJ ...# 2#YL ...SFINDFQUAL [LOCATES FQUAL FOR LOCKC 2#YN ... MHUNTW 2,FILE,FQUAL 2#YQ ... EXIT 1 0 2#YS ...# 2#YW ...# 2#YY ...MARKAPIA [CALLED ON X4. ON ENTRY X3->FINC. MARKS THE APIA 2#^2 ... [ENTRY FOR ALL DECKS SHARING A CONTROL WITH THE 2#^4 ... [TAPES FOR THIS INCR AS FORBIDDEN TO USE SKIPS. 2#^5 ... [IT ALSO DOES A BACKSPACE AND READ ON ALL TAPES FOR 2#^6 ... [THE INCREMENT. IF THEY HAVE BEEN INTERFERED WITH 2#^7 ... [(I.E. UNLOADED AND RELOADED ) THEY WILL BE AT 2#^8 ... [LOAD POINT SO THE BACKSPACE WILL LEAVE THE INCR 2#^9 ... [MARKED AS FAILED. INCWRITE WILL SPOT THIS ON ENTRY 2#^= ... [ON EXIT X3-> THE SAME FINC 2#^# ...#UNS ANULLDUMP 2#^B ... EXIT 4 0 [ NULL SR IF ANULLDUMP ON 2#^D ... LDX 2 FX2 2#^J ... SBX 4 FX1 2#^N ... STO 4 AWORK1(2) [SAVE LINK 2#^S ... LDX 7 3 [KEEP COPY OF POINTER 2*22 ... LDN 4 0 [OFFSET DOWN FINC 2*28 ... LDX 5 INCCOPIES(3) [NO OF MTS TO BE CHECKED 2*2B ...NEXTACT 2*2J ... FINDACTFB 2,,ACTDOC,ADUMPT,,BPTR [X2-> NEXT DTA BACK ALONG ACT C 2*2Q ... LDX 0 ADTSN(2) [PICK UP THE TAPE IT CONTROLS 2*2Y ... SMO 4 2*36 ... BXU 0 FGETSER(3),NEXTACT [LOOP IF NOT THE DTA WE WANT 2*37 ... JENVNOT XNDME,DME 2*38 ...[ IF DME LOAD THE UNIT NO OF THE DECK AND THE MECH NO 2*39 ... LDN 0 #777 2*3= ... SMO CPPTR(2) 2*3? ... ANDX 0 JK52C 2*3# ... SMO FX2 2*3* ... STO 0 ACOMMUNE1 2*3B ... SMO CPPTR(2) 2*3C ... LDX 0 K56+1 2*3D ... SRL 0 18 2*3F ... SMO FX2 2*3G ... STO 0 ACOMMUNE2 2*3H ... BRN XDME 2*3J ...[ NOT DME SO LOAD THE CHANNEL NUMBER 2*3K ...XNDME 2*3L ... LDN 6 #7777 2*3M ... SMO CPPTR(2) 2*3N ... ANDX 6 K52 [EXTRACT CHANNEL NUMBER 2*3R ...XDME 2*3W ... LDX 2 JPTI+5 2*44 ... LDX 3 JPTI+6 2*4= ... SBX 3 2 [X3=NO OF DECKS ON MACHINE 2*4D ...RPTAPE 2*4L ... LDX 1 0(2) [X1-> DEVLIST ENTRY FOR DECK 2*4M ... JENVNOT XNDM2,DME 2*4N ...[ IF DME SUBTRACT THE UNIT NUMBERS 2*4P ... LDN 0 #777 2*4Q ... ANDX 0 JK52C(1) 2*4R ... BZE 0 NEXTDECK [FROM 866,IGNORE IF UNIT NO ZERO 2*4S ... SMO FX2 2*4T ... SBX 0 ACOMMUNE1 2*4W ...[ IF DME SUBTRACT MECH NUMBERS 2*4X ... LDX 6 K56+1(1) 2*4Y ... SRL 6 18 2*4^ ... SMO FX2 2*52 ... SBX 6 ACOMMUNE2 2*53 ... BRN XDME2 2*54 ...XNDM2 2*55 ... LDN 0 #7777 2*56 ... ANDX 0 K52(1) [PICK UP CHANNEL NO 2*57 ...XDME2 2*58 ... BXU 0 6,NEXTDECK [IGNORE IT IF NOT ON CHANNEL 2*5B ... DFSET 1,DUMP [SET THE SHARING WITH DUMPER BIT 2*5J ...NEXTDECK 2*5Q ... ADN 2 1 2*5Y ... BCT 3 RPTAPE [J IF MORE DECKS TO CHECK 2*66 ... LDX 3 7 [RESTORE POINTER TO FINC 2*6# ... ADN 4 FGETLEN [UPDATE MOD DOWN FINC 2*6G ... LDX 2 FX2 2*6N ... BCT 5 NEXTACT [LOOP IF MORE TAPES TO BE CHECKED 2*6P ... CHAIN 3,2 [RECHAIN FINC NEXT TO CPA 2*6Q ... LDN 0 3 2*6R ... STO 0 ACOMMUNE1(2) [SET UP BSP 2*6S ... DOWN MTDUMP,2 [DO BSP 2*6T ... STOZ ACOMMUNE1(2) [SET UP READ 2*6W ... LDN 0 20 [LENGTH OF TRANSFER 2*6X ... STO 0 ACOMMUNE2(2) 2*6Y ... MHUNTW 3,FILE,FQUAL 2*6^ ... LOCKC 3,SFINDFQUAL [LOCK BUFFER 2*72 ... MHUNTW 3,FILE,FQUAL 2*73 ... LDN 0 A1(3) 2*74 ... STO 0 ACOMMUNE3(2) [START ADDR OF TRANSFER 2*75 ... DOWN MTDUMP,2 [DO READ 2*76 ... UNLOCK 3 [UNLOCK FQUAL 2*77 ... MHUNTW 3,FILE,FINC 2*78 ... LDX 0 INCACT(3) 2*79 ... BZE 0 NOTPEVENT 2*7= ... MBS 3,BINCEOTS,BINCEOIS [TELL EOT CODE WHEN IT IS FINALLY 2*7? ... [ENTERED NOT TO WRITE END SENTS TO 2*7# ... [THIS INCR. AS INCEND IS CAREFUL NOT 2*7* ... [TO WRITE START SENTS EITHER 2*7B ... [TAPE IS ASSURED OF NOT BEING 2*7C ... [CORRUPTED. 2*7D ... OUTPACK INCNO(3),1,INCNUM 2*7F ... MONOUT INCTAMPER [A TAPE FOR INCR. N HAS EITHER JUST FA 2*7G ... [OR HAS BEEN TAPMPERED WITH SINCE IT WAS LO 2*7H ... MHUNTW 3,FILE,FINC 2*7J ...NOTPEVENT 2*7K ... LDX 4 AWORK1(2) [RESTORE LINK 2*7L ... ADX 4 FX1 2*7M ... EXIT 4 0 2*7N ...# 2*7P ...# 2*7Y ...# 2*87 ...# 2*8B ...# OUTPUTS A BLANK LINE TO THE MONFILE, CALLED ON X7, USES X4. 2*8K ...# COORDINATES. 2*8S ...# 2*93 ...OUTBLANK 2*9= ... SBX 7 FX1 2*9F ... LDN 4 #40 2*9N ... OUTMOND 0,ACOMMUNE1,4 2*9X ... ADX 7 FX1 2*=6 ... EXIT 7 0 2*=* ...# 2*=J ...# 2*=R ...# SETS UP A PARAMETER BLOCK READY FOR 'MONOUT' WITH INCR. NO. AS 1ST 2*?2 ...# PARAMETER AND SERIAL NOS. (ON WHICH INCR. IS TO BE DUMPED) AS 2ND. 2*?9 ...# ON ENTRY, RELEVANT FINC BLOCK IS CALLED FGET. X4 IS S/R LINK. 2*?D ...# ON EXIT, X1=FX1, X2=FX2. USES X0, X3, X5, X6 & X7. 2*?M ...SETMONOUT 2*?W ... SBX 4 FX1 2*#5 ... MHUNTW 3,FILE,FGET [X3-> FGET BLOCK 2*## ... LDX 5 INCCOPIES(3) [X5= NO. OF MTS TO DUMP ON 2*#H ... LDX 3 INCNO(3) [X3= NO. OF THIS INCREMENT 2*#Q ... OUTBLOCN 11 [GET PARAMETER BLOCK -SHOULD AMPLY CO 2*#^ ... [ MOST CASES 2**8 ... OUTPACK 3,1,INCNUM [INC.NO. TO PARAMETER BLOCK 2**C ... SBN 5 1 2**L ... BNZ 5 SPARAM [J IF >1 TAPE 2**T ... OUTNULL [NULL PARAMETER 2*B4 ... BRN PARASENT 2*B? ...SPARAM 2*BG ... LDCT 0 #630 2*BP ... STO 0 ACOMMUNE1(2) 2*BY ... OUTPARN 1,ACOMMUNE1 [MAKE MT PLURAL 2*C7 ...PARASENT 2*CB ... MHUNTW 3,FILE,FGET [X3-> FGET BLOCK 2*CK ... MHUNTW 2,FILE,FQUAL [X2-> FQUAL BLOCK (USED SIMPLY AS A B 2*CS ... [ HERE) 2*D3 ... STOZ 1 [ZEROISE CHAR. COUNT 2*D= ... LDX 5 INCCOPIES(3) [NO OF MTS IN FINC(FGET) 2*DF ...NXTSN 2*DN ... LDX 7 FGETSER(3) [X7 = NEXT TSN IN FGET 2*DX ... LDN 0 8 2*F6 ...NXOCT 2*F* ... LDN 6 0 2*FJ ... SLL 67 3 2*FR ... BNZ 6 NZERO [J IF DIGIT NON-ZERO 2*G2 ... BPZ 4 NONSIG [J IF DIGIT NON-SIGNIFICANT ZERO 2*G9 ...NZERO 2*GD ... ORX 4 GSIGN [ENSURE 'SIGNIFICANT DIGITS' MARKER S 2*GM ... DCH 6 A1(2) [PUT CHAR. INTO FQUAL BLOCK 2*GW ... BCHX 2 £ 2*H5 ... ADN 1 1 [UPDATE COUNT OF CHARS. IN PARAMETER 2*H# ...NONSIG 2*HH ... BCT 0 NXOCT [J IF MORE CHARS. TO EXTRACT 2*HQ ... ERX 4 GSIGN 2*H^ ... LDN 6 #20 2*J8 ... DCH 6 A1(2) [INSER3 SPACE CHA$R. 2*JC ... ADN 1 1 [UPDATE CHAR. COUNT 2*JL ... BCHX 2 £ 2*JT ... ADN 3 FGETLEN [UPDATE MOD DOWN FGET 2*K4 ... BCT 5 NXTSN [J IF MORE MTS IN FGET 2*K? ... OUTPARAM 1,A1,FILE,FQUAL [PUT TSNS IN OUTPUT PARAMETER BLOCK 2*KG ... ADX 4 FX1 2*KP ... EXIT 4 0 2*KY ...# 2*L7 ...# 2*LB ...# 2*LK ...# ********************* 2*LS ...# 2*M3 ...# MAIN PATH ENTERS HERE 2*M= ...# 2*MF ...# ********************* 2*MN ...# 2*MX ...# ENTERED FROM INCWAIT SEGMENT 2*P2 # ON ENTRY, :SYSTEM.INCINDEX IS OPEN IN GENERAL MODE 2B4P ...# 2BDD ...# EXPECTS X6 TO BE AS ON EXIT FROM INCWAIT (B0,1 POSSIBLY NONZERO 2BS7 ...# RESTALL ZERO) 2C7W # SETS UP AND INITIALISES THE BASIC BLOCKS USED BY DUMPER, NAMELY 2CMG ...# FILE FINC (ALIAS FGET) AND FINCPROC BLOCKS. 2D76 # 2DLQ X1INCSTART 2DQM ... SETBIT 1,CLONG1(2) [ SET BACKING STORE PRIVILEGE 2DQ^ ...#UNS AMTGR 2DR? ...( 2DRK ... BC ,BMTGR [ ENSURE BIT CLEAR 2DRX ... SEGENTRY K90INCSTART 2DS9 ... NULL 2DSH ...# 2DST ...# SET BIT FOR MTGR IN INCWORD 2DT7 ...# 2DTF ... BS ,BMTGR [ SET BIT FOR MTGR 2DTR ... SEGENTRY K91INCSTART 2DW5 ...) 2DWJ ... BC ,BFILEINC [ENSURE FILE INC SWITCH CLEAR 2F6B ... SETNCORE 20,3,FILE,FQUAL [BLOCK TO HOLD TAPE SENTS 2FL2 ... JBS PRLLSET,,BPARALLEL [IF HALF WAY THRU PLLL DUMP 2G5L ... [ACTION IS SIMPLE 2GK= ... HUNTW 3,FILE,FINCPROC 2H4W ... BPZ 3 YFP [J IF FINCPROC SET UP ALREADY 2HJG ... SETBIT 2,6 [SHOW FP NEWLY SET UP 2J46 ... SETNCORE INCLISTS-FINCPRH,2,FILE,FINCPROC[X2-> FINCPROC BLOCK 375G STOZ FINCNOBS(2) [ZEROISE "NO. OF STILL OBSOLETE INCRS 37K6 ... LDN 0 INCLISTS-FINCPRH 384Q STO 0 FINCPRH(2) [SET UP HEADER 387W ... STOZ INCRV(2) 38?2 ... STOZ FINCTRD(2) 38B6 ... STOZ INCUNFIN(2) 38F= ... STOZ INCBATCH(2) 38JB LDX 0 AFREE [ALLOW ENOUGH RVS TO USE AFREE/8 3942 SRL 0 8 [WORDS OF RED TAPE (32 WD FREQS) 39HL STO 0 FINCRVLIM(2) [STORE IN FINCPROC BLOCK 39KJ ... BRN SCAN1 [J TO SCAN INCINDEX 39MG ...YFP 39PD ...# 39RB ...# FINCPROC ALREADY SET UP. WE SIMPLY THROW AWAY THE INCS 39T# ...# IN BATCH LIST( IT GETS INITIALISED LATER) . 39X= ...# 39^8 ... CALL 4 ZEROBATCH 3=3= # 3=GW # READS THROUGH INCINDEX CHECKING RECORDS ARE IN ASCENDING INCR NO. ORD 3?2G # SETS UP LIST OF "PROCESSED BUT NOT OBSOLETE" INCRS IN FILE.FINCPROC 3?G6 ...# BLOCK (ALSO MON. FILE MESSAGE FOR EACH SUCH INCR.) UNLESS THIS LIST I 3?^Q ...# ALREADY SET UP (B2 OF X6 UNSET) 3#FB # 3#H# ...# ALSO WORK OUT HOW MANY END OF BATCH INCRS HAVE OCCURRED SINCE 3#K= ...# THE LAST RESTORABLE ONE. THIS IS USED TO HELP DECIDE WHETHER 3#M8 ...# TO HELP US DECIDE WHETHER TO ATTEMPT A RESTORABLE INCR. 3#P6 ...# SOME SITES INSIST ON A BATCH OR TWO OF NONREST INCS FIRST. 3#R4 ...# 3#S= ...SCAN1 3#TD ... LDX 2 FX2 3#WL ... STOZ AWORK1(2) [ZERO COUNT OF END BATCH INCS 3#XS ... STOZ AWORK2(2) 3#^2 STEP 3*DL STEP [X3-> NEXT INCREMENT RECORD 3*Y= ... BZE 3 UNFINLIST [J IF END OF INCINDEX 3BCW #SKI K6INCSTART 3BXG ( 3CC6 LDEX 0 FRH(3) 3CWQ SBN 0 AMAGR 3DBB BNG 0 SHORT [ GEOERR IF TOO SHORT A RECORD 3DW2 LDX 0 AWORK2(2) 3F*L BXGE 0 AINCNOR(3),SHORT [GEOERR IF INCR NOS. IN WRONG ORDER 3FT= LDX 0 AINCNOR(3) 3G#W STO 0 AWORK2(2) [REMEMBER CURRENT INCR NO. 3GSG ) 3H#6 JBC TREDUMP,3,BIDUMPROCR [J IF INCR NOT "DUMP PROCESSED" 3HRQ JBS TREDUMP,3,BIOBSR [J IF INCR OBSOLETE 3J?B ... BBUS 2,6,TREDUMP [J IF FINCPROC NOT NEWLY SET UP 3K=L LDX 5 AINCNOR(3) [X5= PROCESSED INCR NO. 3KQ= ... CALL 4 MADDFINCP [ADD INCR NO TO FINCPROC LIST 3N8B LDN 0 1 3NN2 ADS 0 FINCNOBS(3) [UPDATE NO. OF PROCESSED (BUT NOT OBS 3P7L ... ADS 0 FINCTRD(3) [UPDATE COUNT OF SUCH INCS 3PM= ... OUTPACK 5,1,INCNUM [OUTPUT INCR NO. AS PARAMETER 3Q6W ... NGN 4 3 [INITIALISE MOD. 3QLG ...SECOND 3R66 ... ADN 4 3 [UPDATE MODIFIER 3RKQ ... SMO 4 3S5B ... ADN 1 MPROCESSED 3SK2 ... ADN 2 ACOMMUNE1 3T4L ... MOVE 1 3 3TJ= ... OUTPARN 9,ACOMMUNE1 [OUTPUT "PROCESSED" OR "OBSOLETE" AS 3W3W ... BZE 4 SECOND [J IF 1ST TIME THROUGH 3WHG ... MONOUT INCNOTYET [OUTPUT TO MON. FILE: 3X36 ... ["INCREMENT %A PROCESSED BUT NOT YET 3XGQ ... [ OBSOL 3Y2B ... STEPAGAIN [X3-> DIR. ENTRY RECORD 3YG2 ...TREDUMP 3Y^L ... JMBAC STEP,3,BIENDBATR,BIGENRESR [J IF INC NOT RESTORABLE 3^F= ... [OR END OF BATCH 3^YW ... JBC NOTGR,3,BIGENRESR [J IF NOT RESTORABLE 42DG ... STOZ AWORK1(2) [RESET COUNT OF END BATCH INCS 42Y6 ... BRN STEP 43CQ ...NOTGR 43XB ... LDN 0 1 44C2 ... ADS 0 AWORK1(2) [INCREASE COUNT 44WL ... BRN STEP 48#2 SHORT 48RL #SKI K6INCSTART 49?= GEOERR BRIEFPM,INCWRORD [INCINDEX RECORD TOO SHORT OR IN WRON 49QW # 4=2N ...# IF THE FINCPROC IS NEWLY SET UP WE READ BACKWARDS TO THE LAST END 4==G ...# BATCH INCR RECORD SETTING UP A LIST OF INCOMPLETE INCREMENTS TO BE 4=G# ...# REDUMPED. 4=Q6 # 4?6F ...UNFINLIST 4?GS ... BBUS 2,6,YFP2 [J IF FINCPROC NOT NEWLY SET UP 4?X7 ...UNFINLOOP 4#?G ... READBACK [READ LAST RECORD 4#MT ... TESTREP2 FIRSTREC,YFP2 [J IF REACHED START OF INCINDEX 4*48 ... MHUNTW 3,FILE,FRB 4*DH ... JBS UNFINEND,3,BIENDBAT [J IF SCAN FINISHED 4*SW ... JBC NOTNRV,3,BINSUITRV [J IF NOT INCOMPLETE RECORD 4B99 ... LDX 5 AINCNO(3) [REMEMBER INCR NO 4BKJ ... CALL 4 MADDFINCP 4B^X ... LDN 0 1 4CB= ... ADS 0 INCUNFIN(3) [UPDATE COUNT OF UNFINISHED INCS 4CQK ...NOTNRV 4D6Y ... MFREEW FILE,FRB 4DH? ... BRN UNFINLOOP 4DXL ...UNFINEND 4F?^ ... MFREEW FILE,FRB 4FN# ...YFP2 4G4M ... LDX 7 INCNEWDUMP(1) [DEFAULT 1ST INC NO -1 4GF2 ... [IN CASE INCINDEX EMPTY 4GT* ... WIND [WIND TO END OF INCINDEX 4H9N ... STEP 4H*R ...#UNS FPARTRES 4HFW ... FLIPS 6,1 [CLEAR B1 OF X6 (SEE COMMENTIN NEXT P 4HL3 ... BRN RBACK 4J32 # 4JB7 ...# WE NOW PERFORM ANOTHER BACKWARDS READ SIMILAR TO THE ABOVE BUT 4JP# ...# COLLECTING THE NUMBERS OF INCREMENTS IN THE CURRENT BATCH. WE ALSO 4K4F ...# KEEP THE LAST RVABLE INCR RECORD AS A FILE FINTER BLOCK AND THE 4KCL ...# LAST RECORD (RVABLE OR NOT) AS A FILE FINTER1. 4KQR ...# WE KEEP IN X7 THE NUMBER OF THE HIGHEST INCREMENT FOR USE IN 4L5Y ...# CALCULATING ANY NEW INC NOS WE WANT. 4L73 ...#UNS FPARTRES 4L86 ...( 4L99 ...# WE LEAVE BIT 1 OF X6 SET IF THERE IS A PREVIOUS INCR IN THEBATCH THAT 4L=# ...# WAS NOT TERMINATED BY SYSTEM BREAK OR WRITE FAIL. THIS MEANSTHAT A 4L?C ...# NON-RESTRABLE INCR IS NECESSARY( EXCPET DURING A PLLLDUMP) 4L#G ...# OTHERWISE BIT 1 WILL BE LEFT CLEAR AND A RESTORABLE INCR WILL BE 4L*K ...# ATTEMPTED UNLESS WE ARE SUPPOSED TO PRODUCE SOME NONREST BATCHES 4LBN ...# FIRST. 4LCR ...) 4LF6 # 4LYQ RFREE 4MDB FREECORE 1 [FREE FRB 4MY2 RBACK 4NCL READBACK [READ PREVIOUS INCREMENT RECORD 4NX= TESTREP2 OK,REPOK,FIRSTREC,NBATCH [NO MORE SEARCHING IF ALREADY 4PBW [ POSITIONED AFTER 1ST 4PWG #SKI K6INCSTART 4QB6 GEOERR BRIEFPM,INCRBACK [UNEXPECTED REPLY FROM READBACK 4QTQ REPOK 4R*B MHUNTW 1,FILE,FRB 4RT2 HUNTW 3,FILE,FINTER1 [X3-> FINTER1 BLOCK (LAST INCR.) 4S#L BNG 3 SLAST [J IF LAST INCR. & NO FINTER1 FOR IT 4SS= LDX 4 AINCSTATE(1) [X4= STATE WORD 4T?W LDX 5 AINCNO(1) [X5= INCR. NO. OF THIS RECORD 4TRG JBS RFREE,1,BINSUITRV [J IF THIS INCR. NOT SUITABLE RETRIEV 4W?6 HUNTW 3,FILE,FINTER 4WQQ BNG 3 NLAST [J IF NO FINTER BLOCK 4X=B FREECORE 1 [FREE FRB 4XQ2 BRN NLASTCOMP 4Y9L SLAST 4YP= ... NAME 1,FILE,FINTER1 [LAST INCR. REC. IN FINTER1 BLOCK 4^8W LDX 7 AINCNO(1) [X7 = LAST INCR. NO. 4^NG READAGAIN [RE-READ LAST INCR. REC. 5286 BRN REPOK 52MQ NLAST 537B NAME 1,FILE,FINTER [LAST RETRIEVABLE INCR. IN FINTER BLO 53M2 NLASTCOMP 53RW ... BSXD 0,BIENDBAT 53YQ ... ANDX 0 4 545L ... BNZ 0 NBATCH [J IF END OF BATCH INCR 54J= ... BSXD 0,BIWFBREAK 54P6 ... ANDX 0 4 54W2 ... BNZ 0 WFBREAK [PRESENCE OF WF'ED OR BROKEN INCRS 552W ... [DOESNT INHIBIT ATTEMPTS AT RESTABLE 557Q ... [INCRS. 55#L ... SETBIT 1,6 [OTHERWISE MUST DUMP NONREST INC 55FG ... [(UNLESS PARALLEL DUMPING) 55G8 ...#UNS AMTGR 55GW ...( 55HJ ... JBC WFBREAK,,BMTGR 55J= ... FLIPS 6,1 [ IF MTGR I.E. IF WE ARE PREPARED 55JY ...[ TO PRODUCE A RESTORABLE BATCH THEN CLEAR BIT 1 OF X6 55KL ...) 55LB ...WFBREAK 55Y6 ... CALL 4 MADDFINCP [ ADD INC NO TO FINCPROC 5656 ... LDN 0 1 56JQ ... ADS 0 INCBATCH(3) [UPDATE COUNT OF INCS IN BATCH 5=FQ BRN RBACK 5=^B # 5?F2 ...# NOW WE HAVE TO DECIDE WHAT INCREMENTS NEED SETTING UP. 5?YL ...# 5#D= ...NBATCH 5#XW ... LDX 0 AWORK1(2) [COUNT OF END BATCH INCRS 5*CG ... SEGENTRY K98INCSTART [USED BY DUMPNODI TO MEND NEXT INST 5*X6 ... SBN 0 0 [SUBTRACT NO OF FILE ONLY BATCHES 5BBQ ... [THE INTALLATION WANTS FIRST 5BWB ... BNG 0 NRESTBLE [J IF NOT ENOUGH 5CB2 ... SEGENTRY K80INCSTART [PRLLDUMP NULLS NEXT INST 5CTL ... BRN NPLLLDUMP [J IF MACRO NOT IN 5D*= ...# 5DSW ...# START OF PARALLEL DUMP 5F#G ...# 5G?Q ... BS ,BPARALLEL [NOW IN PARALLEL MODE 5GRB ... SETBIT 1,6 [INDICATE WE WANT A FILE ONLY INC 5GXS ... DOWN INCSET,1 [SET IT UP 5H4= ... BRN YINCAB3 5H8N ... ADN 7 1 [INCREASE LATEST INC. NO. 5H*9 ...#UNS AMTGR 5HFM ... JBS YMTGR,,BMTGR [ CLEAR LIST OF INCS IN BATCH 5HHW ... CALL 4 ZEROBATCH [ ONLY IF NOT MTGR 5HL5 ...YMTGR 5HLK ...#UNS AMTGR 5HM5 ...( 5HM* ... JBC XNOADD,,BMTGR 5HMK ... JBC XNOADD,,BPARALLEL 5HN5 ... MHUNTW 3,FILE,FINCPROC [IF PLLDUMP & MTGR 5HNK ... LDN 0 1 [NO OF INCS IN BATCH 5HP5 ... ADS 0 INCBATCH(3) [MUST BE INCREASED 5HPK ...XNOADD 5HQ5 ...) 5HQL ... OPENINC ,GENERAL [REOPEN INCINDEX 5J== ...# 5JPW ...# RESTORABLE INCR (SIMPLE OR PLLL CASE) 5K9G ...# 5KP6 ...YRESTABLE 5L8Q ... FLIPS 6,1 [CLEAR BIT TO SHOW RSTABLE INC WANTED 5LB? ... DOWN INCSET,1 [SET IT UP 5LHS ... BRN YINCAB2 5LP* ...# 5LQ# ...# IF THE RESTORE TIME MACRO 'INCSTEND' IS INCLUDED AND WE ARE 5LR? ...# STARTING A POTENTIALLY RESTORABLE INCREMENT WE ISSUE THE J.D. MACRO 5LS= ...# 'STARTGRINC' 5LT9 ...# 5LW8 ... SEGENTRY K50INCSTART 5LX7 ... BRN NOWACROSS 5LX= ...#UNS AMTGR 5LX* ...( 5LXD ... JBC XMTGR2,,BMTGR 5LXH ... MHUNTW 3,FILE,FINCPROC 5LXL ... BWNZ INCBATCH(3),NOWACROSS [J. NOT FIRST INCR. OF BATCH 5LXP ...XMTGR2 5LXS ...) 5LY6 ... SETNCORE CPDATA-A1+3,2,ADATA,CREADL 5L^5 ... LDN 0 10 5M24 ... STO 0 A1(2) 5M33 ... ADN 1 STARTGRINC 5M42 ... ADN 2 CPDATA 5M4^ ... MOVE 1 3 5M5Y ... ISSUCOM NOWACROSS 5M6X ...# 5M82 ...NOWACROSS 5MCS ... DOWN INCDTA,1 [RECHAIN DTA'S IN FRONT DUMPER'S CPAT 5MML ... MHUNTW 3,FILE,FINC 5N7= ... CALL 4 MARKAPIA [BEFORE ENTERING INCEND WE SET 5NLW ... JBC NOT2,,BPARALLEL [THE 'DUMP' BIT IN THE APIA ENTRIES 5P6G ... HUNT2 3,FILE,FINC [FOR ALL TAPES SHARING A CLUSTER WITH 5PL6 ... CALL 4 MARKAPIA [DUMPER 5Q5Q ...NOT2 5Q5X ... BC ,BFILEINC 5Q64 ... BC 2,MBEMS [SHOW NOT X2 ENTRY 5Q69 ... OPENINC ,CLEAN [OPEN INCINDEX IN CLEAN MODE 5Q6B ... WIND 5Q6H ...YBACK [BACKSPACE TO LAST END OF BATCH 5Q6N ... [RECORD, THEN SCAN FORWARD AND 5Q6T ... [UPDATE THE NEW RECORDS, WRITING 5Q72 ... [START SENTS AS WE DO SO. 5Q77 ... BACKSPACE 5Q7# ... TESTRPN2 OK,YEB [IF START IF FILE, OK 5Q7F ... STEPAGAIN 5Q7L ... JBC YBACK,3,BIENDBATR [BACKSPACE AGAIN IF NOT THERE 5Q7R ...YEB 5Q7Y ... STEP [X3->REC 5Q85 ... BZE 3 STARTED [J IF ALL RECS UPDATED 5Q8= ... JBC YEB,3,BIUNFINR [J IF NOT A NEW RECORD 5Q8C ... JBS YEB,3,BIAVESTR 5Q8J ... MHUNTW 1,FILE,FINC 5Q8P ... LDX 0 INCNO(1) [INCR NO 5Q8W ... BXE 0 AINCNOR(3),YFINC [J IF THE 1ST FINC IS THE ONE 5Q93 ... HUNT2 1,FILE,FINC,1 [OTHERWISE IT MUST BE THE 2ND 5Q98 ... LDX 0 INCNO(1) 5Q9* ... BXU 0 AINCNOR(3),(GEOERR) 5Q9G ...YFINC NAME 1,FILE,FGET [RENAME IT TO DISTINGUISH IT 5Q9M ...# 5Q9S ...# WE HAVE LOCATED A NEW RECORD AND HAVE NAMED THE CORRESPONDING 5Q9^ ...# FINC A FGET TEMPORARILY FOR EASE OF IDENTIFICATION. 5Q=6 ...# 5Q=? ... STEPREWRITE [ENSURE INFORMATION SENT TO BS 5Q=D ... BS 3,BIAVESTR [SET 'AVAILABILITY OF INCR. VERIFIED' 5Q=K ... LDX 0 EDATE 5Q=Q ... STO 0 AINCDR(3) 5Q=X ... LDX 0 CLEANCT [SET DATE AND TIME OF DUMP 5Q?4 ... STO 0 AINCTR(3) 5Q?9 ... LDX 0 GMTNOW 5Q?B ... STO 0 AINCGMTR(3) [SET GMT (AT START) OF DUMP 5Q?H ...#UNS AMTGR 5Q?N ...( 5Q?T ... JBC NOTRESTBAT,,BMTGR [ JUMP IF NOT USING MTGR 5Q#2 ... MHUNTW 1,FILE,FINCPROC [ IF THERE ARE OTHER INCS IN 5Q#7 ... BWZ INCBATCH(1),NOTRESTBAT [ THE BATCH AND THIS MAY 5Q## ... MHUNTW 1,FILE,FGET [ BE THE LAST OF A RESTORABLE 5Q#F ... JBC NOTRESTBAT,1,BINCGENRES [ BATCH - SET BIRESTBAT 5Q#L ... BS 3,BIRESTBATR [ 5Q#R ...NOTRESTBAT 5Q#Y ...) 5Q*5 ... CALL 4 SETMONOUT [SET PARAMETER BLOCK FOR MONOUT 5Q*= ... INFORM 3,INCBEG,1 [OUTPUT 'START OF INCREMENT' MESSAGE 5Q*C ... [ TO ALL OPERATORS CONSOLES 5Q*J ... MHUNTW 3,FILE,FGET 5Q*P ... LDX 0 CLEANCT 5Q*W ... STO 0 INCBEGDUMP(3) [NOTE TIME DUMP STARTED 5QB3 ... JBC NOFERUS,3,BINCGENRES[FOR GENRES, DONT LIMIT MAKEDIRS 5QB8 ...# 5QB* ...# IF WE ARE STARTING A RESTORABLE INCREMENT WE SET UP A FI FERUS 5QBG ...# BLOCK ON THE END OF THE MISC CHAIN TO ACT AS AN INTERLOCK BETWEEN 5QBM ...# DUMPER,MAKEDIR AND ERASE TO PREVENT ANY POSSIBLITY OF TWO DIRS 5QBS ...# WITH THE SAME USERNAME BEING DUMPED IN ONE INCR. 5QB^ ... 5QC6 ...# WE ALSO CLEAR BITS BNOWD AND BTOTD IN FIXED CORE. 5QC? ... 5QCD ... MBC ,BNOWD,BTOTD 5QCK ... SETNCORE FERUSER-FERUSRH,3,FI,FERUS [SET UP FI/ FERUS BLOCK 5QCQ ... LDN 0 FERUSER-FERUSRH 5QCX ... STO 0 FERUSRH(3) [SET UP LOG LEN IN RH 5QD4 ... STOZ FERUSNUM(3) [INIT NO OF ENTRIES 5QD9 ... CHAIN 3,BMISC+1 [CHAIN ON END OF MISC CHAIN 5QDB ... BS ,BFERUS [SET FERUS EXISTS BIT 5QDH ...NOFERUS 5QDN ...# 5QDT ...# NEXT WE SET UP AND WRITE THE START OF INCREMENT SENTINEL 5QF2 ...# 5QF7 ... MHUNTW 3,FILE,FQUAL [X3-> QUALIFIER BLOCK 5QF# ... STOZ ESEN1(3) 5QFF ... LDN 4 ESEN1(3) [ZEROISE ALL WORDS EXCEPT ESENTYP 5QFL ... LDN 5 ESEN1+1(3) 5QFR ... MOVE 4 18 5QFY ... LDN 0 6 5QG5 ... STO 0 ESENTYP(3) [SET UP THAT START OF SUBFILE SENT. 5QG= ... LDX 1 FX1 5QGC ... LDN 4 NAMEINCR(1) 5QGJ ... LDN 5 ESENLOC1(3) 5QGP ... MOVE 4 3 [SET UP INCREMENT NAME 5QGW ... LDX 0 GVERSION 5QH3 ... STO 0 ESENRL(3) [MARK/ISSUE OF GEORGE IN WHICH INCR. 5QH8 ... LDX 0 GMTNOW 5QH* ... STO 0 ESEN10(3) [SET "GEORGE MEAN TIME" 5QHG ... LDCT 0 #200 [SET "START OF INCR. SENT." BIT 5QHM ... ORN 0 #100 [FORMAT VERSION NO.=2 IN B15-18 5QHS ... STO 0 ESENB(3) 5QH^ ... LDX 0 MLANCOMP(1) 5QJ6 ... STO 0 ESENLAN(3) [SET LANGUAGE OF S/F AS COMPOSITE 5QJ? ... MHUNTW 1,FILE,FGET 5QJD ... NAME 1,FILE,FINC [NAME IT BACK 5QJK ... LDX 0 INCNO(1) 5QJQ ... STO 0 ESENFG(3) [SET UP INCR. NO. IN QUAL. BLOCK 5QJX ... LDX 0 INCACT(1) 5QK4 ... BNZ 0 YEB [DONT WRITE TO TAPE IF FAILED OR MALP 5QK9 ... CHAIN 1,2 [CHAIN FINC TO CPAT FOR EFFICIENCY 5QKB ... DOWN INCMON,3 [WRITE A START SENTINEL 5QKH ... BRN YEB [LOOP UNTIL ALL NEW RECS UPDATED 5QKN ...# 5QKT ...# ALL INCREMENTS ARE NOW OFFICIALY 'STARTED'. WE NOW FINISH OUR 5QL2 ...# PREPARATIONS AND GET ON WITH THE DUMP. 5QL7 ...# 5QL# ...# A FLOCNB AND CREADL ARE USED BY THE DUMPING CODE 5QLF ...# 5QLL ...STARTED 5QLR ... CLOSETOP [INCINDEX 5QLY ... SETNCORE 6,2,FILE,FLOCNB [SET UP 6 WORD FLOCNB 5QM5 ... SETNCORE CPDATA-A1+21,2,ADATA,CREADL [SET UP BLOCK FOR OUTMONS 5QM= ... JBC NPL2,,BPARALLEL [THE FOLLOWING IS ONLY NEEDED 5QMC ... [DURING PARALLEL DUMPS 5QMJ ...# 5QMP ...# DURING A PARALLEL DUMP THE FINC FOR THE RESTORABLE INCR MUST 5QMW ...# BE NEXT TO THE CPAT. IN ADDITION, WE NEED A FINCCOPY 5QN3 ...# BLOCK TO DUMP THE FINC BLOCK INTO UDER CERTAIN CIRCS 5QN8 ...# 5QN* ... MHUNTW 3,FILE,FINC 5QNG ... JBS YGRFINC,3,BINCGENRES[IS FINC NEXT TO CPAT RESORABLE 5QNM ... HUNT2 3,FILE,FINC,3 [IF NOT FIND AND RECHAIN THE REST 5QNS ... CHAIN 3,2 [FINC. 5QN^ ...YGRFINC 5QP6 ... LDX 4 ALOGLEN(3) 5QP? ... SETUPCORE 4,3,FI,FINCCOPY 5QPD ...# 5QPK ...# ALSO IN PARALLEL MODE THERE MAY BE A FABSNB WHICH IS TO BE 5QPQ ...# USED LEFT OVER FROM APREVIOUS ENTRY TO INCEND. IF SO 5QPX ...# IT WILL BE CALLED A FI FDUMPFAB BLOCK. 5QQ4 ...# 5QQ9 ... HUNTW 3,FI,FDUMPFAB [IF IN PARALLEL AND FABSNB SET UP 5QQB ... BNG 3 NPL2 [DONT SET UP ANOTHER 5QQH ... NAME 3,FILE,FABSNB [RENAME IT FOR REUSE 5QQN ... BRN YFBALREADY 5QQT ...NPL2 5QR2 ... SETNCORE 4,2,FILE,FABSNB [SET UP INITIAL FABSNB WITH MASTER 5QR7 ... LDN 0 4 5QR# ... STO 0 A1(2) 5QRF ... LDN 0 MASTER(1) 5QRL ... LDN 1 A1+1(2) 5QRR ... MOVE 0 3 5QRY ...YFBALREADY 5QS5 ... MHUNTW 3,FILE,FINC 5QS= ...#UNS AMTGR 5QSC ...( 5QSJ ... JBC NOTPGR,3,BINCGENRES [ IF POTENTIALLY RESTORABLE 5QSP ... BS FX2,MBPGENRES [ SET BIT 5QSW ...NOTPGR 5QT3 ...) 5QT8 ... JBC NOTOTAL,3,BINCTOTD [J IF NOT TOTAL DUMP 5QT* ... MONOUT INCTOT 5QTG ...NOTOTAL 5QTM ... CALL 7 OUTBLANK [BLANK LINE 5QTS ... MONOUT INCMON1 [OUTPUT HEADINGS TO 5QT^ ... MONOUT INCMON2 [ MON. FILE 5QW6 ... CALL 7 OUTBLANK [BLANK LINE 5QW? ... LONGON ASTTDUMP [WAKE ACTS WAITING FOR START OF INCR 5QWD ...#UNS FNSAD 5QWK ...( 5QWQ ... SETNCORE 4,1,FI,FDUMPCOM [ SET UP FDUMPCOM 5QWX ... BC 1,BFDUMPCOM [ CLEAR BIT AND 5QX4 ... BS ,BDUMPING [ SHOW DUMPING 5QX9 ... CHAIN 1,BMISC+1 [ AND CHAIN AT END OF MISC CHAIN 5QXB ... SETNCORE 5,1,FI,INDEXCHK 5QXH ...# BLOCK FOR CHECKING DIRECTORY 5QXN ...) 5QXT ...# 5QY2 ...# AT LAST WE GET ROUND TO DOING SOME DUMPING. 5QY7 ...# 5QY# ... ACROSS INCWRITE,1 [DUMP AN INCREMENT 5R52 ...# 5RJL ...# SIMPLE CASE, ENOUGH END BATCH INCRS PRODUCED 5S4= ...# 5S#4 ... SEGENTRY K81INCSTART [USED BY 'PRLLDUMP OFF' 5SHW ...NPLLLDUMP 5SL^ ...# 5SN2 ...# IF THERE IS AN INCR IN THE BATCH THAT WAS NOT TERMINATED BY FAIL 5SP3 ...# OR BREAK A NON-RESTORABLE INCR IS NECESSARY. OTHERWISE WE CLEAR THE 5SQ4 ...# LIST OF PREVIOUS INCRS IN THE BATCH AND ATTEMPT A RESTABLE INCR. 5SR5 ...# 5SR9 ...#UNS AMTGR 5SR* ...( 5SRF ...# UNLESS WE ARE PREPARED TO PRODUCE A RESTORABLE BATCH OF 5SRK ...# INCREMENTS , CLEAR THE LIST OF INCREMENTS IN THE BATCH 5SRP ...# OTHERWISE THE BATCH IS VITAL !*!*!*!*!*!*!*!*!*!*!*! 5SRT ... JBS YRESTABLE,,BMTGR [ PRODUCE A 'RESTORABLE' INC. 5SR^ ...) 5SS6 BBS 1,6,NRESTBLE [ JUMP IF EOT IN PREVIOUS POT GEN RES I 5ST7 ... CALL 4 ZEROBATCH [CLEAR INCR BATCH LIST 5SW8 ... BRN YRESTABLE 5X22 ...NRESTBLE 5XFL ... SETBIT 1,6 [SHOW FILE ONLY INC WANTED 5XS3 ... DOWN INCSET,1 [SET IT UP 5Y6D ... BRN YINCAB3 5YDW ... BRN NOWACROSS 5YYG ...# 5^D6 ...# 5^XQ ...# SETTING UP SECOND OR LATER FILE INCR OF A PARALLEL DUMP 62CB ...# 62X2 ...PRLLSET 63BL ... WIND [POSITION AT END OF INCINDEX 63W= ... STEPAGAIN [GET LAST RECORD 64*W ... LDX 7 AINCNOR(3) [PICK UP ITS INCR NO 64TG ... BRN NRESTBLE [AND SET UP A NEW FILEINCR 65*6 ...# 65SQ ...YINCAB2 66#B ... JBS PRLLSET,,BPARALLEL 66*8 ...# THIS CODE CORRECTS BUG 1116 66B2 ...# ENSURE INCINDEX CLOSED BEFORE GOING ACROSS TO INCWAIT 66BS ...YINCAB3 66CL ...# TEST IF INCINDEX OPEN AT TOP LEVEL 66DD ... TOPFCB 3 [X3 -> TOP FCB 66F= ... LDX 1 FX1 66G4 ... LDN 6 2 66GW ...YINCAB6 66HN ... SMO 6 66JG ... LDX 7 FLOC1(3) 66K# ... SMO 6 66L6 ... TXU 7 XINCIND(1) 66LY ... BCS YINCABAND 66MQ ... SBN 6 1 66NJ ... BPZ 6 YINCAB6 66PB ...# INCINDEX IS OPEN AT TOP LEVEL 66Q8 ... CLOSETOP [CLOSE INCINDEX - 66R2 ...# --------------------------------------------------------- 66S2 ...YINCABAND 673S ... LDCT 7 #200 67?L ... ACROSS INCWAIT,1 7H9W # 7HPG # 7J96 MENDAREA 30,K99INCSTART 7JNQ # 7K8B #END ^^^^ ...22770757000700000000