14 22FL ... SEG INCMON,850,MIKE PUTNAM,INCDUMP 4 22_= # 11 23DW SEGENTRY K1INCMON,X1INCMON 11 23YG SEGENTRY K2INCMON,X2INCMON 11 243L ... SEGENTRY K3INCMON,X3INCMON 11 246Q ... SEGENTRY K4INCMON,X4INCMON 11 249W ... SEGENTRY K5INCMON,X5INCMON 11 24*2 ... SEGENTRY K7INCMON,X7INCMON 4 24D6 # 12 24XQ # ENTRY 1 DUMPS THE TOP FILE OPEN. 19 25CB # ENTRY 2 DUMPS A FILE USING BSTS, IT ASSUMES THAT A FILE/ENT, 21 25X2 # BSTB/FULLB (=BLOCKS REC) , AND IF NEC A FILE/FINTER1 (=INDEX REC) 18 26BL # ARE AVAILABLE. THE SUP DIR MUST BE OPEN, TO STOP COPYFILE 20 26W= # BOTH ENTRIES THEN SET UP THE PARAMETERS FOR THE FILDUMPED MESSAGE 16 27*W # WHILE DUMPING AN INDEXED FILE, A COUNT IS KEPT 17 27TG # OF THE SPACE THE FILE WOULD OCCUPY AFTER COMPRESSION. 10 282N ...# ENTRY 3 WRITES A SENTINEL 16 287W ...# ENTRY 4 CALLS SUBROUTINES UPDATEQUAL AND WRITESFS 4 28*6 # 9 28SQ # CALLED FROM INCWRITE 4 29#B # 6 29S2 ...# ON ENTRY, 12 2=?L # AWORK3=0 OR INDEX NO 8 2=R= # DURING DUMPING:- 13 2?=W # X4=0 IF FILE OPEN FOR DUMPING 17 2?QG # =NO OF READS ISSUED +1 IF FILE BEING READ VIA BSTS 12 2#=6 # X6=NO OF BLOCKS WRITTEN TO TAPE 8 2#PQ # AWORK1=FILE SIZE 14 2*9B # AWORK2=COUNT OF BLOCKS AFTER COMPRESSION 9 2*P2 # AWORK3=-1 RANDOM 12 2B8L # =0 SERIAL,NOT INDEXED 11 2BN= # =INDEX NO. IF INDEXED 13 2C7W # AWORK4=HIGHEST KEY ENCOUNTERED SO FAR 14 2CMG # X7=SPACE LEFT IN CURRENT COMPRESSED BLOCK 17 2D76 # (SAVED IN INCWORK, EXCEPT WHEN PROCESSING A BLOCK) 4 2DLQ # 10 2F6B SEGENTRY INCREADLIM 16 2FL2 5 [DEFAULT VALUE 16 2G5L NCLEANDAY 864000/K9*100 [A DAY'S CLEANCTS 8 2G*D ...MLANCOMP 4HC1 4 2GK= # 4 2H4W # 7 2HJG # SUBROUTINES:- 4 2J46 # 19 2JHQ # ^SUBNULL^ OUTPUTS A NULL PARAMETER TO THE GMON/ASET BLOCK. 11 2K3B # CALLED ON X7 AND COORDINATES. 4 2KH2 # 19 2L2L # ^SUBPACKX^ OUTPUTS A PARAMETER TO THE GMON/ASET BLOCK USING 14 2LG= # OUTPACKX. CALLED ON X7 AND COORDINATES. 18 2L_W # ON ENTRY, X4=ADDRESS OF WORD FROM WHICH TO TO TAKE VALUE 19 2MFG # X5=ADDRESS OF WORD CONTAINING LENGTH OF PARAMETER 15 2M_6 # X6=ADDRESS OF WORD CONTAINING PDC. 4 2NDQ # 13 2NYB # ^SFINDFRB^ LOCATES THE FRB FOR LOCKC. 11 2PD2 # LEAVES X2->FRB, CALLED ON X1. 4 2PXL # 17 2QC= # ^WAIT^ WAITS FOR A PREVIOUS MT TRANSFER TO COMPLETE. 21 2QWW # IN THE CLOSED FILE CASE, IT RENAMES THE FRB A BSTB/BFREEW IF THERE 11 2RBG # ARE MORE READS TO BE ISSUED. 13 2RW6 # IN ALL OTHER CASES IT FREES THE FRB. 20 2S*Q # IF A FAIL OR EOT OCCURRED, IT UPDATES THE COUNTS, AND GOES UP. 20 2STB # IF A BSTB/BFREEW EXISTS TO BE REFILLED IT EXITS 7 0 WITH X3->IT. 10 2T*2 # OTHERWISE IT EXITS 7 1. 16 2TSL # ON ENTRY,X1->FINC BLOCK,X3->FRB. CALLED ON X7. 10 2W#= # ON EXIT ,X1->FINC BLOCK. 4 2WRW # 19 2X?G # ^UPDCOUNTS^ UPDATES THE TIMES AND COUNTS IN THE FINC BLOCK. 17 2XR6 # ON ENTRY, X1->FINC BLOCK, X6=BLOCKS WRITTEN COUNT. 7 2Y=Q # CALLED ON X7. 12 2YQB # ON EXIT,X1->FINC BLOCK,X6=COUNT. 17 2_=2 # THE FULLB & FINTER1 BLOCKS WILL BE FREED, AND AWORK4 19 2_PL # WILL CONTAIN THE RESIDENCE NO FOR LATER USE BY OUTPACK CODE 4 329= # 4 32NW # 17 338G # ^READBSTS^ ISSUES AUTONOMOUS READS FOR A CLOSED FILE. 20 33N6 # THE NO. OF BUFFERS USED IS SET BY THE WORD INCREADLIM, WHICH CAN 12 347Q # BE ALTERED BY RESTORE TIME MACRO 18 34MB # ON ENTRY, X3->A BUFFER BLOCK CURRENTLY NAMED BSTB/BFREEW. 20 3572 # THE CORE UNJAMMER FREES THESE BLOCKS, SO WE MUST NOT COORDINATE 19 35LL # BETWEEN NAMING THE BUFFER BSTB/BFREEW AND ENTERING READBSTS. 4 366= # 4 36KW # 18 36LM ...# ^XLOCFINC^ SETS X1-> FINC FOR THE CURRENT INCREMENT. USES 6 36MD ...# ACOMMUNE2 4 36N9 ...# 4 36P2 ...# 5 36PR ...XLOCFINC 8 36QJ ... SMO FX2 15 36R* ... STO 0 ACOMMUNE2 [SAVE LINK 10 36S6 ... MHUNTW 1,FILE,FINC 6 36SX ...#UNS FPD 4 36TN ...( 11 36WF ... JBC NFLINC,,BFILEINC 10 36X= ... HUNT2 1,FILE,FINC,1 5 36Y3 ...NFLINC 4 36YS ...) 8 36_K ... SMO FX2 9 372B ... LDX 0 ACOMMUNE2 7 3737 ... EXIT 0 0 4 373Y ...# 4 374P ...# 5 375G SUBNULL 8 37K6 SBX 7 FX1 7 384Q OUTNULL 8 38JB ADX 7 FX1 7 3942 EXIT 7 0 4 39HL # 5 3=3= SUBPACKX 8 3=GW SBX 7 FX1 8 3?2G OUTPACKX 4,5,6 8 3?G6 ADX 7 FX1 7 3?_Q EXIT 7 0 4 3#FB # 5 3#_2 SFINDFRB 10 3*DL MHUNTW 2,FILE,FRB 7 3*Y= EXIT 1 0 4 3BCW # 4 3BXG WAIT 8 3CC6 SBX 7 FX1 8 3CWQ LDX 2 FX2 20 3DBB LDEX 0 INCACT(1) [GET COUNT OF RUNNING DUMPER ACTS 19 3DW2 SBN 0 1 [REMOVE DUMPER'S OWN COUNT 21 3F*L DEX 0 INCACT(1) [PUT IT BACK- LEAVING ANY FAIL OR EOT 18 3FKD LDX 5 CLEANCT [TIME STARTED WAIT FOR MT 17 3FT= BZE 0 NOWAIT [J IF ALL DTA'S ENDED 19 3G#W COOR1 [WAIT TILL KICKED BY LAST DTA 5 3GSG NOWAIT 16 3H#6 BZE 4 NBFREEW [J IF FILE OPEN 9 3HRQ LDX 0 AWORK1(2) 18 3J?B BXL 0 4,NBFREEW [J IF ALL READS ISSUED 18 3JR2 NAME 3,BSTB,BFREEW [NAME BUFFER BSTB BFREEW 15 3K=L UNLOCK 3 [UNLOCK IT 9 3KQ= BRN YBFREEW 5 3L9W NBFREEW 7 3LPG FREECORE 3 17 3M96 ADN 7 1 [NO BFREEW SO EXIT 1 5 3MNQ YBFREEW 9 3M_H ... CALL 0 XLOCFINC 9 3N=# LDX 0 CLEANCT 18 3N#= SBX 0 5 [TIME WAITING FOR TAPE 19 3NB8 BPZ 0 NMIDNIGHT2 [J IF MIDNIGHT NOT OCCURRED 8 3ND6 SMO FX1 17 3NG4 ADX 0 NCLEANDAY [ADD A DAYS CLEANCTS 6 3NJ2 NMIDNIGHT2 19 3NKY ADS 0 INCMTWAIT(1) [UPDATE TIME WAITING FOR MTS 9 3NN2 LDX 0 INCACT(1) 17 3P7L BZE 0 NEOT [J IF NO EOT OR FAIL 17 3PM= CALL 7 UPDCOUNTS [UPDATE COUNTS ETC. 9 3PPT ... LDX 0 AWORK3(2) 6 3PQ* ...#UNS FNSAD 7 3PQT ... SBN 0 1 6 3PR* ...#UNS FNSAD 4 3PRT ...#STR 18 3PSD ... SBN 0 2 [IF FILE AN INDEXED VSF 14 3PX3 ... BNG 0 NOTVSF1 [J IF NOT 20 3P_L ... DOWN INCVFCHK,4 [ABANDON FILE DEPENDENT CHECKING 6 3Q2F ...#UNS FNSAD 17 3Q3# ... NULL [ NEVER OBEYED - ALWAYS COMES UPPLUS 1 HERE 5 3Q49 ...NOTVSF1 18 3Q** ... BRN MTEOT [EOT OR FAIL EXIT PATH 4 3QLG NEOT 8 3R66 ADX 7 FX1 7 3RKQ EXIT 7 0 4 3S5B # 6 3SK2 UPDCOUNTS 9 3T4L NGX 0 AWORK3(2) 16 3TJ= BPZ 0 NSYS [J IF NOT INDEXED 20 3W3W ADS 6 INCSYSSIZE(1) [UPDATE CURRENT SYSTEM FILES SIZE 9 3WHG LDX 0 AWORK2(2) 21 3X36 ADS 0 INCCMPSIZE(1) [UPDATE COMPRESSED SYSTEM FILE SIZE 4 3XGQ NSYS 14 3Y2B LDX 0 CLEANCT [GET TIME 17 3YG2 SBX 0 INCTIMING(1) [CALCULATE TIME TAKEN 20 3Y_L BPZ 0 NMIDNIGHT [J IF NOT DUMPED OVER MIDNIGHT 8 3_F= SMO FX1 17 3_YW ADX 0 NCLEANDAY [ADD A DAY'S CLEANCTS 6 42DG NMIDNIGHT 16 42Y6 STO 0 AWORK2(2) [REMEMBER TI E 19 43CQ ADS 0 INCTIMEFILE(1) [ADD TO TIME DUMPING FILES 17 43XB ADS 6 INCSIZE(1) [ADD TO SIZE OF DUMP 21 44C2 ADS 6 INCBLNUM(1) [ADD TO BLOCK COUNT INCL. SENTINALS 17 44WL BNZ 4 NFCB4 [J IF FILE NOT OPEN 14 45B= TOPFCB2 3 [X3->FCB 14 45TW LDX 5 BSPRE(3) [RESID NO 8 46*G BRN RESID 5 46T6 NFCB4 15 47#Q MHUNTW 3,BSTB,FULLB [BLOCKS REC 14 47SB LDX 5 A1+1(3) [RESID NO 14 48#2 FREECORE 3 [FREE REC 9 48RL NGX 0 AWORK3(2) 17 49?= BPZ 0 RESID [J IF NO INDEX REC 10 49QW MFREEW FILE,FINTER1 5 4==G RESID 16 4=Q6 STO 5 AWORK4(2) [STORE RESID NO 7 4?9Q EXIT 7 0 4 4?PB # 5 4#92 READBSTS 8 4#NL SBX 7 FX1 10 4*8= MHUNTW 1,BSTB,FULLB 7 4*MW SMO 4 17 4B7G LDX 5 A1+1(1) [GET NEXT BLOCK NO 6 4B=L ...#UNS JSKI33 17 4B*Q ... READAUTO FAIL+BUSE,BSBS,,A1+1(1),EX5 [ISSUE READ 6 4BDW ...#UNS JSKI33 4 4BJ2 ...#SKI 16 4BM6 READAUTO BUSE,BSBS,,A1+1(1),EX5 [ISSUE READ 19 4C6Q ADN 4 1 [INCREMENT NEXT BLOCK POINTER 18 4CLB ... CALL 0 XLOCFINC [REHUNT THE FINC BLOCK 8 4D62 ADX 7 FX1 7 4DKL EXIT 7 0 4 4DKN ...# 4 4DKQ ...# 21 4DKS ...XFDUMPCOM [ GETS POINTER IN X1 TO FI FDUMPCOM 8 4DKW ... SMO FX2 15 4DKY ... STO 0 ACOMMUNE1 [ SAVE LINK 21 4DL2 ... HUNTMISB 1,FI,FDUMPCOM [ FIND FDUMPCOM IN MISCELLAN. CHAIN 8 4DL4 ... SMO FX2 9 4DL6 ... LDX 0 ACOMMUNE1 7 4DL8 ... EXIT 0 0 4 4DL= ...# 18 4DL# ...SFINDQUAL [S/R USED TO LOCATE FQUAL BLOCK FOR LOCKC 15 4DLB ... [X2 -> BLOCK . CALLED ON X1 10 4DLD ... MHUNTW 2,FILE,FQUAL 7 4DLG ... EXIT 1 0 4 4DLJ ...# 4 4DLL ...# 18 4DLN ...TIMESTART [SR TO START TIMING A DELAY FOR STATS. 16 4DLQ ... [CALLED ON X7. ON EXIT X1->FINC 14 4DLS ... CALL 0 XLOCFINC [X1->FINC 9 4DLW ... LDX 0 CLEANCT 10 4DLY ... STO 0 INCTIMING(1) 7 4DM2 ... EXIT 7 0 4 4DM4 ...# 4 4DM6 ...# 18 4DM8 ...TIMEND [SR TO WIND UP TIMING OF DELAY FOR STATS. 18 4DM= ... [CALLED ON X7,ON EXIT X1->FINC,X0=TIME 14 4DM# ... CALL 0 XLOCFINC [X1->FINC 9 4DMB ... LDX 0 CLEANCT 10 4DMD ... SBX 0 INCTIMING(1) 21 4DMG ... BPZ 0 NMIDN [J IF IT DIDNT HAPPEN OVER MIDNIGHT 8 4DMJ ... SMO FX1 17 4DML ... ADX 0 NCLEANDAY [ADD A DAYS CLEANCTS 5 4DMN ...NMIDN 7 4DMQ ... EXIT 7 0 4 4DMS ...# 4 4DMW ...# 21 4DMY ...RESTARTDATA [SETS UP A RESTART POINT FOR RESTORABLE INCREMENT OF 17 4DN2 ... [DUMP, UNLESS ONE IS ALREADY EXTANT 8 4DN4 ... SBX 4 FX1 10 4DN6 ... HUNTW 3,FI,FDUMPFAB 9 4DN8 ... BPZ 3 RSTEXIT 9 4DN= ... DOWN INCEOT,8 5 4DN# ...RSTEXIT 8 4DNB ... ADX 4 FX1 7 4DND ... EXIT 4 0 4 4DNG ...# 4 4DNJ ...# 4 4DNL ...# 20 4DNN ...RESTARTFREE [FREES ALL RESTART BLOCKS SET UP BY RESTARTDATA 11 4DNQ ... [CALLED ON X4 10 4DNS ... HUNTW 3,FI,FDUMPFAB 8 4DNW ... BNG 3 (4) 7 4DNY ... FREECORE 3 10 4DP2 ... BRN RESTARTFREE 4 4DP4 ...# 4 4DP6 ...# 19 4DP8 ...WRITESFS [WRITES SUB-FILE SENTINEL TO THE MTS (TAPE-MARK 12 4DP= ... [& QUALIFIER BLOCK). 20 4DP# ...# ON ENTRY, QUAL. BLOCK MUST HAVE BEEN SET UP. X4 IS S/R LINK. 16 4DPB ...# ON EXIT, X1->FINC BLOCK,X2=FX2,X3->FQUAL BLOCK 17 4DPD ...# USES X0,X1,X5,X7,ACOMMUNE1, AND INCTIMING 8 4DPG ... SBX 4 FX1 8 4DPJ ... LDX 2 FX2 21 4DPL ... CALL 7 TIMESTART [START TIMING DELAY IN WRITING SFS 16 4DPN ... LDN 0 5 [SHOW TM WANTED 10 4DPQ ... STO 0 ACOMMUNE1(2) 15 4DPS ... DOWN MTDUMP,2 [WRITE ONE 15 4DPW ... CALL 1 SFINDQUAL [X2->FQUAL 14 4DPY ... LOCKC 2,SFINDQUAL [LOCK IT 15 4DQ2 ... MHUNTW 3,FILE,FQUAL [X3->FQUAL 16 4DQ4 ... LDN 0 ESENTYP(3) [BASE OF TRANSFER 10 4DQ6 ... STO 0 ACOMMUNE3(2) 15 4DQ8 ... LDN 0 1 [WRITE MODE 10 4DQ= ... STO 0 ACOMMUNE1(2) 17 4DQ# ... LDN 0 20 [LENGTH OF TRANSFER 10 4DQB ... STO 0 ACOMMUNE2(2) 16 4DQD ... DOWN MTDUMP,2 [WRITE QUALIFIER 19 4DQG ... LDX 5 ESENTYP(3) [GET SENT TYPE FOR LATER USE 17 4DQJ ... UNLOCK 3 [UNLOCK FQUAL BLOCK 17 4DQL ... CALL 7 TIMEND [COMPUTE TIME TAKEN 21 4DQN ... ADS 0 INCTIMESENT(1) [ADD TO ^TIME WRITING SENTINELS^ COUN 7 4DQQ ... LDN 0 1 21 4DQS ... ADS 0 INCBLNUM(1) [UPDATE COUNT OF BLOCKS (INCLUDING 20 4DQW ... [ SENTINELS) IN INCR. 21 4DQY ... LDCT 0 #200 [IF SENT WAS START OF INCREMENT (IE X 21 4DR2 ... ANDX 0 ESENB(3) [WE EXIT IGNORING TAPE EVENTS - THESE 20 4DR4 ... BNZ 0 NEOT2 [WILL BE DEALT WITH ON X1 ENTRY 20 4DR6 ... LDX 7 INCACT(1) [NOW WE DEAL WITH ANY FAIL OR EOT 21 4DR8 ... BNG 7 MTEOT [IF FAIL OCCURRED, JUMP INTO INCEOT 18 4DR= ... BPZ 5 NOTESFS [J IF THAT WASNT AN ESFS 21 4DR# ... LDX 5 AWORK1(2) [GET ITS FILE NUMBER (STILL IN AWORK1 19 4DRB ... BZE 5 NOTESFS [J IF WAS ZERO E OF COMP SF 19 4DRC ... JBS NOTESFS,1,BINCRFAIL [NO MESSAGE IF CORRUPT FILE 21 4DRD ... MONOUT FILDUMPED [JUST DUMPED A FILE,OUTPUT MESSAGE 14 4DRG ... CALL 0 XLOCFINC [X1->FINC 5 4DRJ ...NOTESFS 17 4DRL ... BZE 7 NEOT2 [J IF NO EOT OCCURRED 21 4DRN ... JBC MTEOT,1,BINCEOT [J IF EOT OR FAIL NOT OCCURRED BEFORE 5 4DRQ ...NEOT2 8 4DRS ... ADX 4 FX1 7 4DRW ... EXIT 4 0 4 4DRY ...# 21 4DS2 ...SETESFS [SETS UP WORD A1(ESF SENT),WORD A1+1 & ZEROISES LOCAL NAM 12 4DS4 ... [OF QUALIFIER BLOCK. 21 4DS6 ... [ON ENTRY, X6= NO. OF BLOCKS WRITTEN SINCE LAST SENTINEL. 16 4DS8 ... [ X4 IS S/R LINK. 21 4DS= ... [ON EXIT, X3->QUALIFIER BLOCK, X6= NO. OF BLOCKS WRITTEN. 13 4DS# ... [ USES X0 & X1. 16 4DSB ... MHUNTW 3,FILE,FQUAL [X3-> FQUAL BLOCK 8 4DSD ... LDCT 0 #400 20 4DSG ... STO 0 ESENTYP(3) [SET 'END OF SUBFILE SENTINEL' 19 4DSJ ... STOZ ESENBP(3) [ZEROISE WORD 1 OF SENTINEL 9 4DSL ... LDN 0 ESENBP(3) 10 4DSN ... LDN 1 ESENBP+1(3) 18 4DSQ ... MOVE 0 18 [ZEROISE REST OF SENTINEL 8 4DSS ... SMO FX2 21 4DSW ... LDX 0 AWORK1 [SET BLOCK NO. IN ESFS SAME AS IN BSF 9 4DSY ... STO 0 ESENFN(3) 19 4DT2 ... STO 6 ESENBP(3) [SET UP NO. OF BLOCKS WRITTEN 7 4DT4 ... EXIT 4 0 4 4DT6 ...# 4 4DT8 ...# 21 4DT= ...# INSERTS 'NO. OF BLOCKS IN FILE' INTO WORD ESENCT OF QUALIFIER BLOCK, 20 4DT# ...# SPECIAL RESIDENCE NO. IN ESENAL IF ON A SPECIAL RESIDENCE, SETS 21 4DTB ...# FSIZE FENDBUCK & FVERSION INTO ESEN17,ESEN10 & ESEN11 RESPECTIVELY, S 21 4DTD ...# FILE NUMBER IN ESENFN & LOCAL NAME IN ESENLOC1-ESENFG & ESENLAN AND, 21 4DTG ...# IF A DIRECTORY, SETS B0 OF ESENB & INSERTS USER NAME IN ESENUSE1-3. 16 4DTJ ...# ON ENTRY, X4 IS S/R LINK. 16 4DTL ...# ON EXIT,X1->FINC BLOCK,X2->FCB,X3->FQUAL BLOCK 16 4DTN ...# X6=NO. OF BLOCKS TO BE DUMPED. USES X0 6 4DTQ ...UPDATEQUAL 20 4DTS ... TOPFCB 2 [X2-> FCB OF FILE BEING DUMPED 17 4DTW ... MHUNTW 3,FILE,FQUAL [X3-> QUALIFIER BLOCK 9 4DTY ... LDX 6 FBLMOD(2) 9 4DW2 ... SBN 6 FBLKS-A1 9 4DW4 ... LDX 0 FETM(2) 16 4DW6 ... STO 0 ESENTM(3) [SET TYPE/MODE 9 4DW8 ... LDX 0 FSIZE(2) 18 4DW= ... STO 0 ESEN17(3) [SET SIZE (OR MAX. SIZE) 10 4DW# ... LDX 0 FENDBUCK(2) 20 4DWB ... STO 0 ESEN10(3) [ LAST BUCKET WRITTEN, ETC., 10 4DWD ... LDX 0 FVERSION(2) 17 4DWG ... STO 0 ESEN11(3) [ & VERSION NO. 9 4DWJ ... LDN 0 FLOC1(2) 10 4DWL ... LDN 1 ESENLOC1(3) 21 4DWN ... MOVE 0 5 [SET UP LOCAL NAME OF FILE FROM FCB 9 4DWQ ... LDX 0 FLAN(2) 18 4DWS ... STO 0 ESENLAN(3) [ AND LANGUAGE 7 4DWW ... LDN 0 1 21 4DWY ... STO 0 ESENRL(3) [SET REEL NO., GEN. NO. & LANG. FOR A 9 4DX2 ... STO 0 ESENFG(3) 8 4DX4 ... SMO FX1 9 4DX6 ... LDX 0 MLANCOMP 10 4DX8 ... STO 0 ESENLAN(3) 9 4DX= ... LDX 0 BSPRE(2) 7 4DX# ... LDX 5 0 8 4DXB ... SBN 0 48 19 4DXD ... BPZ 0 SPECIAL [J IF ON A SPECIAL RESI&ENCE 19 4DXG ... LDN 5 0 [CLEAR SPECIAL RESIDENCE NO. 5 4DXJ ...SPECIAL 17 4DXL ... LDCT 7 #400 [ESENB VALUEFOR DIRS 4 4DXN ...# 19 4DXQ ...# THE FOLLOWING CODE IS ALSO EXECUTED BY THE CODE WHICH SETS UP 10 4DXS ...# THE QUAL BLOCK FOR FILES. 21 4DXW ...# ON ENTRY,X2->FCB,X3->FQUAL,X5=SPEC RESID WORD,X6=SIZE,X7=ESENB VALUE 4 4DXY ...# 6 4DY2 ...UPDCOMMON 7 4DY4 ... LDN 0 6 19 4DY6 ... STO 0 ESENTYP(3) [SET START OF S/F SENT. WORD 21 4DY8 ... STOZ ESEN1(3) [CLEAR WORDS NOT OTHERWISE UPDATED 12 4DY= ... STOZ ESEND2(3) [ 9 4DY# ... STO 7 ESENB(3) 19 4DYB ... STO 6 ESENCT(3) [SET 'NO. OF BLOCKS IN FILE' 9 4DYD ... STO 5 ESENAL(3) 17 4DYG ... LDN 0 FME1(2) [USER NAME OF DIR. 10 4DYJ ... LDN 1 ESENUSE1(3) 20 4DYL ... MOVE 0 3 [SET USER NAME IN QUALIFIER BLOCK 14 4DYN ... CALL 0 XLOCFINC [X1->FINC 10 4DYQ ... LDX 0 INCBLNUM(1) 8 4DYS ... SMO FX2 20 4DYW ... STO 0 AWORK1 [REMEMBER BLOCK NO. IN THIS INCR 18 4DYY ... STO 0 ESENFN(3) [SET IT UP IN QUAL BLOCK 7 4D_2 ... EXIT 4 0 4 4D_4 ...# 4 4D_6 ...# 4 4F5= # 4 4FJW # 4 4G4G # 12 4GJ6 X1INCMON [DUMPING AN OPEN FILE 10 4GJ= ... MHUNTW 1,FILE,FINC 19 4GJB ... JBC SENTOK,1,BINCCMPSENT [J IF NO COMPOS S/F WRITTEN 7 4GJG ... LDN 6 0 18 4GJL ... STOZ AWORK1(2) [CLEAR FILE NUMBER WORD 9 4GJQ ... CALL 4 SETESFS 15 4GJW ... CALL 4 WRITESFS [WRITE ESFS 5 4GK2 ...SENTOK 7 4GK6 ... TOPFCB2 2 15 4GK= ... TRACEIF K6INCWRITE,199,299,FME1(2),USER 15 4GKB ... TRACEIF K6INCWRITE,199,299,COMM(2),PASS3 18 4GKG ... BC 2,BFCORE [DONT KEEP USAGE BLOCKS 16 4GKL ... REWIND [REWIND THE DIR 17 4GKQ ... CALL 4 UPDATEQUAL [SET UP BSFS FROM FCB 14 4GKW ... CALL 4 WRITESFS [WRITE IT 17 4GL2 ... LDN 0 INDEXDIR [INDEX NO FOR A DIR 21 4GL6 ... STO 0 AWORK3(2) [SET UP AWORK3 AS EXPECTED BY DUMPER 6 4GLP ...#UNS FNSAD 4 4GP# ...( 19 4GRX ... DOWN INCVFCHK,1 [ SET UP DIRECTORY CHECKING 18 4GWG ... NULL [ NEVER OBEYED - ALWAYS COMES UPPLUS 1 HERE 4 4G_5 ...) 18 4H3Q LDN 4 0 [SET 'FILE OPEN' MARKER 14 4HHB TOPFCB2 3 [X3->FCB 15 4J32 JBS SERIAL,3,BFSER [J IF SERAL 5 4JGL NOTSER 7 4K2= NGN 7 1 20 4KFW STO 7 AWORK3(2) [AWRORK3 -VE MEANS NOT SERIAL 5 4K_G SERIAL 14 4LF6 ... CALL 0 XLOCFINC [X1->FINC 9 4LYQ LDX 0 CLEANCT 16 4MDB STO 0 INCTIMING(1) [REMEMBER TIME 19 4MY2 STOZ INCWORK(1) [ZERO SPACE LEFT IN CURRENT 18 4NCL [COMPRESSED BLOCK COUNT. 19 4NX= STOZ AWORK2(2) [ZERO COMPRESSED BLOCK SIZE 18 4PBW STOZ AWORK4(2) [ZERO PRVIOUS KEY WORD 17 4PWG STO 6 AWORK1(2) [STORE SIZE OF FILE 19 4QB6 LDN 6 0 [ZERO BLOCKS WRITTEN COUNT 5 4QTQ READB 16 4R*B BXE 6 AWORK1(2),READBEND [J IF END OF FILE 20 4RK8 LDX 5 CLEANCT [SAVE TIME WE STARTED WAIT FOR BS 17 4RT2 BNZ 4 NFCB [J IF FILE NOT OPEN 17 4S#L READB [READ Z BLOCK OF FILE 5 4SS= MHFINC 14 4T53 ... CALL 0 XLOCFINC [X1->FINC 19 4T*S LDX 0 CLEANCT [COMPUTE TIME WAITED FOR BS 7 4TCQ SBX 0 5 19 4TFN BPZ 0 NMIDNIGHT3 [J IF MIDNIGHT NOT OCCURRED 8 4THL SMO FX1 17 4TKJ ADX 0 NCLEANDAY [ADD A DAYS CLEANCTS 6 4TMG NMIDNIGHT3 19 4TPD ADS 0 INCBSWAIT(1) [UPDATE TIME WAITING FOR BS 18 4TRG BZE 6 SFIRST [J IF 1ST BLOCK OF FILE 21 4W?6 CALL 7 WAIT [WAIT FOR LAST TRANSFER TO COMPLETE 20 4WQQ CALL 7 READBSTS [IF FILE CLOSED, AND MORE READS 16 4X=B [ISSUE NEXT READ 5 4XQ2 SFIRST 15 4Y9L MHUNTW 3,FILE,FRB [X3->NEW FRB 9 4YP= LDX 0 AWORK3(2) 19 4_8W BNG 0 WROUT [J IF NOT SERIAL- NO CHECKS 18 4_NG LDX 7 INCWORK(1) [GET COUNT OF SPACE LEFT 19 5286 [IN CURRENT COMPRESSED BLOCK 2 52MQ 18 537B # IF THE FILE IS SERIAL, WE CHECK THAT THE RECORD HEADERS 21 53M2 # ARE VALID AND THAT THEIR SUM DOES NOT EXCEED THE SIZE OF A BS BLOCK 4 546L # 21 54L= # IF IT IS INDEXED, WE ALSO CHECK THAT THE KEYS ARE IN ASCENDING ORDER 21 555W # AND THAT THE KEY FOR A BLOCK IS EQUAL TO THE HIGHEST KEY FOUND SO FAR 4 55KG # 18 5656 STOZ ACOMMUNE1(2) [ZEO DISTANCE DOWN BLOCK 15 56JQ ADN 3 A1 [X3->1ST REC 5 574B TAGAIN 9 57J2 LDX 0 FRH(3) 17 583L BPZ 0 NDUM [J IF NOT ADUMMY REC 9 58H= ANDX 0 BRHMASK 20 592W BNZ 0 XDUD [H IF ILLEGAL BITS IN REC HEADER 9 59GG LDEX 0 FRH(3) 8 5=26 BRN YDUM 4 5=FQ NDUM 9 5=_B NGX 5 AWORK3(2) 18 5?F2 BPZ 5 YDUM [J IF NOT INDEXED FILE 20 5?YL SBX 7 0 [SUBTRACT FROM CT OF SPACE LEFT 18 5#D= [IN CURRENT COMPR BLOCK 17 5#XW BPZ 7 YDUM [J IF NOT OVER FULL 7 5*CG LDN 7 1 18 5*X6 ADS 7 AWORK2(2) [INCR. COMPRESSED SIZE 17 5BBQ LDN 7 GSBS-1 [RESET SPACE AVAIL CT 7 5BWB SBX 7 0 4 5CB2 YDUM 17 5CTL BZE 0 XINDCHECK [J IF END OF BLOCK 10 5D*= ADX 0 ACOMMUNE1(2) 19 5DSW STO 0 ACOMMUNE1(2) [UPDATE DISTANCE DOWN BLOCK 18 5F#G BXGE 0 BSBS,XDUD [J IF OFF END OF BLOCK 16 5FS6 KEYRECI AWORK3(2),,3,NOKEY,5 [X5=KEY IF ANY 18 5G?Q BXL 5 AWORK4(2),XDIR [J IF LESS THAN PREV KEY 19 5GRB STO 5 AWORK4(2) [REMEMBER AS 'PREVIOUS KEY' 5 5H?2 NOKEY 9 5HQL LDEX 0 FRH(3) 15 5J== ADX 3 0 [X3=NEXT REC 9 5JPW BRN TAGAIN 6 5K9G XINDCHECK 12 5K*Y ... LDX 0 AWORK3(2) [ 18 5KGB ... BZE 0 NINDCH [J IF NOT INDEXED FILE 6 5KH= ...#UNS FNSAD 7 5KJ6 ... SBN 0 1 6 5KK2 ...#UNS FNSAD 4 5KKW ...#STR 7 5KLS ... SBN 0 2 16 5KR= ... BNG 0 NOTVSF2 [J IF NOT A DIR 21 5KXN ... DOWN INCVFCHK,2 [PERFORM FILE DEPENDENT VSF CHECKS 6 5K_7 ...#UNS FNSAD 16 5L2L ... BRN MTEOT [ ERROR DETECTED 5 5L46 ...NOTVSF2 17 5L8Q BNZ 4 NFCB2 [J IF FILE NOT OPEN 14 5LNB TOPFCA2 3 [X3->FCA 16 5M82 FFINDEXB 3,3 [X3->INDEX BLOCK 5 5MML XINDEX 7 5N7= SMO 6 16 5NLW LDX 0 INDEXREC(3) [X0=KEY FOR BLOCK 19 5P6G BXU 0 AWORK4(2),XDIR [J IF NOT = LAST KEY FOUND 5 5PL6 NINDCH 9 5Q5Q ... CALL 0 XLOCFINC 18 5QKB STO 7 INCWORK(1) [SAVE CT OF SPACE LEFT IN 18 5R52 [CURRENT COMPRESSED BLOCK 5 5RJL WROUT 6 5RKH ...#UNS FPD 4 5RLD ...( 9 5RM* ... CALL 1 SFINDFRB 15 5RN= ... LOCKC 2,SFINDFRB [LOCK BUFFER 10 5RP7 ... MHUNTW 3,FILE,FRB 18 5RQ4 ... LDN 0 A1(3) [START OF TRANSFER ADDR 10 5RQ_ ... STO 0 ACOMMUNE3(2) 16 5RRW ... LDN 0 1 [MODE OF TRANSFER 10 5RSR ... STO 0 ACOMMUNE1(2) 17 5RTN ... LDN 0 GSBS [LENGTH OF TRANSFER 10 5RWK ... STO 0 ACOMMUNE2(2) 19 5RXG ... DOWN MTDUMP,3 [INITIATE AUTONOMOUS TRANSFER 4 5RYC ...) 6 5R_# ...#UNS FPD 4 5S29 ...#SKI 4 5S36 ...( 16 5S4= LDX 5 INCCOPIES(1) [X5=NO. OF DTA'S 7 5SHW LDN 0 1 19 5T3G STO 5 INCACT(1) [NO. OF RUNNING DUMPERS ACTS 17 5TH6 ADS 0 INCACT(1) [+1 FOR DUMPER ITSELF 14 5W2Q CALL 1 SFINDFRB [X2->FRB 15 5WGB LOCKC 2,SFINDFRB [LOCK IT DOWN 14 5X22 MHUNTW 3,FILE,FRB [X3->FRB 4 5XFL S10 16 5X_= FINDACTFB 2,,ACTDOC,ADUMPT,,BPTR [X2->NEXT DTA 7 5YDW LDN 0 1 15 5YYG DCA ,STO,0,MODE [SET UP MODE 8 5_D6 LDN 0 GSBS 14 5_XQ DCA ,STO,0,COUNT [COUNT 8 62CB LDN 0 A1(3) 16 62X2 DCA ,STO,0,CTSA [START ADDRESS 8 63BL SMO FX2 17 63W= STO 2 ACOMMUNE1 [REMEMBER ADDR OF DTA 14 64*W FPUT [KICK IT 10 64TG LDX 2 ACOMMUNE1(2) 8 65*6 BCT 5 S10 4 65JY ...) 19 65SQ ADN 6 1 [INCR COUNT OF BLOCKS WRITTEN 8 66#B LDX 2 FX2 19 66S2 BRN READB [GO FOR ANOTHER FILE BLOCK 2 67?L 4 67R= XDUD 4 68=W XDIR 6 68?P ...#UNS JSKI33 4 68#J ...( 18 68*C ... MHUNTW 3,FILE,FRB [X3->FRB OF CORRUPT BLOCK 21 68B= ... LDX 5 BACK1(3) [RESID NO FOR CORRUPT FILE HANDLER 17 68C5 ... LDX 3 BACK2(3) [LIKEWISE BLOCK NO. 20 68CY ... CORRUPTB 5,3 [INVOKE CORRUPT FILE MECHANISM 19 68DR ... [CORRUPTB WILL GEOERR IF IT 20 68FL ... DOWN INCEOT,5 [IS A DIRECTORY OTHERWISE WE MARK 19 68GF ... CALL 0 XLOCFINC [THE FILE 'TO-BE-CLOSEABANDONED' 20 68H# ... BRN WROUT [AND CARRY ON DUMPING IT WITHOUT 21 68J7 ... [FURTHER CHECKS AND WITHOUT UPDATING 21 68K2 ... [THE DIRECTORY ENTRY. THIS MAINTAINS 17 68KT ... [THE DUMPTAPE FORMAT 4 68LN ...) 6 68MH ...#UNS JSKI33 4 68NB ...#SKI 4 68P9 ...( 16 68QG BNZ 4 NFCB3 [FILE NOT OPEN=J 10 69=6 MHUNTW 1,FILE,FRB 9 69PQ NAME 1,FILE,FURB 15 6=9B SFCA ,2,2 [X2->FSTACK 20 6=P2 CHAIN 1,2 [CHAIN BLOCK IN FILE CHAIN FOR PM 5 6?8L NFCB3 8 6?N= SMO FX2 9 6#7W NGX 0 AWORK3 15 6#MG BNG 0 XDDIR [J IF INDEXED 18 6#X# ... DOWN INCEOT,4 [OUTPUT WARNING MESSAGE 17 6*76 ... CALL 7 UPDCOUNTS [UPDATE COUNTS ETC 16 6*BY ... BRN MTEOT [EXIT BY EOT PATH 5 6*LQ XDDIR 11 6B6B GEOERR BRIEFPM,DUD DIR 2 6BL2 4 6BNK ...) 4 6BR8 # 4 6BYB # 18 6C5L X2INCMON [DUMPING A CLOSED FILE 17 6C5S ... READAGAIN [GET A FILE/ENT BLOCK 10 6C62 ... MHUNTW 3,FILE,FRB 17 6C68 ... NAME 3,FILE,ENT [X3->FILE/ENT BLOCK 21 6C6B ... JBC NFLINC2,,BPARALLEL [J IF NOT TO BE WRITTEN TO 2ND INC 14 6C6J ... JMBS NFLINCP,3,BEALLINCS,BEREVERE 19 6C6Q ... BS ,BFILEINC [SET FILE ONLY INCR MARKER 18 6C6Y ... BRN NOSENT2 [NO COMP SF XENT NEEDED 4 6C76 ...# 20 6C7# ...# IF THE FILE IS TO BE DUMPED ON THE RESTORABLE INCR OF A PARALLEL 21 6C7G ...# DUMP WE MUST RECORD THE FACT, AS A TAPE EVENT ON THE FILE ONLY INC 19 6C7N ...# MAY MAKE IT NECESSARY TO BACKSPACE THE RESTORABLE INCR AND 9 6C7W ...# DEUPDATE THE DIRENT. 4 6C84 ...# 5 6C8= ...NFLINCP 10 6C8D ... CALL 4 RESTARTDATA 5 6C8L ...NFLINC2 10 6C8S ... MHUNTW 1,FILE,FINC 17 6C92 ... BS 1,BINCTERMINL [ PASS 2 NOT IN VAIN 17 6C98 ... JBC NOSENT2,1,BINCGENRES [J IF NOT POT GEN RES 19 6C9B ... JBSS NOSENT2,1,BINCCMPSENT [J IF COMP S/F SENT ALREADY 10 6C9J ... CALL 4 UPDATEQUAL 15 6C9Q ... CALL 4 WRITESFS [WRITE ONE 5 6C9Y ...NOSENT2 4 6C=6 ...# 17 6C=# ...# WE ARE GOING TO HAVE TO DUMP THE FILE USING BACKREADS 18 6C=G ...# FIRST WE HAVE TO SET UP THE QUAL BLOCK FROM THE FILE/ENT 4 6C=N ...# 4 6C=W ...# 10 6C?4 ... MHUNTW 1,FILE,ENT 16 6C?= ... TRACEIF K6INCWRITE,199,299,ELOC1(1),INCCFILE 16 6C?D ... MHUNTW 3,FILE,FQUAL [X3->FQUAL BLOCK 9 6C?L ... LDX 0 ETM(1) 15 6C?S ... STO 0 ESENTM(3) [TYPE/MODE 9 6C#2 ... LDEX 0 EINF3(1) 14 6C#8 ... STO 0 ESEN17(3) [MAX SIZE 10 6C#B ... LDX 0 EENDBUCK(1) 18 6C#J ... STO 0 ESEN10(3) [LAST BUCKET WRITTEN ETC 10 6C#Q ... LDX 0 EVERSION(1) 15 6C#Y ... STO 0 ESEN11(3) [VERSION NO. 9 6C*6 ... LDN 4 ELOC1(1) 10 6C*# ... LDN 5 ESENLOC1(3) 19 6C*G ... MOVE 4 5 [MOVE ACROSS LOCAL NAME ETC 9 6C*N ... LDX 0 ELAN(1) 14 6C*W ... STO 0 ESENLAN(3) [LANGUAGE 18 6CB4 ... LDN 7 0 [ESENB VALUE FOR FILES 8 6CB= ... LDN 5 #77 18 6CBD ... ANDX 5 EALLOC(1) [RESID NO IF ALLOCATED 20 6CBL ... JMBC NREV,1,BEREVERE,BESERIAL [J IF NOT SERIAL AND REVERED 4 6CBS ...# 21 6CC2 ...# IN THE SERIAL REVERED CASE, WE MUST DUMP ONLY THOSE BLOCKS WRITTEN 20 6CC8 ...# TO BACKING STORE. THE CODE TO DO THE FINDING OUT IS IN INCEOT. 4 6CCB ...# 20 6CCJ ... DOWN INCEOT,2 [LEAVES NO OF BLOCKS IN ACOMMUNE1 10 6CCQ ... MHUNTW 3,FILE,FQUAL 10 6CCY ... LDX 6 ACOMMUNE1(2) 8 6CD6 ... BRN REV 4 6CD# ...NREV 9 6CDG ... LDX 6 ECOPS(1) 8 6CDN ... SRL 6 15 4 6CDW ...REV 17 6CF4 ... TOPFCB 2 [X2->FCB OF SUP DIR 21 6CF= ... CALL 4 UPDCOMMON [CARRY OUT UPDATING COMMON WITH DIRS 16 6CFD ... CALL 4 WRITESFS [WRITE THE BSFS 16 6CFL ... READ [GET BLOCKS REC 10 6CFS ... MHUNTW 3,FILE,FRB 18 6CG2 ... NAME 3,BSTB,FULLB [CALL IT A FULLB BLOCK 16 6CG8 ... BWZ AWORK3(2),WRITEF [J IF NOT INDEXED 16 6CGB ... READ [GET INDEX RECORD 10 6CGJ ... MHUNTW 3,FILE,FRB 11 6CGQ ... NAME 3,FILE,FINTER1 5 6CGY ...WRITEF 17 6CK= LDN 4 1 [SET FILE NOT OPEN 9 6CMT ... LDX 0 AWORK3(2) 15 6CQD ... SBN 0 2 [IS IT A VSF 9 6CT3 ... BNG 0 NOTVSF3 21 6CXL ... DOWN INCVFCHK,1 [INITIALISE FILE DEPENDENT CHECKING 6 6CYF ...#UNS FNSAD 21 6C_# ... NULL [ NEXER OBEYED - ALWAYS COMES UPPLUS 5 6D29 ...NOTVSF3 9 6D4W BZE 6 NULLFILE2 7 6DJG LDX 5 6 13 6F46 BXL 5 INCREADLIM(1),READLOOP 10 6FHQ LDX 5 INCREADLIM(1) 15 6G3B READLOOP [X5 =MIN(INCREADLIM,FILE SIZE) 16 6GH2 [WE NOW SET UP THAT MANY BUFFERS AND 12 6H2L [START FILLING THEM 9 6HG= STO 5 AWORK1(2) 15 6H_W SETNCORE GSBS,3,BSTB,BFREEW [SET UP BUFFER 15 6JFG CALL 7 READBSTS [ISSUE READ 9 6J_6 LDX 5 AWORK1(2) 9 6KDQ BCT 5 READLOOP 6 6KYB NULLFILE2 10 6LD2 MHUNTW 3,FILE,ENT 11 6LXL JBS SERIAL,3,BESERIAL 9 6MC= BRN NOTSER 4 6MGB # 18 6MKG # THIS CODE IMPLEMENTS THE WAIT FOR A BS BLOCK WHEN WE ARE 14 6MNL # DUMPING A CLOSED FILE VIA BSTS DIRECT. 4 6MRQ # 4 6MWW NFCB 16 6NBG MHUNTW 1,BSTB,FULLB [X1->BLOCKS REC 7 6NW6 SMO 6 15 6P*Q LDX 7 A1+2(1) [X7=BLOCK NO 18 6PTB BACKWAIT ,A1+1(1),7 [WAIT FOR END OF TRANSFER 6 6PX# ...#UNS JSKI33 4 6P_= ...( 18 6Q38 ... JBC NOFAIL,2,EXDUMPFAIL [J IF NO FAILED TRANSFERS 10 6Q3M ... MHUNTW 1,BSTB,FULLB 20 6Q47 ... CORRUPTB A1+1(1),7 [INVOKE CORRUPT FILE MECHANISM 9 6Q56 ... DOWN INCEOT,5 19 6Q74 ... [MARK FILE TO BE CLOSEAB'D 5 6Q92 ...NOFAIL 4 6Q=Y ...) 19 6Q*2 MHUNTW 1,BSTB,FULLB [GET BLOCK NO AGAIN IN CASE 19 6QSL SMO 6 [BSTS HAS CHANGED IT COS OF 21 6R#= LDX 7 A1+2(1) [WRITE FAIL BY SOMEONE ACCESSING IT 5 6RRW XFINDBL 16 6S?G HUNT2OPT 2,BSTB,BREAD [X2->NEXTBREAD 16 6SR6 BPZ 2 XFOUND [J IF FOUND ONE 21 6T=Q GEOERR BRIEFPM,INCBLALT [LOG. BLOCK NO. IN FILE OVERWRITTEN 5 6TQB XFOUND 16 6W=2 BXU 7 BACK2(2),XFINDBL [J IF NOT THE ONE 16 6WPL NAME 2,FILE,FRB [NAME IT A FRB 8 6X9= LDX 2 FX2 9 6XNW BRN MHFINC 5 6Y8G NFCB2 16 6YN6 MHUNTW 3,FILE,FINTER1 [X3->INDEX REC 9 6_7Q BRN XINDEX 2 6_MB 17 7272 # THE FOLLOWING CODE SETS UP THE PARAMS FOR THE MESSAGE 11 72LL # DETAILS ARE:- 1) USERNAME 11 736= # 2) LOCALNAME 12 73KW # 3) GENERATION NO. 11 745G # 4) LANGUAGE 12 74K6 # 5) SIZE IN BLOCKS 13 754Q # 6) TYPE/MODE OF FILE 17 75JB # 7) BLOCK NUMBER WITHIN THIS INCREMENT 15 7642 # 8) TIME TO DUMP IN 1/5 SECS. 20 76HL # 9) NUMBER OF THE F/S RESIDENCE HOLDING THE FILE. 4 773= # 4 77GW # 15 782G READBEND [END OF FILE 14 78G6 ... CALL 0 XLOCFINC [X1->FINC 19 78PY ... JBS NOMESS,1,BINCRFAIL [NO MESSAGE IF CORRUPT FILE 17 78_Q BZE 6 NULLFILE [J IF NOTHING WRITTEN 15 79FB CALL 7 WAIT [WAIT IF NEC. 18 79_2 NULL [EXIT PATH NOT USED HERE 5 7=DL NULLFILE 17 7=Y= CALL 7 UPDCOUNTS [UPDATE THE COUNTS 9 7?2T ... LDX 0 AWORK3(2) 6 7?3* ...#UNS FNSAD 7 7?3T ... SBN 0 1 6 7?4* ...#UNS FNSAD 4 7?4T ...#STR 17 7?5D ... SBN 0 2 [IS FILE INDEXED VSF 14 7?83 ... BNG 0 NOTVSF4 [J IF NOT 10 7?=L ... DOWN INCVFCHK,3 6 7??F ...#UNS FNSAD 18 7?#* ... BRN MTEOT [ ERROR DETECTED 5 7?*9 ...NOTVSF4 2 7?CW 16 7?XG MHUNTW 3,FILE,FQUAL [X3->FILE/FQUAL 15 7#C6 LDN 5 3 [PARAM LENGTH 13 7#WQ LDN 6 JPDUSERNAME [PDC 14 7*BB LDN 4 ESENUSE1(3) [USERNAME 16 7*W2 CALL 7 SUBPACKX [PUT OUT USERNAME 2 7B*L 16 7BT= MHUNTW 3,FILE,FQUAL [X3->FILE/FQUAL 9 7C#W LDX 0 ESENB(3) 17 7CSG BPZ 0 PNOTDIR [J IF IT ISN'T A DIR. 16 7D#6 CALL 7 SUBNULL [NO LOCAL NAME 14 7DRQ CALL 7 SUBNULL [NO .GEN 14 7F?B CALL 7 SUBNULL [NO LANG. 8 7FR2 BRN PSIZE 2 7G=L 5 7GQ= PNOTDIR 15 7H9W LDN 4 ESENLOC1(3) [LOCAL NAME 13 7HPG LDN 6 JPDLOCNAME [PDC 17 7J96 CALL 7 SUBPACKX [PUT OUT LOCAL NAME 2 7JNQ 16 7K8B MHUNTW 3,FILE,FQUAL [X3->FILE/FQUAL 14 7KN2 LDN 4 ESENFG(3) [GEN NO 17 7L7L LDN 5 1 [RESET PARAM LENGTH 13 7LM= LDN 6 JPDGENNUM [PDC 9 7M6W CALL 7 SUBPACKX 2 7MLG 16 7N66 MHUNTW 3,FILE,FQUAL [X3->FILE/FQUAL 14 7NKQ LDN 4 ESENLAN(3) [LANG. 13 7P5B LDN 6 JPDLANGUAGE [PDC 16 7PK2 CALL 7 SUBPACKX [PUT OUT LANGUAGE 2 7Q4L 5 7QJ= PSIZE 20 7R3W LDN 5 1 [RESET PARAM LENGTH FROM DY PATH 15 7RHG LDN 4 AWORK1(2) [BLOCK COU T 15 7S36 LDN 6 JPDBLOCKCT [BLOCK COUNT 15 7SGQ CALL 7 SUBPACKX [PUT OUT SIZE 2 7T2B 16 7TG2 MHUNTW 3,FILE,FQUAL [X3->FILE/FQUAL 9 7T_L LDX 0 ESENB(3) 14 7WF= BNG 0 PNULL [J IF DIR 15 7WYW LDX 0 ESENTM(3) [TYPE/MODE 16 7XDG BNZ 0 PTM [J IF NONZERO TM 5 7XY6 PNULL 19 7YCQ CALL 7 SUBNULL [PUT OUT NOTHING IF ZERO TM 8 7YXB BRN PBLNUM 4 7_C2 PTM 9 7_WL LDN 4 ESENTM(3) 9 82B= LDN 6 JPDOCTA 15 82TW CALL 7 SUBPACKX [PUT OUT T/M 2 83*G 5 83T6 PBLNUM 16 84#Q MHUNTW 3,FILE,FQUAL [X3->FILE/FQUAL 14 84SB LDN 4 ESENFN(3) [BLOCK NO 9 85#2 LDN 6 JPDNUMA 16 85RL CALL 7 SUBPACKX [PUT OUT BLOCK NO 2 86?= 15 86QW LDN 4 AWORK2(2) [TIME TO DUMP 9 87=G LDN 6 JPDNUMB 9 87Q6 CALL 7 SUBPACKX 2 889Q 9 88PB LDN 4 AWORK4(2) 9 8992 LDN 6 JPDNUMC 16 89NL CALL 7 SUBPACKX [PUT OUT RESID NO 2 8=8= 6 8=#Y ...#UNS FPD 4 8=FL ...( 11 8=L# ... JBC NPLL,,BPARALLEL 19 8=R2 ... CALL 0 XLOCFINC [IN PLLL MODE OUTPUT INCR NO 9 8=XN ... LDN 4 INCNO(1) 9 8?4B ... LDN 6 JPDINCNUM 9 8?94 ... CALL 7 SUBPACKX 4 8?*Q ...NPLL 4 8?GD ...) 5 8?GN ...NOMESS 10 8?GY ... MHUNTW 3,FILE,FQUAL 9 8?HD ... LDX 0 ESENFN(3) 19 8?HY ... STO 0 AWORK1(2) [RESET AWORK1 FOR WRITESFS 17 8?JD ... LDX 6 ESENCT(3) [AND X6 FOR SETESFS 9 8?JY ... CALL 4 SETESFS 9 8?KD ... CALL 4 WRITESFS 20 8?KY ... LDX 0 AWORK1(2) [PASS NEW VALUE OF AWORK1 15 8?LD ... STO 0 ACOMMUNE1(2) [TO INCWRITE 15 8?M6 UPPLUS 1 [NORMAL EXIT 5 8?MB ...X3INCMON 9 8?ML ... CALL 4 WRITESFS 5 8?MW ... UP 4 8?N6 ...# 5 8?NB ...X4INCMON 10 8?NL ... CALL 4 UPDATEQUAL 9 8?NW ... CALL 4 WRITESFS 7 8?P6 ... UPPLUS 1 16 8?PB ...X5INCMON [ENTRY TO WRITE EIS 20 8?PL ... CALL 4 RESTARTFREE [ENSURE ALL RESTAR DATA FORGOTTEN 21 8?PW ... BC ,BFILEINC [ENSURE WRITESFS PICKS UP 1ST FINC 5 8?Q6 ...NEXTFINC 15 8?QB ... LDN 6 0 [ZERO FILE SIZE 16 8?QL ... STOZ AWORK1(2) [ZERO FILE NUMBER 15 8?QW ... CALL 4 SETESFS [SET UP ESFS 9 8?R6 ... CALL 0 XLOCFINC 19 8?RB ... JBC YEOTS,1,BINCFIN [J IF INC NOT TO BE WOUND UP 21 8?RL ... JBSS YEOIS,1,BINCEOIS [J IF END INC SENT ALREADY WRITTEN 15 8?RW ... LDCT 7 #200 [SHOW EI SENT 20 8?S6 ... JMBC NOREST,1,BINCENDBAT,BINCGENRES[J IF NOT SUIT FOR GEN RES 18 8?SB ... LDCT 7 #600 [MARK AS GEN RESTOREABLE 5 8?SL ...NOREST 9 8?SW ... STO 7 ESENGR(3) 15 8?T6 ... CALL 4 WRITESFS [WRITE E1S 5 8?TB ...YEOIS 21 8?TL ... JBSS YEOTS,1,BINCEOTS [J IF END OF TAPE SENT ALREADY WRITTE 10 8?TW ... MHUNTW 3,FILE,FQUAL 7 8?W6 ... LDN 0 7 14 8?WB ... STO 0 ESENTYP(3) [SET ETS 17 8?WL ... STOZ ESENGR(3) [CLEAR GENRES WORD 9 8?WW ... CALL 4 WRITESFS 5 8?X6 ...#UNS IDC 4 8?XB ...( 4 8?XL ...# 17 8?XW ...# WE NOW BACKSPACE BACK OVER END OF TAPE SENTINEL 19 8?Y6 ...# SO THAT TAPE IS CORRECTLY POSITIONED FOR NEXT INCREMENT,IF 14 8?YB ...# IT USES THIS TAPE WITHOUT REWINDING 4 8?YL ...# 17 8?YW ... LDN 3 2 [ COUNT OF BACKSPACES 5 8?_6 ...YBSPACE2 18 8?_B ... LDN 0 3 [ SET UP APPROPRIATE MODE 10 8?_L ... STO 0 ACOMMUNE1(2) 18 8?_W ... DOWN MTDUMP,2 [ DOWN TO FIRE OFF PERIS 17 8#26 ... BCT 3 YBSPACE2 [ BACK FOR NEXT PERI 19 8#2B ... CALL 0 XLOCFINC [ GET POINTER TO FINC AGAIN 4 8#2L ...) 5 8#2W ...YEOTS 17 8#36 ... JBC NOPLL,,BPARALLEL [J IF NOT IN PL MODE 17 8#3B ... JBSS NOPLL,,BFILEINC [J IF NOT SECOND FINC 16 8#3L ... HUNT2 1,FILE,FINC [X1-> 2ND FINC 20 8#3W ... JBS NEXTFINC,1,BINCFIN [IF INCR TO BE WOUND UP JUMP BACK 5 8#46 ...NOPLL 18 8#4B ... BC ,BDUMPING [ SHOW NO LONGER DUMPING 9 8#4L ... CALL 0 XFDUMPCOM 17 8#4W ... FREECORE 1 [ FREE FDUMPCOM BLOCK 10 8#56 ... MFREEW FI,INDEXCHK 5 8#5B ... UP 5 8#5L ...X7INCMON 5 8#5W ...MTEOT 9 8#66 ... ACROSS INCEOT,1 4 8#6Q # 10 8#LB MENDAREA 20,K99INCMON 4 8*62 # 4 8*KL #END 8 ____ ...35214715000900000000