12 22FL SEG FSERR,866,S.SEXTON 16 22_= # (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 10 23DW SEGENTRY K1FSERR,QK1 10 23YG SEGENTRY K2FSERR,QK2 10 24D6 SEGENTRY K3FSERR,QK3 10 24XQ SEGENTRY K4FSERR,QK4 10 25CB SEGENTRY K5FSERR,QK5 10 25X2 SEGENTRY K7FSERR,QK7 10 26BL SEGENTRY K8FSERR,QK8 15 26W= # THIS SEGMENT CONTAINS ERROR PATHS USED BY 10 27*W # FINDFS AND BRADSPLT 16 27TG # THE FOLLOWING ERROR CASES ARE DEALT WITH AT 7 28*6 # K1FSERR 17 28SQ # 1. FILE OCCUPIES MORE THAN ONE FILE AREA 17 29#B # 2. THE FILE AREA IS ON A DIFFERENT DISC 17 29S2 # 3. THE RETENTION PERIOD HAS NOT EXPIRED 14 2=?L # 4. THE FILE IS A SYSTEM FILE 14 2=R= # 5. BUCKET SIZE IS > 1 BLOCK 17 2?=W # THE APPROPRIATE MESSAGE IDENTIFIER IS 13 2?QG # PASSED DOWN IN AWORK2 15 2#=6 # ENTERED FROM FINDFS AND BRADSPLT 4 2#PQ # 11 2*9B # K2FSERR FILE USED TWICE 12 2*P2 # ENTERED FROM FINDFS 4 2B8L # 14 2BN= # K3FSERR FAILURE WHILST REWRITING FIC 15 2C7W # ENTERED FROM FINDFS AND BRADSPLT 4 2CMG # 13 2D76 # K4FSERR NOT OK REPLY FROM EXOPEN 12 2DLQ # ENTERED FROM FINDFS 4 2F6B # 13 2FL2 # K5FSERR NOT OK REPLY FROM EXOPEN 13 2G5L # ENTERED FROM BRADSPLT 4 2GK= # 11 2H4W # K7FSERR FILE NOT FOUND 12 2HJG # ENTERED FROM FINDFS 17 2J46 # ACOMMUNE9 IS USED TO PASS AMOUNT OF CORE 17 2JHQ # TO BE REMOVED FROM FDTABLE FOR ERASED 17 2K3B # FILESTORE AND SWAP DEFINITIONS TO FINDFS 4 2KH2 # 11 2L2L # K8FSERR FILE NOT FOUND 13 2LG= # ENTERED FROM BRADSPLT 4 2L_W # 7 2MFG #SKI EMSJNL<1$1 13 2M_6 ZM6 +5,16HIS IT AVAILABLE? 9 2NDQ XN2 #77777 15 2NYB XSUIT +FIFSSUIT [NOT SUI0ABLE 15 2PD2 XUSED +FIFUSED [USED TWICE 18 2PXL XFIR +FIRES [RESIDENCE N NOT FOUND 15 2QC= XFAIL +FIFSFAIL [FAILURE ON 14 2QWW XONL +FIFSONL [NOT ONLINE 15 2RBG XNOTF +FIFSNOTF [NOT FOUND.... 4 2RW6 # 6 2S*Q Y 4H000Y 6 2STB N 4H000N 4 2T*2 # 4 2TSL # 4 2W#= # 4 2WRW # 17 2X?G # S/R TO OUTPUT MESSAGE NO CONTAINING A FILENAME. 17 2XR6 # ON ENTRY X3 CONTAINS IDENTIFIER OF MESSAGE. 18 2Y=Q # LINK X4, X0 OVERWRITTEN; ON EXIT X1=FX1, X2=FX2. 4 2YQB # 4 2_=2 # 17 2_PL ROUTE +1 [ROUTING PARAMETER 5 329= MESSOUT 16 32NW SBX 4 FX1 [DATUMISE LINK 8 338G LDX 1 FX1 10 33N6 INFORMX ROUTE(1),3,1 9 347Q CALL 5 XEMSCWT 15 34MB ADX 4 FX1 [RESET LINK 7 3572 EXIT 4 0 4 35LL # 4 366= # 18 36KW # S/R TO OUTPUT MESSAGE CONTAINING FILENAME WHICH IS IN 11 375G # BSTB/FSTAB BLOCK. 21 37K6 # LINK X4, USES X0 X1 X2 X4, X3 CONTAINS IDENTIFIER OF MESSAGE 12 384Q # ON EXIT X1=FX1, X2=FX2. 4 38JB # 4 3942 # 4 39HL # 5 3=3= MESSOUTX 8 3=GW SBX 4 FX1 10 3?2G MHUNTW 1,BSTB,FSTAB 7 3?G6 SMO 7 17 3?_Q LDN 1 FIRSS(1) [POINT TO FILENAME. 8 3#FB LDN 2 12 19 3#_2 XMS2 LDCH 0 0(1) [GET NEXT CHAR OF FILENAME 16 3*DL BCHX 1 / [POINT TO NEXT 8 3*Y= SBN 0 #20 18 3BCW BZE 0 XMS1 [HAVE COME TO END OF NAME 18 3BXG NGX 5 2 [ADJUST COUNT OF CHARS 8 3CC6 XMS1 BCT 2 XMS2 19 3CWQ ADN 5 13 [X5 = NO. OF CHARS IN NAME 7 3DBB SMO 7 8 3DW2 LDN 1 FIRSS 20 3F*L OUTPARAX 5,1,BSTB,FSTAB [SUPPLY NAME IN BSTB/FSTAB AS %A 20 3FT= INFORMX ROUTE(1),3,1 [OUTPUT MESSAGE TO OP'S CONSOLE 9 3G#W CALL 5 XEMSCWT 8 3GSG ADX 4 FX1 7 3H#6 EXIT 4 0 4 3HRQ # 4 3J?B # 4 3JR2 # 15 3K=L # S/R TO WAIT FOR OPS MESSAGE TO BE OUTPUT 4 3KQ= # 5 3L9W XEMSCWT 8 3LPG SBX 5 FX1 10 3M96 STO 3 ASUPUSER(2) 10 3MNQ STO 4 ASUPUSER+1(2) 7 3N8B EMSCONWT 10 3NN2 LDX 3 ASUPUSER(2) 10 3P7L LDX 4 ASUPUSER+1(2) 8 3PM= ADX 5 FX1 7 3Q6W EXIT 5 0 4 3QLG # 4 3R66 # 18 3RKQ # S/R TO SUPPLY CONTENTS OF X5 AS %A OF NEXT MESSAGE. 16 3S5B # WILL BE A SERIAL NUMBER. CALLED VIA X4 4 3SK2 # 5 3T4L OUTNUM 8 3TJ= SBX 4 FX1 18 3W3W CONSERNO 5,ACOMMUNE1 [CONVERT OCTAL TO CHARS 7 3WHG LDN 0 1 17 3X36 ADS 0 ACOMMUNE1(2) [INSERT OUR OWN COUNT 10 3XGQ LDX 0 ACOMMUNE2(2) 10 3Y2B LDX 1 ACOMMUNE3(2) 7 3YG2 SRL 01 6 15 3Y_L STO 0 ACOMMUNE2(2) [SHIFT CSN 15 3_F= STO 1 ACOMMUNE3(2) [ALONG A CHAR 14 3_YW LDCT 0 #320 [INSERT * 10 42DG ORS 0 ACOMMUNE2(2) 13 42Y6 OUTPARAM ACOMMUNE1(2),ACOMMUNE2 8 43CQ ADX 4 FX1 7 43XB EXIT 4 0 4 44C2 # 4 44WL # 14 45B= # S/R TO UNLOCK & RELEASE STORAGE UNIT 15 45TW # CALLED VIA X4. EXPECTS SUSN IN ASUSN(3). 4 46*G # 5 46T6 UNLKRLST 8 47#Q SBX 4 FX1 9 47SB UNLOCKSU ASUSN(3) 10 48#2 MHUNTW 3,EWDAS,EXOF 9 48RL RELST ASUSN(3) 8 49?= ADX 4 FX1 7 49QW EXIT 4 0 4 4==G # 4 4=Q6 # 4 4?9Q # 5 4?PB XREST 8 4#92 SBX 4 FX1 10 4#NL MHUNTW 1,BSTB,FSTAB 7 4*8= LDCT 0 4 7 4*MW SMO 7 20 4B7G LDX 5 FIRSS+3(1) [B0-5 TYPE,B6=1 SWAP,B7-23 RESNUM 7 4BM6 ANDX 0 5 15 4C6Q BNZ 0 XRT1 [J IF SWAP 17 4CLB OUTMESS FIFSTR [MAKE %A FILESTORE 8 4D62 BRN XRT2 4 4DKL XRT1 15 4F5= OUTMESS FISWAP [MAKE %A SWAP 4 4FJW XRT2 8 4G4G ANDN 5 #77 16 4GJ6 OUTNUM 5,0 [RESIDENCE NUMBER 8 4H3Q ADX 4 FX1 7 4HHB EXIT 4 0 4 4J32 # 4 4JGL # 8 4K2= # ENTRY POINT 1 4 4KFW # 4 4K_G QK1 8 4LF6 SMO FX1 17 4LYQ LDX 3 XSUIT [OUTPUT NOT SUITABLE 14 4MDB CALL 4 MESSOUTX [MESSAGE 8 4MY2 SMO FX2 9 4NCL LDX 3 AWORK2 17 4NX= CALL 4 MESSOUT [OUTPUT EXPLANATION 8 4PBW BRN S3AA 4 4PWG # 4 4QB6 # 8 4QTQ # ENTRY POINT 2 4 4R*B # 4 4RT2 QK2 8 4S#L S4 SMO FX1 15 4SS= LDX 3 XUSED [USED TWICE 16 4T?W S3A CALL 4 MESSOUTX [OUTPUT MESSAGE 10 4TRG S3AA MHUNTW 1,BSTB,FSTAB 7 4W?6 SMO 7 14 4WQQ LDCH 0 FIRSS+3(1) [GET TYPE 7 4X=B LDN 4 3 20 4XQ2 STO 4 AWORK1(2) [COUNT OF CORE TO REMOVE FDTABLE 7 4Y9L SBN 0 9 17 4YP= BZE 0 S4B [JUMP IF SLOW DRUM 8 4_8W SBN 0 16 14 4_NG BZE 0 S4B [OK 2851 10 5286 MHUNTW 3,EWDAS,EXOF 9 52MQ ADS 4 AWORK1(2) 17 537B CALL 4 UNLKRLST [UNLOCK & RELEASE SU 8 53M2 BRN S4D 10 546L S4A MHUNTW 1,BSTB,FSTAB 7 54L= SMO 7 14 555W LDCH 0 FIRSS+3(1) [GET TYPE 7 55KG LDN 4 3 20 5656 STO 4 AWORK1(2) [COUNT OF CORE TO REMOVE FDTABLE 7 56JQ SBN 0 9 8 574B BZE 0 S4B 8 57J2 SBN 0 16 8 583L BZE 0 S4B 9 58H= ADS 4 AWORK1(2) 4 592W S4D 10 59GG MHUNTW 3,EWDAS,EXOF 8 5=26 BRN S4C 10 5=FQ S4B MHUNTW 3,EWDAS,FDRUM 7 5=_B S4C FREECORE 3 19 5?F2 LDX 4 AWORK1(2) [PASS AMOUNT OF CORE TO BE 20 5?YL STO 4 ACOMMUNE9(2) [REMOVED FDTABLE UP IN ACOMMUNE9 5 5#D= UP 4 5#XW # 8 5*CG # ENTRY POINT 3 4 5*X6 # 4 5BBQ QK3 4 5BWB # 17 5CB2 # FAILURE TO OPEN FILE,OR FAIL WHILST REWRITING FIP 4 5CTL # 4 5D*= # 4 5DSW # 4 5F#G # 17 5FS6 S5 MHUNT 3,EWDAS,EXOF [FAIL WHILE REWRITING FIP 9 5G?Q LDX 5 ASUSN(3) 17 5GRB CALL 4 UNLKRLST [UNLOCK & RELEASE SU 8 5H?2 BRN S5A 4 5HQL # 4 5J== # 9 5JPW # ENTRY POINT 4 & 5 4 5K9G # 7 5KP6 QK4 NGNC 5 1 7 5L8Q QK5 LDN 5 0 9 5LNB STO 5 AWORK2(2) 10 5M82 MHUNTW 3,EWDAS,GEXD 17 5MML LDX 0 EMARK(3) [CHECK REASON FOR FAIL 8 5N7= ANDN 0 ANONL 15 5NLW BNZ 0 U1 [UNIT NOT ONLINE 9 5P6G LDX 0 EMARK(3) 16 5PL6 ANDN 0 AFAIL [TRANSFER FAIL 8 5Q5Q BNZ 0 U2 9 5QKB LDX 0 EMARK(3) 9 5R52 ANDN 0 ANFOUND 15 5RJL BNZ 0 U3 [FILE NOT FOUND 10 5S4= GEOERR 1,WRNGBITS 4 5SHW # 4 5T3G # 4 5TH6 U1 9 5W2Q LDX 3 XONL(1) 17 5WGB BZE 5 U1A [J IF BRADSPLT ENTRY 21 5X22 CALL 4 XREST [SET %A=FILESTORE OR SWAP %B=RESNO 16 5XFL OUTMESS FISTUN [%C=STORAGE UNIT 9 5X_= LDX 3 XFIR(1) 9 5YDW U1A STO 3 AWORK2(2) 10 5YYG MHUNTW 3,EWDAS,EXOF 16 5_D6 LDX 5 ASUSN(3) [GET SERIAL NO. 7 5_XQ SLL 5 6 7 62CB SRL 5 6 18 62X2 CALL 4 OUTNUM [SET USN AS %A OF MESSAGE 9 63BL LDX 3 AWORK2(2) 16 63W= CALL 4 MESSOUT [OUTPUT MESSAGE 19 64*W BRN U7A [WAIT FOR SUMMAT TO HAPPEN 10 64TG U2 MHUNTW 1,BSTB,FSTAB 7 65*6 SMO 7 14 65SQ LDX 5 FIRSS+4(1) [GET CSN 15 66#B BZE 5 U3 [NOT SUPPLIED 7 66S2 S5A SLL 5 6 7 67?L SRL 5 6 18 67R= CALL 4 OUTNUM [SET USN AS %A OF MESSAGE 15 68=W LDX 3 XFAIL(1) ['FAILURE ON' 17 68QG CALL 4 MESSOUT [OUTPUT TO CONSOLE 9 69=6 U3 LDX 4 AWORK2(2) 17 69PQ BZE 4 QK8 [J IF BRADSPLT ENTRY 4 6=9B # 8 6=P2 # ENTRY POINT 7 4 6?8L # 4 6?N= QK7 21 6#7W CALL 4 XREST [SET %A-FILESTORE OR SWAP %B=RESNO 15 6#MG OUTMESS FIFNAM [%C-FILENAME 8 6*76 SMO FX1 17 6*LQ LDX 3 XFIR [RESIDENCE NOT FOUND 4 6B6B U3A 20 6BL2 CALL 4 MESSOUTX [OUTPUT MESSAGE RE FILE NOT FOUND 18 6C5L U7A MHUNTW 1,BSTB,FSTAB [REQUIRE DEVICE TYPE FROM 18 6CK= [FSTAB BLK FOR ENGMESS 7 6D4W SMO 7 17 6DJG LDCH 5 FIRSS+3(1) [LEAVE IT IT IN X5 6 6F46 #SKI EMSJNL 18 6FHQ ENGMESS FIFSQUN,2,5,U7AB [WAIT FOR ENGEGE BUTTOM 7 6G3B #SKI EMSJNL<1$1 18 6GH2 ENGMESS ZM6,2,5,U7AB [WAIT FOR ENAGAGE BUTTON 18 6H2L BNG 2 U4 [WE HAVE CONSOLE INPUT 8 6HG= SMO FX2 19 6H_W STO 2 AWORK3 [STORE D.L.PTR FOR CARTCONT 10 6JFG DOWN CARTCONT,2 10 6J_6 U7B MHUNTW 1,BSTB,FSTAB 7 6KDQ SMO 7 19 6KYB LDCH 5 FIRSS+3(1) [PICK UP DEVICE TYPE AGAIN 8 6LD2 BRN U7AB 4 6LXL # 11 6MC= U4 HUNT 1,CONBUFF,EMSIN 16 6MWW BNG 1 U7B [NOTHING DOING 20 6NBG LDCH 4 A1+1(1) [GET 1ST CHAR OF REPLY - Y OR N 16 6NW6 FREECORE 1 [DISPOSE OF BLK 8 6P*Q TXU 4 N(1) 15 6PTB BCC S4A [JUMP IF NO 18 6Q*2 TXU 4 Y(1) [JUMP IF NOT YES OR NO 8 6QSL BCS U7A 7 6R#= UPPLUS 1 4 6RRW # 8 6S?G # ENTRY POINT 8 4 6SR6 # 16 6T=Q QK8 LDX 3 XNOTF(1) ['NOT FOUND' MSG 8 6TQB BRN U3A 4 6W=2 # 4 6WPL #END 6 ____ ...060055760001