22FL ... SEG USERSTRM,860,FILESTORE,USEROPES 22^= [ 2394 ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1983 23DW [ 23YG SEGENTRY K1USERSTRM,MDFOPEN 24D6 SEGENTRY K2USERSTRM,MDFCREATE 24XQ [ 25CB [ 25X2 XALLOW +AREPLY+ANOWAIT+ALEAVE 26BL XENSURE +AGENERAL+AQUERY+AREPWAIT+ACREATE 26W= MASK #37777777 27*W OPMOD +AREPWAIT+AQUERY 27TG VERSION #00100001 28*6 [ 28SQ [ ENTRY FROM USEROPEN.FILE EXISTS AND IS A MULTIFILE 29#B [ FABSNB,FLOCNB,ENT GIVEN.DIR OPEN AT TOP LEVEL 29S2 [ 2=?L [ 2=R= MDFOPEN 2?=W LDX 5 AWORK4(2) 2?QG TESTMODE 5,XCOMM,,COMMUNE [ ERROR IF COMMUNE GIVEN FOR A MULTIF 2#=6 TESTMODE 5,NOTER,NOT,ERASE [J IF NOT ERASE MODE 2#PQ CALL 7 SFILE 2*9B BRN MDFHERE [J IF ANOTHER ACT HAS MDF OPEN 2*P2 [ MDF NOT OPEN TO ANYONE; SO OPEN IT 2B8L SMO FX2 2BN= LDX 5 AWORK4 2C7W OPEN 2CMG LDX 1 FX1 2D76 SMO FX2 2DLQ LDX 0 AWORK2 2F6B BNG 0 MDFEMPTY [J IF MULT WAS (PARTIALLY) EMPTIED 2FL2 OPENMDF 2G5L ... LDX 4 5 2GK= ... ANDN 4 #7142 [MAIN,REPLY,NOWAIT,LEAVE 2H4W ... ORX 4 OPMOD(1) 2HJG LDN 1 #7000 2J46 ANDX 1 0 2JHQ SBN 1 #3000 2K3B BNZ 1 NOTAP 2KH2 [ TURN APPEND INTO GENERAL MODE 2L2L ... ADN 4 #2000 2LG= NOTAP 2LJ4 ...#UNS ILOGACC 2LKW ...( 2LLR ... TESTMODE AWORK4(2),XLOG,,ERASE 2LMN ... TESTMODE AWORK4(2),NOLOG,,DIR 2LQT ... LDX 1 AWORK3(2) 2LW2 ... SLC 1 9 2L^7 ... ANDN 1 #37 2M4B ... LOGACCESS 2,1 [LOG IF NECESSARY 2M68 ... BRN NOLOG 2M82 ...XLOG 2M9S ... LOGACCESS 4 [LOG ERASE 2M?L ...NOLOG 2M*D ...) 2MC= ... OPENRELX XBR,4 [OPEN MDF 2MFG TESTREP2 OK,REPOK,DIRCLOSE,TAGN 2M^6 TESTMODE 5,NOTOWN,NOT,ERASE [NON-OK REPLY,NOT ERASE MODE-GO REPER 2NDQ TESTREP2 CANT,XGERR,CLUDGE,XGERR 2NYB BRN NOTOWN 2PD2 XGERR 2PXL GEOERR 1,MDFCLERR 2QC= REPOK 2QWW MHUNT 1,FILE,FLOCNB 2RBG TRACE A1(1),MDFOPEN 2RW6 TOPFCB2 2 2S*Q BBUS 14,FSTREND(2),OPENORD 2STB CLOSE 2T*2 SETREP2 NOFILE 2TSL BRN NOTOWN 2W#= OPENORD 2WRW BS 2,BFMDFOP [MEANS MDF FULLY OPEN 2X?G [THIS BIT IS SET AFTER FILE HAS BEEN OPENED AND IS UNSET IN CLOSEMULT 2XR6 [SO THAT TO BE ERASED AND LIDSTFILE BITS GET PROPER ATTENTION 2Y=Q SMO FX1 2YQB LDX 0 MASK 2^=2 ANDS 0 FSTREND(2) 2^PL LDX 0 CTOPEN(2) 329= ANDX 0 HALFTOP 32NW BZE 0 NWR 338G TESTMODE 5,XEMPT,,EMPTY 33N6 [ 347Q [ MULTI TO BE WRITTEN TO.SET FSTRID,BLOCKS ALTERED BIT 34MB [ 3572 WRITMDF 35LL SETBIT 0,FSTREND(2) 366= LDX 0 ASTRID 36KW ADN 0 1 375G STO 0 ASTRID 37K6 STO 0 FSTRID(2) 384Q LDCT 0 #100 38JB ORS 0 COMM(2) 3942 TESTMODE 5,ZERMODE,,ERASE 39HL [ FOR AS *FW,MULT(APPE) WHERE MULT IS AN ALREADY EXISTING BASIC 3=3= [ FILE, WE INSURE THAT A NEW ELEMENT IS OF THE SAME TYPE/MODE 3=GW [ AS THE MDF (EVEN IF THE RECORDS ARE TO BE AMORPHOUS). 3?2G MHUNTW 1,FILE,CREATE 3?G6 BNG 1 NWR [J IF NO TYPE/MODE CHANGE TO BE MADE 3?^Q LDX 0 FETM(2) [GET TYPE/MODE OF THE MDF 3#FB STO 0 CETM(1) [PUT IT IN CREATE FOR THE ELEMENT 3#^2 BRN NWR 3*DL [ IN MARK6 MULTIFILES WERE 'OVERWRITTEN' (I.E., EMPTY-ED) BY ERASING 3*Y= [ (VIA CLOSEMULT) & THEN BRN TO 'TAGN' TO CREATE THE NEW MULTIFILE. 3BCW [ BUT BUG 9884--ORIGINAL TRAPS WERE LOST (SINCE DELETED BY ERASE). 3BXG [ SINCE MARK 7: ERASE ALL ELEMENTS EXCEPT MDF, THEN OPEN (EMPTY) 3CC6 [ THE MDF TO RETAIN TRAPS. 3CWQ 3DBB XEMPT 3DW2 TRACE FSTREND(2),EMPTMULT 3F*L 3FT= [ IF MDF HAS NO ELEMENTS, NO NEED TO OPENREL(EMPTY) THE MDF 3G#W LDEX 0 FSTREND(2) [GET NEW HIGHEST GEN. NO. 3GSG SBN 0 2 3H#6 BPZ 0 MULTCLOSE 3HRQ LDCT 0 #377 3J?B ANDX 0 FSTREND(2) 3JR2 SLC 0 9 3K=L SBN 0 2 3KQ= BPZ 0 MULTCLOSE [J IF ELEMENTS TO BE CHOPPED OFF 3L9W [ EVEN IF THE MDF HAS NO ELEMENTS, WE NEED TO INSURE THAT THE 3LPG [ TYPE/MODE CHANGES ARE MADE (E.G., WHEN OVERWRITING A BASIC MULT 3M96 [ BY AS *FW,MULT OR THE CONVERSE). WE ALTER THE FETM OF THE MDF 3MNQ [ BY THE TYPE/MODE OF THE NEW MULTIFILE AND LET CLOSE UPDATE THE ENT 3N8B MHUNTW 1,FILE,CREATE 3NN2 BNG 1 WRITMDF [J IF NO CREATE 3P7L LDX 0 CETM(1) [GET TYPE/MODE OF THE NEW MULTIFILE 3PM= STO 0 FETM(2) [PUT INTO THE UN-OVERWRITTEN MDF 3Q6W BRN WRITMDF 3QLG MULTCLOSE 3R66 LDN 0 1 3RKQ DEX 0 FSTREND(2) 3S5B CLOSEMULT [ERASE EXCESS ELEMENTS 3SK2 LDX 0 GSIGN [SET BIT TO INDICATE THAT A MULT 3T4L ORS 0 AWORK2(2) [HAS BEEN EMPTIED-FOR USERCREA 3TJ= BRN TAGN 3W3W [BRN TAGN BECAUSE NEW MULT MAY HAVE BEEN CREATED AFTER THE CLOSEMULT 3WHG 3X36 3XGQ 3Y2B MDFEMPTY 3YG2 [DESPITE AWORK2 INDICATION THAT THE MULT WAS EMPTIED, IT MAY NOT BE-- 3Y^L [A NEW MULT MAY HAVE BEEN CREATED BY ANOTHER JOB AFTER ABOVE 3^F= [CLOSEMULT_ SO CHECK NO. OF ELEMENTS FROM ENT BLOCK. 3^YW 42DG MHUNTW 3,FILE,ENT 42Y6 [ CHEK OHGN SINCE UPDATED AT K2ERASE. 43CQ LDCT 0 #377 43XB ANDX 0 ESTREND(3) [GET OLD HIGHEST GEN. NO. 44C2 SLC 0 9 44WL SBN 0 2 45B= BPZ 0 OPENMDF [J TO OPEN MDF TO CHEK FSTREND 45TW [ OTHERWISE (ACCORDING TO THE ENT) THE MDF IS THE ONLY FILE LEFT 46*G CALL 7 XDUPLICATE [DUPLICATE THE CREATE BLOCK 46T6 LDX 0 5 47#Q ANDN 0 #7146 [MAIN,REPLY,NOWAIT,EMPTY,LEAVE 47SB ORX 0 OPMOD(1) 47W# ... LDN 1 #7000 47Y= ... ANDX 1 0 4828 ... SBN 1 #3000 4846 ... BNZ 1 NOTAP2 4864 ...[ TURN APPEND INTO GENERAL MODE 4882 ... ADN 0 #2000 489Y ...NOTAP2 48#2 OPENRELX XBR,0 48RL TESTREP2 OK,XEMPOK,DIRCLOSE,TAGN,NOFILE,TAGN 49?= BRN NOTOWN [REPORT OTHER ERRORS 49QW XEMPOK 4==G MHUNT 1,FILE,FLOCNB 4=Q6 TRACE A1(1),MDFONLY 4?9Q TOPFCB2 2 4?PB BS 2,BFMDFOP [MDF FULLY OPEN 4#92 BRN WRITMDF 4#NL 4*8= ZERMODE 4*MW SETBIT 14,FSTREND(2) [MARK MDF TO BE ERASED 4B7G CLOSEMULT 4BM6 SETREP2 OK [FABSNB USED BY CLOSEMULT 4C6Q SREPC2 MULTFILE [FOR ERASE'S SAKE 4CBJ ... LDN 4 0 [NO FILE OPENED 4CLB BRN UP1 4D62 [ 4DKL [ ROUTINE TO CHECK IF ANYONE ELSE HAS THE MDF OPEN 4F5= [ 4FJW SFILE 4G4G STO 7 ACOMMUNE4(2) 4GJ6 TOPFCB2 2 4H3Q ... MHUNT 3,FILE,ENT 4HHB ... LDX 4 ELOC1(3) 4J32 ... BASEFCB 1,FILE,SOL8,6 4JGL ...SOL1 4K2= ... BXE 4 FLOC1-FCBRING(1),SOL3 [COMPARE FCB LOCAAL NAME 4KFW ...SOL2 [NOT EQUAL SO TRY NEXT FCB 4K^G ... NEXTFCB 1,FILE,SOL1,6 4LF6 ... BRN SOL8 [END OF FCB RING 4LYQ ...SOL3 4MDB ... LDX 0 COMM-FCBRING(1) [FORGET DIRECTORIES 4MY2 ... BNG 0 SOL2 4NCL ...[ 4NX= ...[ TEST FULL LOCAL NAME AND USER NAME 4PBW ...[ 4PWG ... TESTNAMX 3,FUSER1-FCBRING(1),FME1(2),SOL2 4QB6 ... TESTNAMX 4,FLOC2-FCBRING(1),ELOC2(3),SOL2 4QTQ ... LDX 7 ELAN(3) 4R*B ... BXU 7 FLAN-FCBRING(1),SOL2 4RT2 ... SBN 1 FCBRING 53M2 SOL7 LDX 2 FX2 546L LDX 7 ACOMMUNE4(2) 54L= EXIT 7 0 555W SOL8 LDX 2 FX2 55KG LDX 7 ACOMMUNE4(2) 5656 EXIT 7 1 56JQ [ 574B [ 57J2 [ 583L [ ROUTINE TO DUPLICATE THE FILE/CREATE BLOCK BECAUSE OPEN(EMPTY) 58H= [ OPEN(CREATE) CONSUME CREATE BLOCKSFOR THE MDF, NEED TO SET UP 592W [ ACREATE BLOCK FOR THE ELEMENT AS WELL. 59GG [ 5=26 XDUPLICATE 5=FQ SBX 7 FX1 5=^B SETNCORE CREALEN,3,FILE,CREATE 5?F2 HUNT2 2,FILE,CREATE,3 5?YL LDCT 0 #460 5#D= ORS 0 CEINF1(2) [SERIAL,MDF,MULTEL 5#XW LDCT 0 #20 5*CG ERS 0 CEINF1(2) [INSURE ONLY MDF IS SET 5*X6 LDX 0 VERSION(1) [NO. OF GENERATIONS IN MULTIFILE 5BBQ STO 0 CEVERSION(2) 5BWB LDX 1 ALOGLEN(2) 5CB2 ADN 2 A1 5CTL ADN 3 A1 5D*= MOVE 2 0(1) 5DSW LDX 1 FX1 5F#G ADX 7 FX1 5FS6 EXIT 7 0 5G?Q [ 5GRB [ 5H?2 TAGNDIR 5HQL CLOSESET 5J== MFREEW FILE,ENT 5JB7 ... JBC NOWAIT,,ICTSW [J IF NOT ASF 5JG4 ... COOR3 #41 [WAIT TO ALLOW ACTS TO RUN 5JK^ ...NOWAIT 5JPW BRN TAGN 5K9G SER CLOSE 5KP6 SETREP2 NOFILE [MDF ERASED 5L8Q BRN NOTOWNT 5LNB [ 5M82 [ ERASE MODE -- MDF OPEN TO ANOTHER ACTIVITY 5MML [ SEE GIM DOCUMENTATION FOR USERSTRM FOR EXPLANATIONS 5N7= [ 5NLW MDFHERE 5P6G JBC TAGNDIR,1,BFMDFOP [J IF NOT FULLY OPEN 5PL6 BBS 14,FSTREND(1),SER [J IF ALREADY ERASED 5Q5Q SETBIT 14,FSTREND(1) [MARK TO BE ERASED 5QKB LDEX 7 FVERSION(1) 5R52 SBN 7 2 5RJL BNG 7 NONEOPEN 5S4= [ 5SHW [ IF THERE IS AN ELEMENT OPEN FOR WRITING, SET T.B.E. BIT 5T3G [ THEN SET T.B.E. BIT IN THE MDF ENTRY 5TH6 [ 5W2Q BBUS 0,CTOPEN(1),NONEOPEN 5WGB ADN 7 2 5X22 SETBIT 5XFL MHUNT 2,FILE,FLOCNB 5X^= STO 7 A1+4(2) 5YDW GETDIR 1 5YYG TESTRPN2 OK,XSETBIT 5^29 ...#UNS ILOGACC 5^3Y ...( 5^5M ... LDX 0 7 [ONLY LOG MDF IE GEN 1 5^7B ... SBN 0 1 5^95 ... BNZ 0 NLOG 5^=S ... LOGACCESS 4 5^#H ...NLOG 5^B= ...) 5^D6 MHUNTW 3,FILE,ENT 5^XQ BS 3,BEERASE [SET 'TO-BE-ERASED' BIT 62CB NAME 3,FILE,FWB 62X2 REWRITE 63BL MFREEW FILE,FWB 63W= XSETBIT 64*W SBN 7 1 64TG BZE 7 NONEXIST 65*6 NONEOPEN 65SQ LDN 7 1 66#B BRN SETBIT 66S2 NONEXIST 67?L CLOSETOP 67R= ANSOK2 OK 68=W SREPC2 MULTFILE 68QG MFREEW FILE,ENT 692# ... LDN 4 0 [NO FILE OPENED 69=6 BRN UP1 69PQ [ 6=9B [ NOT ERASE MODE -- TEST WHETHER FREEZE MODE 6=P2 [ 6?8L NOTER 6?N= TESTMODE 5,OPEN,NOT,FREEZE [OPEN MDF IF NOT FREEZING 6#7W [ 6#MG [ NOW SEE WHETHER MULTIFILE OPEN 6*76 [ 6*LQ CALL 7 SFILE 6B6B BRN MDFOUND 6BL2 [ 6C5L [ MULTIFILE NOT OPEN-HAVE TO USE ENT TO GIVE LATEST INFO 6CK= [ 6D4W MHUNTW 3,FILE,ENT 6DJG JBS TAGNDIR,3,BEUWB [IF UWB SET,TRY AGAIN 6F46 BBS 14,ESTREND(3),SER [J IF MARKED TO BE ERASED 6FHQ LDEX 6 ESTREND(3) [NO. OF EXISTING ELEMENTS 6G3B SBN 6 2 6GH2 BNG 6 NOCOMPS [J IF MULTIFILE EMPTY 6H2L BRN ZERMULTID 6HG= [ REPLY TOO MANY LISTFILES 6H^W Z511 6JFG CLOSETOP 6J^6 SETREP2 LF512 6KDQ BRN NOTOWNT 6KYB [ 6LD2 [ THE MULTIFILE IS OPEN TO SOMEONEOR OTHER X1->FCB 6LXL [ 6MC= MDFOUND 6MWW JBC TAGNDIR,1,BFMDFOP [J IF NOT FULLY OPEN 6NBG BBS 14,FSTREND(1),SER [J IF MARKED TO BE ERASED 6NW6 LDX 0 FREEZECOUNT(1) 6P5Y ... SEGENTRY K98USERSTRM [USED BY LISTMAX MACRO 6P*Q SBN 0 511 6PTB BPZ 0 Z511 [CHECK NOT MORE THAN 511 FREEZERS 6Q*2 BBS 0,FSTREND(1),OPWR 6QSL LDEX 6 FSTREND(1) 6R#= SBN 6 2 6RRW BNG 6 NOCOMPS 6S?G ZERMULTID 6SR6 ADN 6 2 6T=Q LDN 7 0 [DEFAULT SETTING AMULTID=0 6TQB BRN XFINDACT 6W=2 NOTYETWRIT 6WPL LDN 6 1 [ [X6] = 1 IF NO ELEMENTS 6X9= BRN XFINDACT 6XNW OPWR 6Y8G LDEX 0 FSTREND(1) 6YN6 SBN 0 2 6^7Q BNG 0 TAGNDIR [CANT FREEZE IF NO ELEMENTS 6^MB LDN 0 1 7272 ADS 0 FREEZECOUNT(1) [FREEZE ONCE 72LL LDX 7 FSTRID(1) [ X7=FSTRID IF MULT BEING WRITTENTO 736= LDEX 6 FSTREND(1) 73KW SBN 6 2 745G BNG 6 NOTYETWRIT 74K6 ADN 6 2 754Q XFINDACT 75JB SBN 6 1 7642 STO 6 4 [NO. OF ELEMENTS 76HL STO 7 5 [AMULTID 76L9 ...#UNS ILOGACC 76NS ...( 76RC ... LDN 1 CREAD [LOG LISTFILE 76W2 ... LOGACCESS 2,1 76YK ...) 773= BZE 6 RCLENT [J IF NO ELEMENTS TO FREEZE 77GW SETNCORE 6,3,FILE,FLOCNB 782G MHUNTW 2,FILE,ENT 78G6 ADN 3 A1 78^Q ADN 2 ELOC1 79FB MOVE 2 5 79^2 SBN 2 ELOC1 7=DL LDX 0 ELAN(2) 7=Y= SBN 3 A1 7?CW STO 0 A1+5(3) 7?XG ADN 6 1 7#C6 STO 6 A1+4(3) 7#WQ FREECORE 2 7*BB [ 7*W2 [ CHECK THAT EACH ELEMENT EXISTS AND FREEZE IT 7B*L [ 7BT= LDN 6 0 [NO. OF ELEMS OPEN FOR WRITING 7C#W XGET 7CSG GETDIR 1 7D#6 ... TESTRPN2 OK,MISSINGELEM 7FR2 DOWN COMPOST,8 7G2S ... TESTREP2 LF512,Z511 7G=L ADX 6 ACOMMUNE1(2) [ADX TO NO. OF ELEMS OPEN UNCLEANLY 7GQ= MFREEW FILE,ENT 7H24 ...MISSINGELEM 7H9W MHUNT 3,FILE,FLOCNB 7HPG LDX 7 A1+4(3) 7J96 SBN 7 1 7JNQ STO 7 A1+4(3) 7K8B SBN 7 1 7KN2 BNZ 7 XGET 7L7L BRN RCLOSE 7LM= RCLENT 7M6W MFREEW FILE,ENT 7MLG RCLOSE 7N66 BZE 5 NOSBX [J IF MDF NOT OPEN 7NKQ SBX 4 6 [SBX NO. OF ELEMS WHICH ARE (WERE) 7P5B NOSBX [OPEN FOR WRITING--HSPACTLF TAKES CAR 7PK2 LFMULT 4,5 [LISTFILING THEM (IF CLOSED) 7Q4L SREPC2 MULTFILE 7QJ= ANSOK2 OK 7QS4 ... LDN 4 0 [NO FILE OPENED 7R3W BRN UP1 7RHG NOCOMPS 7S36 MFREEW FILE,ENT 7SGQ CLOSETOP 7T2B BRN SEND 7TG2 NWR 7T^L HUNTW 2,FILE,CREATE 7WF= BNG 2 NFC 7WYW SAPHERE 7XDG LDCT 0 #460 7XY6 ORS 0 CEINF1(2) 7YCQ LDCT 0 #40 7YXB ERS 0 CEINF1(2) 7^C2 STOZ CEVERSION(2) [SHOULD BE ZERO FOR SERIAL NON-MDFS 7^WL NFC 82B= [ 82TW [ TAKE OUT MULT,FILE MODES AND PUT IN MULTEL AND UNTRAP MODES 83*G [ TO INSURE THAT AN ELEMENT WILL BE OPENED AND THAT NO TRAPS 83T6 [ ARE CHECKED SINCE CHECK MUST HAVE BEEN MADE WHEN MDF WAS OPENED 84#Q [ 84FY ...#UNS FTS1 84M6 ... SETUPMODE ,3,FROZEN 84SB ADDMODE 5,MULTEL,UNTRAP 85#2 #SKI AMULTUSER 85RL SETMODE 0,MULT,FILE 86?= #SKI AMULTUSER<1$1 86QW SETMODE 0,STREAMS,STREAMONLY 87=G ORX 5 0 87Q6 ERX 5 0 [TAKE OUT MODES 87T= ...#UNS FTS1 87YB ... USEROPEX XBR1,5,3 883G ...#UNS FTS1 886L ...#SKI 889Q USEROPEX XBR1,5 88PB TESTRPN2 OK,NOK1 88^8 ... LDN 4 2 [2 FILES OPENED (MDF+ELEM OR MDF+DIR) 8992 SREP2 MULTFILE [SET SUBSIDIARY REPLY 89NL LDX 0 AWORK2(2) 8=8= BNG 0 XNEW [J IF MULT CREATED BY EMPTYING 8=MW TESTMODE AWORK4(2),TRACEREP,NOT,OFFSET 8?7G [ J IF NEW ELEM NOT BEING APPENDED TO OLD MULT 8?M6 XNEW 8#6Q LDN 0 ANQNEWFILE [TAKE OUT NEWFILE SUBREP 8#LB ORS 0 ACOMMUNE2(2) [IF MULT WAS EMPTIED 8*62 ERS 0 ACOMMUNE2(2) 8*KL TRACEREP 8B5= #SKI K6USERSTRM>199-199 8BJW TRACE ACOMMUNE2(2),REP2 8C4G UP1 8CJ6 VFREEW FILE,FTRAP 8D3Q MFREE FILE,FLOCNB 8DHB HUNTW 1,BSTB,FULLB 8F32 BNG 1 NOFULL 8FGL LDX 2 FX2 8G2= PICKREP2 6 8GFW PREP2 7 8G^G FREEBAX 8HF6 MFREEW BSTB,EMPTYB 8HYQ PUTREP2 6 8JDB PTREP2 7 8JY2 NOFULL 8J^F ... LDN 3 1 ['UPPLUS 1' EXIT 8K2Y ...RETURNUP 8K4C ...# 8K5W ...# ROUTINE TO EXIT, BEARING IN MIND SHARED FILESTORE ENHANCEMENT 8K7* ...# X3=0 => UP, X3=1 => UPPLUS 1 8KTB ... UPPLUS 0(3) ['UP' OR 'UPPLUS 1' EXIT 8KX= 8LBW 8LWG 8MB6 [ ENTRY FOR CREATING MULT 8MTQ [ 8N*B [ 8NT2 MDFCREATE 8P#L TESTMODE 5,XCOMM,,COMMUNE 8PS= MHUNT 2,FILE,FLOCNB 8Q?W LDX 0 A1+4(2) [GET GENERATION NO. 8QRG SBN 0 1 [IF NOT = 1, CANT CREATE AS MDF 8R?6 BZE 0 TYPECHEK 8RQQ SETREP NAMEFORM [INCORRECT ENTRANT DESCR. FORMAT 8S=B BRN XTYPE 8SQ2 TYPECHEK 8T9L [ BUG 599-*MT & *DA MULTIFILES CREATED. CHECK CETM 8TP= [ 8W8W MHUNTW 3,FILE,CREATE 8WNG LDCT 0 #377 8X86 ANDX 0 CETM(3) [GET PERIPHERAL TYPE 8XMQ SLC 0 9 8Y7B SBN 0 5 [SLOW PERIPHERAL TYPES<5 8YM2 BNG 0 OKTYPE 8^6L SETREP PERITYPE 8^L= BRN XTYPE 925W OKTYPE 92KG LDX 4 5 9356 ANDX 4 XALLOW(1) 93JQ ORX 4 XENSURE(1) 944B CALL 7 XDUPLICATE [DUPLICATE CREATE BLOCK 94J2 #SKI K6USERSTRM>99-99 953L TRACE 4,OPINGMDF 95H= OPENCREX XBR,4 962W TESTREP2 OK,OPOK 96GG MFREEW FILE,CREATE [FREE ONE CREATE BLK 9726 BRN NOK 97FQ OPOK 97^B LDX 5 AWORK4(2) 98F2 SETMODE 0,EMPTY [INSURE THAT 'EMPTY' NOT GIVEN 98YL ORS 0 5 [TO AVOID CLOSEMULT BUSINESS ABOVE 99D= ERS 0 5 99XW BRN REPOK 9=CG TAGN 9=X6 SETMODE 0,UNTRAP 9?BQ LDX 2 FX2 9?WB ORS 0 AWORK4(2) 9#B2 ACROSS USERONE,2 9#TL 9**= 9*SW XTYPE 9B#G MFREEW FILE,CREATE 9BS6 BRN NOTOWN 9C?Q NOTOWNT 9CRB ... VFREEW FILE,ENT 9D?2 BRN NOTOWN 9DQL 9F== NOK 9FPW TESTREP2 DIRCLOSE,TAGN 9G9G NOTOWN 9GP6 MFREE FILE,FLOCNB 9H8Q RE2 9HNB ACROSS REPERR,2 9J82 XCOMM 9JML SETREP2 COMMULT 9K7= BRN NOTOWNT 9KLW SEND 9L6G SETREP EMPTMULT [MULT HAS NO ELEMENTS 9LL6 BRN NOTOWN 9M5Q 9MKB 9N52 NOK1 9NJL TESTREP2 ENDMULT,SEND,MULTFULL,NOTOWN 9P4= PICKREP2 4 9PHW CLOSEMULT 9Q3G PUTREP2 4 9QH6 [ PASS OTHER REPLIES UP AS THEY HAVE ALREADY BEEN THROUGH REPERR. 9QQY ... LDN 4 0 [NO FILE OPENED 9R2Q BRN UP1 9RGB 9S22 9SFL XBR1 [BREAK-IN ON ELEMENT 9S^= CLOSEMULT 9TDW XBR [BREAK-IN ON MDF 9TYG VFREEW FILE,FTRAP 9WD6 MFREE FILE,FLOCNB 9WXQ VFREEBAX 9XCB VFREEW FILE,ENT 9XX2 VFREEW FILE,CREATE 9Y9C ... LDN 3 0 ['UP' EXIT 9YHS ... BRN RETURNUP 9YW= [ 9^*W [ 9^TG ... MENDAREA 20,K99USERSTRM =2SQ =3#B =3S2 #END ^^^^ ...45234361000100000000