MACRALAS864

(George Source)

Macros used: ACROSS, ADDINMODE, ANSOK2, CHEKPRIV, CLOSE, COMBRKIN, COMERRX, ENDCOM, FINDCORE, FINDNAME, FNORM, FREEBUFF, FREECORE, FSHCODE, FSHMOVE, FSHSKIP, GETCOREN, HUNT, MENDAREA, MFREE, MHUNT, MHUNTW, NAME, NAMETOP, NOTALIEN, P, PAPARAM, PERMITBRK, REPERR, SEGENTRY, SETUPMODE, SPARAPAS, TERROR, TESTERR, TESTREP, TESTRPN2, TRANCHKN, TRANSBEG, TRANSFIN, UP, USEROPEN, USEROPEX, VFREEW

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