15 22FL #LIS K0MACRALAS>K0ALLGEO>K0GREATGEO>K0COMMAND 15 22_= #SEG MACRALAS50 [ BILL IZATT 7 23DW 8HMACRALAS 8 23YG [ THE ENTRY POINTS 19 24D6 [ THESE ENTRY POINTS MUST BE KEPT FIXED WITHIN THE SEGMENT 12 24XQ SEGENTRY K1MACRALAS,QENTRY1 12 25CB SEGENTRY K2MACRALAS,QENTRY2 4 25X2 [ 4 26BL [ 20 26W= # THIS SEGMENT IS ENTERED FROM VERBCLAS WHEN A VERB HAS NOT BEEN 16 27*W # CLASSIFIED IN THE BUILT IN COMMAND DICTIONARY. 20 27TG # USING THE VERB,AN ATTEMPT IS MADE TO OPEN A FILE OF THAT NAME, 18 28*6 # BY LOOKING THROUGH THE USERS FILES AND SYSTEM MACROS 7 28SQ #DEF USEMAC=10 7 29#B #DEF SYSMAC=10 10 29S2 SIZELB +AVELINE+ALB 10 2=?L SIZEPB +AVELINE+APB 16 2=#4 ...PRIVFR 8HFREEZE [USED BY CHEKPRIV 10 2=#G ...MACFREZ +ERMACFREZ 4 2=#Y ...# 18 2=*B ...# THIS SUBROUTINE PERFORMS THE USEROPENS NECESSARY WHILE 20 2=*S ...# SEARCHING FOR A MACRO FILE. IT TAKES CARE OF THE POSSIBILITY 18 2=B= ...# OF THE FILE BEING FROZEN VIA A USER 'FREEZE' COMMAND. 14 2=BN ...# IT IS CALLED ON X3 AND COORDINATES. 20 2=C6 ...# IF X0 IS NONZERO THEN THE UNTRAP USEROPEN MODE WILL BE USED. 4 2=CJ ...# 5 2=D2 ...USEROP 17 2=DD ... SBX 3 FX1 [RELATIVISE THE LINK 18 2=DW ... SETUPMODE 6,,EXECUTE,LEAVE,NOERREP [BASIC MODES USED 18 2=F# ... BZE 0 NOUNTRAP [J IF UNTRAP NOT NEEDED 10 2=FQ ... ADDINMODE 6,,UNTRAP 5 2=G8 ...NOUNTRAP 16 2=GL ... USEROPEX PBREAK,6 [TRY THE USEROPEN 19 2=H4 ... TESTRPN2 FROZEN,USEROPXIT [EXIT FOR ALL REPS OTHER THAN 14 2=HG ... [FROZEN 21 2=HY ... SETUPMODE ,1,FROZEN [INHIBIT FROZEN REPLY AND TRY AGAIN 10 2=JB ... USEROPEX PBREAK,6,1 18 2=JS ... TESTRPN2 OK,USEROPXIT [EXIT UNLESS REPLY WAS OK 21 2=K= ... CHEKPRIV 0,PRIVFR,NOFPRIV [J IF USER MAY NOT ACCESS FROZEN MAC 20 2=KN ... ANSOK2 [FILE FROZEN BUT USER PRIVILEGED 17 2=L6 ... [EXIT WITH OK REPLY 6 2=LJ ...USEROPXIT 8 2=M2 ... ADX 3 FX1 7 2=MD ... EXIT 3 0 4 2=MW ...# 18 2=N# ...NOFPRIV [FILE LOCATED BUT FROZEN 6 2=NH ... CLOSE 16 2=NQ ... LDX 7 MACFREZ(1) [ERROR MESSAGE 9 2=P8 ... BRN TIDYUP 4 2=PL ...# 4 2=Q4 ...# 15 2=R= # THIS SECTION LOOKS THROUGH THE USERS FILES 5 2?=W QENTRY1 9 2?#K ... FSHCODE B,SKIPA 4 2?B# ...( 16 2?D3 ... TRANSBEG FSHMACROID,MACRALAS,1,CLB,,ACOMMUNE1 15 2?FQ ... BRN PBREAK [ IF BREAKIN 17 2?HF ... BRN UP [ IF ERROR, ENDCOM 18 2?K8 ... BRN TOALASB [ IF MACRO OPENED O.K. 5 2?LX ...SKIPA 4 2?NL ...) 9 2?QG LDX 4 EXT+11(2) 21 2#=6 BNG 4 NSYSTEM [J IF SPECIAL SYSTEM ISSUED COMMAND 10 2#PQ MHUNTW 3,CPB,CALAS 9 2*9B LDX 4 CPBFSD(3) 17 2*P2 BPZ 4 XNJ [J IF SOURCE IS MACRO 9 2B8L ANDX 4 MASKRJ(1) 17 2BN= BZE 4 XNJ [J IF NOT R/J CASE 16 2C7W LDN 7 2 [SET R/J MARKER 10 2CMG HUNT 3,FILE,FABSNB 9 2D76 BNG 3 NEXTRY 8 2DLQ BRN RJOB 7 2F6B XNJ LDN 4 0 10 2FL2 LDX 7 CONTEXT(2) 7 2G5L ANDN 7 2 9 2GK= BNZ 7 NEXTRY 9 2H4W GETCOREN USEMAC,1 15 2HJG FINDCORE 2 [FIND BLOCK 15 2J46 NAME 2,FILE,FABSNB [NAME BLOCK 9 2JHQ LDN 0 USEMAC 8 2K3B STO 0 A1(2) 8 2KH2 SMO FX2 18 2L2L LDN 5 CPREFIX [ADDRESS OF USER PREFIX 18 2LG= LDN 6 A1+1(2) [ADDRESS OF FABSNB AREA 7 2L_W MOVE 5 3 8 2MFG LDX 3 FX2 18 2M_6 LDN 5 AWORK2(3) [MOVE SUSPECTED FILENAME 14 2NDQ LDN 6 A1+4(2) [INTO THE 15 2NYB MOVE 5 3 [FABSNB BLOCK 14 2PD2 LDN 5 USECON(1) [MOVE THE 14 2PXL LDN 6 A1+7(2) [REQUIRED 7 2QC= MOVE 5 3 4 2QM4 ...RJOB 16 2QWW ... LDN 0 0 [MUST CHECK TRAPS 17 2R6N ... CALL 3 USEROP [TRY AND OPEN FILE 19 2RBG TESTREP OK,P,NOFILE,TRYSYS,LOST,WLOST,TEMPLOST,TLOSTEMP 20 2RW6 TESTREP CLUDGE,WCANT,RANDOM,WRAND,REFUSED,XQUOTA,NOTRAP,WMODE 9 2S*Q BRN TRYSYS 15 2STB # THIS SECTION LOOKS THROUGH SYSTEM MACROS 5 2T*2 NSYSTEM 19 2TSL LDN 7 1 [THIS ENSURES ONLY TRY OPEN 7 2W#= LDN 4 0 5 2WRW TRYSYS 16 2X?G BNZ 4 NOTOPEN [J IF R/J CASE 5 2XR6 NEXTRY 9 2Y=Q GETCOREN SYSMAC,1 15 2YQB FINDCORE 2 [FIND BLOCK 10 2_=2 NAME 2,FILE,FABSNB 9 2_PL LDN 0 SYSMAC 8 329= STO 0 A1(2) 8 32NW LDX 3 FX2 9 338G LDN 5 SYSCON(1) 9 33N6 LDN 6 A1+1(2) 7 347Q MOVE 5 3 9 34MB LDN 5 AWORK2(3) 9 3572 LDN 6 A1+4(2) 18 35LL MOVE 5 3 [MOVE SUSPECTED FILE NAME 9 366= LDN 5 USECON(1) 9 36KW LDN 6 A1+7(2) 16 375G MOVE 5 3 [MOVE CONSTANTS 16 37CX ... LDN 0 1 [DONT CHECK TRAPS 17 37Q# ... CALL 3 USEROP [TRY AND OPEN FILE 20 384Q TESTREP OK,SON,LOST,WLOST,TEMPLOST,TLOSTEMP,REFUSED,XQUOTA 19 38JB TESTRPN2 RANDOM,NRAND [ IF SYSTEM FILE IS RANDOM, 20 3942 CLOSE [ CLOSE IT AND CONTINUE SEARCH 9 39HL NRAND BNZ 7 NOTOPEN 18 3=3= MFREE FILE,FABSNB [FREE FILE FABSNB BLOCK 18 3=GW # THIS SECTION LOOKS THROUGH THE SUPERIOR USERS MACROS 7 3?2G FINDNAME 10 3?G6 TESTERR NOUSER,WLOST 4 3?_Q PNOT 10 3#FB MHUNT 2,FILE,FABSNB 8 3#_2 LDX 3 A1(2) 10 3*DL TXU 3 SIXTEEN(1) 18 3*Y= BCC NOTOPEN [J IF EQUAL TO SIXTEEN 21 3BCW LDN 5 A1(2) [LOAD ADDRESS OF START OF RECORD AREA 7 3BXG ADX 5 3 7 3CC6 SBN 5 6 7 3CWQ LDX 6 5 7 3DBB SBN 6 6 18 3DW2 MOVE 5 6 [OVERWRITE DIRECTORY NAME 7 3F*L LDN 3 6 8 3FT= SBS 3 A1(2) 16 3G7M ... LDN 0 0 [MUST CHECK TRAPS 17 3GG4 ... CALL 3 USEROP [TRY AND OPEN FILE 18 3GSG TESTREP OK,P,NOFILE,PNOT,LOST,WLOST,TEMPLOST,TLOSTEMP 20 3H#6 TESTREP CLUDGE,WCANT,RANDOM,WRAND,REFUSED,XQUOTA,NOTRAP,WMODE 8 3HRQ BRN PNOT 9 3J?B WMODE LDX 7 WMODEK(1) 9 3JR2 BRN TIDYUP 5 3K=L TLOSTEMP 10 3KQ= LDX 7 TLOSTM1(1) 10 3L9W LDX 6 TLOSTM2(1) 9 3LPG BRN TIDYUP2 10 3M96 TLOSTM1 +ERTEMPLOST 9 3MNQ TLOSTM2 +JFILE1 18 3N8B WRAND CLOSE [CLOSE THE RANDOM FILE 10 3NN2 LDX 7 WRANDOM(1) 9 3P7L BRN TIDYUP 5 3PM= NOTOPEN 10 3Q6W LDX 7 NOTOPENK(1) 9 3QLG BRN TIDYUP 5 3R66 XQUOTA 10 3RKQ LDX 7 NEREXQUO(1) 9 3S5B BRN TIDYUP 5 3SK2 PBREAK 17 3SLP ... FSHCODE A,SKIPB1 [ OMIT IF M/C 'B' 4 3SND ...( 21 3SQ7 ... NOTALIEN SKIPB1 [ OR IF NOT FOR ALIEN ACTIVITY 19 3SRW ... TRANCHKN FSHMACROID,EQUAL,SKIPB1 [ OR IF WRONG CODE ID. 18 3STK ... LDN 3 0 [ ELSE SET OFFSET =0 21 3SX# ... TRANSFIN 3 [ AND TRANFIN TO BREAKIN LABEL 5 3S_3 ...SKIPB1 4 3T2Q ...) 7 3T4L COMBRKIN 9 3TJ= WLOST LDX 7 NLOST(1) 9 3W3W BRN TIDYUP 5 3WHG NOFILE 9 3X36 LDX 7 NHOBEY(1) 7 3XGQ NGN 6 1 8 3Y2B BRN Q2 9 3YG2 WCANT LDX 7 NCANT(1) 20 3Y_L # THIS SECTION TIDIES UP AFTER BEFORE REPORTING A COMMAND ERROR 5 3_F= TIDYUP 7 3_YW NGN 6 1 5 42DG TIDYUP2 8 42Y6 BZE 4 Q2 7 43CQ PERMITBRK 4 43XB Q2 9 44C2 MHUNTW 2,CLB 10 44WL STOZ CLBPTNECHA(2) 8 45B= BZE 7 UP 8 45TW COMERRX 7,6 8 45W_ ... FSHCODE AORB 4 45Y4 ...UP 9 45_7 ... FSHCODE A,SKIPB2 4 462= ...( 9 463* ... NOTALIEN SKIPB2 13 464D ... TRANCHKN FSHMACROID,EQUAL,SKIPB2 7 465H ... LDN 3 1 7 466L ... TRANSFIN 3 5 467P ...SKIPB2 4 468S ...) 8 469X ... FSHCODE AORB 6 46?2 ... ENDCOM 7 46#5 ... FSHSKIP 6 46*G UP ENDCOM 9 46T6 WMODEK +AWMODE 10 47#Q NOTOPENK +ANOTKNOWN 9 47SB WRONGPER +JINCOPER 9 48#2 NLOST +JLOST 9 48RL NCANT +FCANT 9 49?= WRANDOM +JRANDOM 9 49QW NHOBEY +HOBEY 10 4==G NEREXQUO +EREXQUOTA 7 4=Q6 SON BNZ 7 P 10 4?9Q MFREE FILE,FABSNB 19 4?PB # THIS SECTION CHECKS THE FILES PERIPHERAL TYPE/MODE WORD 16 4#92 P BZE 4 PP [J IF NOT RUNJOB 7 4#NL PERMITBRK 10 4*8= PP MHUNTW 3,FILE,ENT 21 4*MW LDX 4 7 [RETAIN MARKER FOR OBEY COMMAND IN X4 9 4B7G LDX 7 ETM(3) 9 4BM6 BZE 7 TERROR 16 4C6Q SLL 67 9 [GET TYPE IN X6 16 4CLB SRL 7 9 [GET MODE IN X7 8 4D62 ANDN 6 #377 20 4DKL BNZ 6 TERROR [J IF NOT BASIC PERIPHERAL FILE 10 4F5= LDX 0 MASKETM(1) 16 4FJW ANDS 0 EXT+9(2) [ENSURE B0 UNSET 8 4G4G ERN 7 #12 16 4GJ6 BNZ 7 TL1 [J IF SHIFT FILE 15 4H3Q LDCT 0 #400 [ ELSE SET B0 18 4HHB ORS 0 EXT+9(2) [TO DENOTE GRAPHIC FILE 8 4J32 BRN TL1 5 4JGL TERROR 10 4K2= LDX 7 WRONGPER(1) 6 4KFW CLOSE 9 4K_G BRN TIDYUP 4 4LF6 TL1 7 4LYQ FREECORE 3 8 4MDB SMO FX2 16 4MY2 STOZ AWORK1 [TO INDICATE MDF 10 4NCL MFREE FILE,FABSNB 7 4NGQ ...#UNS FREEBUFF 4 4NKW ...( 13 4NP2 ... FREEBUFF FILE,1,FREE FURBS ONLY 4 4NS6 ...) 17 4NX= BNG 4 OBEY [J IF OBEY COMMAND 9 4NY9 ... FSHCODE A,SKIPB3 4 4N_8 ...( 9 4P27 ... NOTALIEN SKIPB3 13 4P36 ... TRANCHKN FSHMACROID,EQUAL,SKIPB3 8 4P45 ... FSHMOVE START 7 4P54 ... LDN 3 2 7 4P63 ... TRANSFIN 3 5 4P72 ...SKIPB3 4 4P7_ ...) 9 4P8Y ... FSHCODE B,SKIPA2 4 4P9X ...( 5 4P=W ...TOALASB 8 4P?T ... FSHMOVE END 5 4P#S ...SKIPA2 4 4P*R ...) 9 4PBW ACROSS ALASB,2 9 4PWG OBEY ACROSS ALASB,5 15 4QB6 # THIS IS THE ENTRY FOR THE OBEY COMMAND 5 4QTQ QENTRY2 20 4R*B SPARAPAS [ISOLATE FILE DESCRIPTION PARAM 10 4RT2 MHUNT 3,CPB,CUNI 9 4S#L LDX 4 ANUM(3) 21 4SS= BNG 4 NOFILE [J IF FILE DES PARAM NONQEXISTENT 16 4T?W BZE 4 NOFILE [J IF IT IS NULL 18 4TRG NAMETOP 3,FILE,FNAME [RENAME CUNI A FILE/FNAME 7 4W?6 FNORM 3 10 4WQQ MHUNT 3,FILE,FNAME 21 4X=B NAMETOP 3,CPB,CUNI [ MUST BE CALLED CPB/CUNI FOR ERRORS 19 4XQ2 TESTREP NAMEFORM,RP1 [ JUMP IF REPLY IS 'NAMEFORM' 7 4Y9L LDN 4 0 12 4YP= USEROPEN PBREAK,EXECUTE,LEAVE 10 4Y_4 ... VFREEW FILE,ADJUNCTS 10 4_8W TESTREP RANDOM,WRAND 8 4_NG REPERR RP2 4 5286 RP1 17 52MQ LDN 7 0 [SET X7 -> NO COMERR 8 537B BRN Q2 4 53M2 RP2 9 546L ... PAPARAM XNOK,XTM 21 54L= LDX 7 GSIGN [SET MARKER -ENTRY FROM OBEY COMMAND 8 555W BRN PP 9 55KG ...MASKETM #37777777 5 5656 SYSCON 7 56JQ 12HMACROS 5 574B USECON 8 57J2 +1 9 583L ... #00000000 8 58H= +0 5 592W SIXTEEN 6 59GG +16 9 5=26 MASKRJ #10000000 4 5=63 ...XTM 10 5=9Y ... LDX 7 PJMAXPAR(1) 8 5=*T ... BRN NGN 4 5=FQ XNOK 10 5=_B LDX 7 PAPFERR(1) 4 5?98 ...NGN 7 5?F2 NGN 6 1 6 5?YL CLOSE 8 5#D= BRN Q2 9 5#XW PAPFERR +APFERR 9 5*7N ...PJMAXPAR +JMAXPAR 11 5*CG MENDAREA 20,K99MACRALAS 4 5*X6 #END 8 ____ ...66603033000200000000