12 22FL SEG USERLIB,,C DONG,USEROPES 4 22_= [ 15 2394 ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1983 4 23DW [ 11 23YG SEGENTRY K1USERLIB,ZENTRY 4 24D6 [ 4 24XQ [ 6 25CB READ +AREAD 7 25X2 NDIR 1,1,4HC1 5 26BL TWO 2 6 26W= TRAP +CREAD 7 27*W +CWRITE 4 27TG [ 4 28#6 ...[ 17 28*6 [ AWORK3-B0 SET IF TEMP DIRECTORY HAS BEEN SEARCHED 14 28SQ [ B23 SET IF GLIST BLOCK SET UP 4 29#B [ 19 29S2 [ ENTRY FROM USEROPEN-ENTRANT APPEARS TO BE A MAG TAPE 17 2=?L [ MAIN MODESIN X5,SUBSIDIARY MODES IN AWORK1 4 2=R= [ 4 2?=W [ 8 2?QG [ ENTRY POINT K1 4 2#=6 [ 4 2#PQ [ 5 2*9B ZENTRY 9 2*P2 #SKI K6USERLIB>99-99 4 2B8L ( 9 2BN= TRACE 5,USERLIB 10 2C7W MHUNT 2,FILE,FABSNB 17 2CMG BBUS 13,ATYPE(2),PR2 [J IF NO TSN GIVEN 8 2D76 SMO A1(2) 9 2DLQ LDX 0 A1+1(2) 8 2F6B BPZ 0 PR2 10 2FL2 GEOERR 1,XENOTAPE 4 2G5L PR2 4 2GK= ) 17 2H4W LDN 6 0 [MARKS NO GLIST BLK 21 2HJG TESTMODE 5,ULIB,,CREATE [IF CREATE MODE GIVEN,DIR.ENTRY TO BE 16 2J46 [ SET UP-DONT BOTHER TO LOOK IN TEMPORARY DIRECTORY 10 2JHQ MHUNT 2,FILE,FABSNB 21 2K3B BBS 16,ATYPE(2),ULIB [J IF NAMED WORKTAPE-DONT INSPECT THE 15 2KH2 [TEMP.DIR. 4 2L2L [ 19 2LG= [ IF TSN GIVEN,LOOK IN TEMPORARY DIRECTORY FIRST -BUG 3816 4 2L_W [ 12 2MFG BBS 13,ATYPE(2),TSNGIVN 17 2M_6 BBUS 14,ATYPE(2),PR2A [J IF NOT LOCAL NAME 21 2NDQ TSNGIVN [LOOK IN JOB'S TEMPORARY DIRECTORY 6 2NYB #SKI ANOUSER 17 2PD2 BRUSEN NOJOB [J IF NO JOB BLOCK 8 2PXL FJOCA 1,FX2 21 2QC= LDCT 0 #002 [THIS BIT SHOULD BE SET IF AND ONLY I 17 2QWW ANDX 0 JMISC(1) [THE TEMP DIR EXISTS. 17 2RBG BZE 0 P2 [BIT UNSET IN ERASE 4 2RW6 [ 18 2S*Q [ SET UP FABSNB FOR TEMP.DIR AND INSERT LOCAL NAME OF MT 4 2STB [ 10 2T*2 MHUNT 2,FILE,FABSNB 10 2TSL LDX 4 ALOGLEN(2) 8 2W#= SBX 4 A1(2) 7 2WRW LDX 7 4 8 2X?G ADN 7 16 17 2XR6 GETCORE 7,1 [SET UP NEW FABSNB 7 2Y=Q FINDCORE 3 7 2YQB SBX 7 4 8 2_=2 STO 7 A1(3) 10 2_PL MHUNT 2,FILE,FABSNB 9 329= LDX 7 ATYPE(2) 18 32NW STO 7 ATYPE(3) [NAME SAME AS THE OTHER 8 338G SMO A1(2) 8 33N6 ADN 2 A1-6 8 347Q ADN 3 A1+10 7 34MB SMO 4 18 3572 MOVE 2 6 [MOVE WHOLE OF LOCAL NAME 8 35LL FJOCA 2,FX2 7 366= SBN 3 6 8 36KW ADN 2 JNAME 17 375G MOVE 2 3 [TEMPORARY DIRECTORY 7 37K6 SBN 3 3 10 384Q ADN 2 JUSER-JNAME 15 38JB MOVE 2 3 [PROPER USER 7 3942 ADN 3 6 9 39HL LDN 2 NDIR(1) 7 3=3= MOVE 2 3 20 3=GW [ POSSIBLY MANY ENTRANTS WILL SUIT DESCRIPTION-LIST ALL IN GLIST 8 3?2G CALL 4 SLIST 21 3?G6 [ ENTER USERDIR IN ATTEMPT TO FIND ENTRANT IN TEMP.DIR-NO CREATE MOD 9 3?_Q DOWN USERDIR,1 15 3#FB BRN XBR [BREAK -IN 14 3#_2 BRN PR2B [ERROR 17 3*DL LDX 0 GSIGN [MARK SYS.SERIAL OPEN 9 3*Y= ORS 0 AWORK3(2) 21 3BCW TESTRPN2 OK,PFND [IF REPLY NOT OK,SHD BE NOFILE IF UP2 13 3BXG [ OTHERWISE ENTRANT FOUND IN TEMP.DIR. 10 3CC6 MHUNT 1,FILE,FABSNB 17 3CWQ HUNT2 1,FILE,FABSNB [FREE GIVEN FABSNB 21 3DBB FREECORE 1 [LEAVING ONE APPROPRIATE TO ENTRANT 15 3DW2 [IN TEMP.DIR. 8 3F*L BRN PR1 4 3FT= PFND 18 3G#W MFREE FILE,FABSNB [FREE FABSNB FOR TEMP.DIR 4 3GSG P2 10 3H#6 MHUNT 2,FILE,FABSNB 4 3HRQ PR2A 11 3J?B [ REMEMBER REL AND ZERO GEN 21 3JR2 SMO A1(2) [NUMBER MARKERS FOR USE IF REPLY IS 21 3K=L LDX 3 A1-2(2) [NOFILE AND THERE IS NO CREATE MODE 19 3KQ= BNZ 6 ULIB [J IF GLIST ALREADY SET UP 8 3L9W CALL 4 SLIST 4 3LPG ULIB 10 3M96 DOWN USERDIR,1 8 3MNQ BRN XBR 8 3N8B BRN UDREP 9 3NN2 LDN 4 ACREATE 7 3P7L ANDX 4 5 10 3PM= TESTREP2 NOFILE,PREP 8 3Q6W BNZ 4 RALR 4 3QLG PR1 16 3R66 BZE 6 NOLIST [J IF NO GLIST 21 3RKQ [ OTHERWISE MARK TSNS IN GLIST.SET B0 OF TSN IF WRITE TRAP GIVEN,AND 12 3S5B [ ZEROISE TSN IF NO TRAP GIVEN 10 3SK2 MHUNTW 2,AONBS,GLIST 18 3T4L LDX 6 A1(2) [NO OF TAPES OF THIS NAME 7 3TJ= TABULATE 16 3W3W LDN 3 1 [POS IN GLIST BLK 21 3WHG BXGE 6 TWO(1),TLIST [IF MORE THAN ONE TSN IN LIST,CHECK 13 3X36 [ALL 5 3XGQ NOLIST 8 3Y2B CALL 7 TC 15 3YG2 BRN NOTR [ERROR EXIT 17 3Y_L MHUNTW 2,CPAR,GPERCON [CHECK WPR QUALIFIERS 9 3_F= LDX 0 A1+2(2) 7 3_YW ANDN 0 7 16 42DG BZE 0 NOQUAL [NO QUAL GIVEN 9 42Y6 LDX 0 A1+1(2) 19 43CQ ANDN 0 1 [SEE DOC. FOR CPAR/GPERCON 7 43XB SMO 0 20 44C2 ANDX 4 TRAP(1) [CHECK TRAP APPROP TO QUALIFIER 8 44WL BZE 4 NOTR 4 45B= TCD 16 45TW BZE 6 NOLIST1 [ORDINARY CASE 21 46*G [ CONVERT GLIST CASE TO SINGLE ENTRANT CASE IF GLIST CONTAINS ONLY ONE 7 46T6 TABULATE 7 47#Q READAGAIN 10 47SB MHUNTW 2,FILE,FRB 10 48#2 NAME 2,FILE,ENT 10 48RL MFREEW AONBS,GLIST 7 49?= LDN 0 1 9 49QW ERS 0 AWORK3(2) 5 4==G YLIST 7 4=Q6 FREETAB 5 4?9Q NOLIST1 10 4?PB MFREE FILE,FLOCNB 15 4#92 CLOSETOP [DIRECTORY 4 4#NL [ 19 4*8= [ PUT USEROPEN'S MAIN,SUB MODES IN ACOMMUNE1,2 FOR LIBRARIAN 4 4*MW [ 10 4B7G STO 5 ACOMMUNE1(2) 9 4BM6 LDX 0 AWORK1(2) 10 4C6Q STO 0 ACOMMUNE2(2) 9 4CLB LDEX 0 AWORK3(2) 8 4D62 BNZ 0 MANY 14 4DKL [ ENTER LIBSEC IF ONLY ONE USEABLE MT 9 4F5= ACROSS LIBSEC,1 2 4FJW 2 4G4G 5 4GJ6 NOQUAL 9 4H3Q ANDN 4 CWRITE 20 4HHB BNZ 4 TCD [DO WHAT YOU WANT IF WRITE TRAP 7 4J32 LDN 0 1 20 4JGL ORS 0 A1+2(2) [PRETEND USER SET READ QUALIFIER 8 4K2= BRN TCD 2 4KFW 2 4K_G 15 4LF6 [ ENTER LIBMANY IF MORE THAN ONE USEABLE MT 4 4LYQ MANY 9 4MDB ACROSS LIBMANY,1 2 4MY2 2 4NCL 5 4NX= TLIST1 7 4PBW ADN 3 1 8 4PWG TABULATE ,1 5 4QB6 TLIST 14 4QTQ [ GLIST CONTAINING ENTRANTS-CHECK TRAPS 8 4R*B CALL 7 TC 15 4RT2 BRN TLISTA [ERROR EXIT 9 4S#L ANDN 4 CWRITE 16 4SS= BZE 4 TLISTB [NO WRITE TRAP 10 4T?W MHUNTW 2,AONBS,GLIST 8 4TRG LDCT 0 #400 7 4W?6 SMO 3 19 4WQQ ORS 0 A1(2) [SET B0 OF TSN FOR WRITE TRAP 5 4X=B TLISTB 9 4XQ2 #SKI K6USERLIB>99-99 4 4Y9L ( 7 4YP= SMO 3 8 4_8W LDX 0 A1(2) 10 4_NG TRACE 0,LIST TSN 4 5286 ) 9 52MQ BCT 6 TLIST1 8 537B BRN YLIST 5 53M2 TLISTA 10 546L MHUNTW 2,AONBS,GLIST 9 54L= #SKI K6USERLIB>99-99 4 555W ( 7 55KG SMO 3 8 5656 LDX 0 A1(2) 10 56JQ TRACE 0,TSNXTRAP 4 574B ) 7 57J2 SMO 3 18 583L STOZ A1(2) [REMOVE TSN WITHOUT TRAPS 7 58H= LDN 0 1 18 592W SBS 0 A1(2) [DECR.CT.OF USEFUL TAPES 9 59GG BCT 6 TLIST1 8 5=26 LDX 0 A1(2) 8 5=FQ BNZ 0 YLIST 19 5=_B BRN NOTR [NO TAPES WITH CORRECT TRAPS 2 5?F2 2 5?YL 4 5#D= PR3 8 5#XW LDX 2 FX2 10 5*CG STO 5 ACOMMUNE1(2) 9 5*X6 LDX 0 AWORK1(2) 10 5BBQ STO 0 ACOMMUNE2(2) 14 5BWB [ ONLY ENTER LIBTSN IF TSN ONLY GIVEN 9 5CB2 ACROSS LIBTSN,1 2 5CTL 2 5D*= 10 5DSW [ FREE GLIST IF SET UP 4 5F#G PREP 8 5FS6 BZE 6 PREP1 10 5G?Q MFREEW AONBS,GLIST 5 5GRB PREP1 19 5H?2 BZE 4 PR4 [J IF NO CREATE MODE GIVEN 10 5HQL MHUNT 3,FILE,FLOCNB 20 5J== LDX 0 A1+4(3) [CHECK GEN.NO.NOT OUT OF RANGE 8 5JPW BNG 0 WRGEN 15 5K9G [ LIBRARIAN REQUIRES AN ADICT IN CREATE CASE 11 5KP6 SETNCORE 3,3,FILE,ADICT 7 5L8Q TOPFCB2 2 8 5LNB ADN 2 FME1 8 5M82 ADN 3 A1 7 5MML MOVE 2 3 9 5N7= OPENCREX XBRC,5 9 5NLW TESTRPN2 OK,OREP 9 5P6G #SKI K6USERLIB>99-99 11 5PL6 TRACE EXEC3(2),USERREP 21 5Q5Q MFREE FILE,FLOCNB [FREED HERE COS DIRCLOSE REPLY GOES 8 5QKB BRN UP 20 5R52 [BACK TO USEROPEN AND REQUIRES A 18 5RJL [FLOCNB TO FREE THERE. 4 5S4= [ 15 5SHW [ ENTER LIBINSEC IF TSN + NAME,OR NAME,GIVEN 11 5T3G [ IF TSN ONLY,ENTER LIBTSN 4 5TH6 [ 4 5W2Q PR4 18 5WGB BNZ 6 NOFLOC [IF GLIST,THEN NO FLOCNB 10 5X22 MFREE FILE,FLOCNB 5 5XFL NOFLOC 7 5X_= LDX 6 3 10 5YDW MHUNT 3,FILE,FABSNB 8 5YYG LDN 0 #200 16 5_D6 ANDX 0 ATYPE(3) [NAMED WORK TAPE 8 5_XQ BNZ 0 PRX 8 62CB LDN 2 #2000 18 62X2 ANDX 2 ATYPE(3) [X2 NON-ZERO IF TSN GIVEN 8 63BL ADX 3 A1(3) 20 63W= LDX 0 A1-6(3) [FIRST WORD OF LAST LOCAL NAME 20 64*W BNZ 0 PRZN [[J IF NAEE NON-ZERO-NOT NEC ALPHABETIC 20 64TG BNZ 2 PR3 [J IF TSN BUT ZERO NAME-BUG 7245 4 65*6 PRZN 21 65SQ STO 6 A1-2(3) [RESET RELATIVE AND NULL GENERATION 8 66#B LDX 2 FX2 10 66S2 STO 5 ACOMMUNE1(2) 9 67?L LDX 0 AWORK1(2) 10 67R= STO 0 ACOMMUNE2(2) 10 68=W ACROSS LIBINSEC,1 2 68QG 7 69=6 PRX PICKREP2 7 14 69PQ CLOSETOP [SERIAL 7 6=9B PUTREP2 7 7 6=P2 UP UPPLUS 1 2 6?8L 4 6?N= TC 10 6#7W LDN 4 CREAD+CWRITE 11 6#MG TESTMODE 5,TCOUTA,,UNTRAP 8 6*76 SBX 7 FX1 7 6*LQ CHECKTRAPS 9 6B6B ANDX 4 EXEC1(2) 8 6BL2 ADX 7 FX1 17 6C5L BNZ 4 TCOUTA [ SOME TRAPS THERE 7 6CK= EXIT 7 0 5 6D4W TCOUTA 7 6DJG EXIT 7 1 2 6F46 2 6FHQ 5 6G3B SLIST 10 6GH2 MHUNT 2,FILE,FABSNB 9 6H2L LDX 0 ATYPE(2) 8 6HG= ANDN 0 #2000 19 6H_W BNZ 0 SLEX [NO GLIST SET UP IF TSN GIVEN 8 6JFG SBX 4 FX1 11 6J_6 SETNCORE 1,1,AONBS,GLIST 8 6KDQ STOZ A1(1) 7 6KYB LDN 6 1 18 6LD2 ORS 6 AWORK3(2) [MARKER USED IN USERDIR 8 6LXL ADX 4 FX1 4 6MC= SLEX 7 6MWW EXIT 4 0 2 6NBG 2 6NW6 4 6P*Q PR2B 9 6PTB TESTRPN2 NOFILE,RE 17 6Q*2 BRN PFND [SERIAL CLOSED AGAIN 5 6QSL UDREP 10 6R#= TESTREP2 NOFILE,UDREP1 8 6RRW BRN RE 9 6S?G WRGEN KEEPREP 6,WRGEN 9 6SR6 BRN RE4FREE 4 6T=Q RALR 9 6TQB KEEPREP 6,ALREADY 9 6W=2 BRN NOGLIST 5 6WPL UDREP1 10 6X9= MHUNT 2,FILE,FABSNB 20 6XNW BBS 16,ATYPE(2),UP [UP+1 IF NOFILE ON NAMED WORKTAPE 9 6Y8G KEEPREP 6,NAME 8 6YN6 BRN RE4 4 6_7Q NOTR 7 6_8H ...#UNS ILOGACC 4 6_9# ...( 8 6_=5 ... SMO FX2 9 6_=W ... LDEX 0 AWORK3 21 6_?M ... BZE 0 XLOG [NO GLIST THEREFORE THERE IS AN ENT 7 6_#D ... TABULATE 20 6_*9 ... READAGAIN [GET ENT FOR ANY TAPE IN GLIST 10 6_B2 ... MHUNTW 1,FILE,FRB 10 6_BR ... NAME 1,FILE,ENT 4 6_CJ ...XLOG 7 6_D* ... LDX 0 5 8 6_F6 ... ANDN 0 #7000 8 6_FX ... SBN 0 #3000 8 6_GN ... LDN 1 CREAD 8 6_HF ... BNG 0 XLOG1 9 6_J= ... LDN 1 CWRITE 5 6_K3 ...XLOG1 8 6_KS ... LOGACCESS 7,1 4 6_LK ...) 13 6_MB CLOSETOP [DIR 14 7272 CLOSETOP [SERIAL 9 72LL KEEPREP 6,NOTRAP 9 736= LDEX 0 AWORK3(2) 9 73KW BZE 0 NOGLIST 17 745G MFREEW AONBS,GLIST [FREE EITHER GLIST 7 74=N ...#UNS ILOGACC 4 74CW ...#SKI 13 74K6 BRN RE4FREE [OR 5 754Q NOGLIST 13 75JB MFREEW FILE,ENT [ENT 5 7642 RE4FREE 10 76HL MFREE FILE,FLOCNB 4 773= RE4 9 77GW ACROSS REPERR,4 2 782G 10 78G6 [ BREAK-IN EXIT SECTION 10 78_Q XBRC MFREEW FILE,ADICT 10 79FB MFREE FILE,FLOCNB 4 79_2 XBR 9 7=DL LDEX 0 AWORK3(2) 8 7=Y= BZE 0 XUP 17 7?CW MFREEW AONBS,GLIST [FREE GLIST IF SET UP 4 7?XG XUP 5 7#C6 UP 2 7#WQ 2 7*BB 9 7*W2 [ MAIN ERROR SECTION 20 7B*L OREP [REPLY FROM OPENCREX IS NOT OK 10 7BT= MFREEW FILE,ADICT 10 7C#W TESTREP2 DIRCLOSE,TAGN 10 7CSG MFREE FILE,FLOCNB 4 7D#6 RE 9 7DRQ ACROSS REPERR,2 4 7F?B TAGN 9 7FR2 ACROSS USERONE,2 9 7G=L NOJOB GEOERR 1,NOJOB 4 7GQ= [ 4 7H9W [ 10 7HPG ... MENDAREA 20,K99USERLIB 4 7JNQ #END 8 ____ ...43032536000100000000