MACROS IH
(George Source)
- MACROS IH.txt
22FL # THIS FILE CONTAINS MACROS REQUIRED TO IMPLEMENT INSTALLATION HOOKS 22^= # 23DW # 23YG # 24D6 #MAC TESTHKL 24XQ MOD LDX 0 CPBPROGLEV,%B 25CB SLL 0 9 25X2 BNG 0 %A 26BL #NOR 26W= # 27*W #MAC TESTHKLN 27TG MOD LDX 0 CPBPROGLEV,%B 28*6 SLL 0 9 28SQ BPZ 0 %A 29#B #NOR 29S2 # 2=?L #MAC TESTHOOK 2=R= MODD LDX 0 EXT+9,%B,FX2 2?=W SLL 0 9 2?QG BNG 0 %A 2#=6 #NOR 2#PQ # 2*9B #MAC TESTHKN 2*P2 MODD LDX 0 EXT+9,%B,FX2 2B8L SLL 0 9 2BN= BPZ 0 %A 2C7W #NOR 2CMG # 2D76 #MAC SETHOOK 2DLQ LDN 0 4 2F6B SLC 0 12 2FL2 MODD ORS 0 EXT+9,%A,FX2 2G5L MODD LDX 0 EXT+9,%A,FX2 2GK= SLL 0 11 2H4W BPZ 0 MSETHOOK1 [ J IF NOT HOOK-STARTED 2HJG FJOCA 1,FX2 2J46 SPRIVON JSSTART,1 2JHQ LDX 1 FX1 2K3B MSETHOOK1 2KH2 #NOR 2L2L # 2LG= #MAC UNSETHK 2L^W MODD LDX 0 EXT+9,%A,FX2 2MFG SLL 0 11 2M^6 BPZ 0 MUNSETHK1 [ J IF NOT HOOK-STARTED 2NDQ FJOCA 1,FX2 2NYB SPRIVOFF JSSTART,1 [ SWITCH OFF SYSTEM STARTED STATUS 2PD2 LDX 1 FX1 2PXL MUNSETHK1 2QC= NGN 0 6 2QWW SLC 0 12 [ #77727777 2RBG MODD ANDS 0 EXT+9,%A,FX2 [ CLEAR HOOK & HOOK-STARTED BITS 2RW6 #NOR 2S*Q # 2STB #MAC CPHOOK 2T*2 NGN 0 8 2TSL SLC 0 12 [ #77707777 2W#= MOD ANDS 0 CPBPROGLEV,%A 2WRW LDN 0 7 2X?G SLC 0 12 [ #00070000 2XR6 MODD ANDX 0 EXT+9,%B,FX2 2Y=Q MOD ORS 0 CPBPROGLEV,%A 2YQB #NOR 2^=2 # 2^PL #MAC RVHOOK 329= MODD LDX 0 EXT+9,%B,FX2 32NW SLL 0 11 338G BPZ 0 MRVHOOK1 [J IF NOT HOOK-STARTED 33N6 FJOCA 1,FX2 347Q SPRIVOFF JSSTART,1 [UNSET SYSTEM STARTED STATUS 34MB MRVHOOK1 3572 NGN 0 8 35LL SLC 0 12 [ #77707777 366= MODD ANDS 0 EXT+9,%B,FX2 36KW LDN 0 7 375G SLC 0 12 [ #00070000 37K6 MOD ANDX 0 CPBPROGLEV,%A 384Q MODD ORS 0 EXT+9,%B,FX2 38JB SLL 0 11 3942 BPZ 0 MRVHOOK2 [J IF NOT HOOK-STARTED 39HL FJOCA 1,FX2 3=3= SPRIVON JSSTART,1 [SET SYSTEM STARTED STATUS 3=GW MRVHOOK2 3?2G LDX 1 FX1 3?G6 #NOR 3?^Q # 3#FB #MAC SETHSTAR 3#^2 LDN 0 1 3*DL SLC 0 12 3*Y= MODD ORS 0 EXT+9,%A,FX2 3BCW #NOR 3BXG # 3CC6 #MAC UNSHSTAR 3CWQ NGN 0 2 3DBB SLC 0 12 [#77767777 3DW2 MODD ANDS 0 EXT+9,%A,FX2 3F*L #NOR 3FT= # 3G#W #MAC DOSPMON 3GSG LDN 0 2 3H#6 SLC 0 12 [ #00020000 3HRQ MODD ORS 0 EXT+9,%A,FX2 3J?B #NOR 3JR2 # 3K=L #MAC DOUPMON 3KQ= NGN 0 3 3L9W SLC 0 12 [ #77757777 3LPG MODD ANDS 0 EXT+9,%A,FX2 3M96 #NOR 3MNQ # 3N8B #MAC DOTPMON 3NN2 LDN 0 2 3P7L SLC 0 12 [ #00020000 3PM= MODD ANDX 0 EXT+9,%B,FX2 3Q6W BNZ 0 %A 3QLG #NOR 3R66 # 3RKQ #MAC DOLPMON 3S5B LDN %A 2 3SK2 SLC %A 12 [ #00020000 3T4L MODD ANDX %A EXT+9,%B,FX2 3TJ= #NOR 3W3W # 3WHG #MAC DORPMON 3X36 DOUPMON %B 3XGQ MODD ORS %A EXT+9,%B,FX2 3Y2B #NOR 3YG2 # 3Y^L #MAC EXTRACODE 3^F= #MEND DOIHEMS 3^YW #TRA K90DOIHEMS 42DG +G400HOOKNO+1 42Y6 #TRA 5*G400HOOKNO+1+K90DOIHEMS 43CQ 4H%B 43XB 12H%A 44C2 %C 44WL #END 45B= #ALT G400HOOKNO=G400HOOKNO+1 45TW #NOR 46*G # 46T6 #MAC DOUTHIER 47#Q DOWN ERROR,5 47SB #NOR 48#2 # 48RL #MAC SETHKPCA 49?= FCAPCA 2 49QW LDN 0 4 4==G SLC 0 12 [ #00040000 4=Q6 ORS 0 EXT+9(2) 4?9Q LDX 2 FX2 4?PB #NOR 4#92 # 4#97 ...[??? IHTRAPCH 4#9# ...# 4#9F ...# THIS MACRO ALLOWS TRAPS TO BE CHECKED IN A HOOK 4#9L ...# 4#9R ...#MAC IHTRAPCH 4#9Y ...#STR %A,ON 4#=5 ...#STR 4#== ...( 4#=C ...#MEN TRAPCHEC 4#=J ...#TRA K20TRAPCHEC 4#=P ... BRN K21TRAPCHEC 4#=W ...#END 4#?3 ...#EXI 4#?8 ...) 4#?* ...#STR %A,OFF 4#?G ...#STR 4#?M ...( 4#?S ...#MEN TRAPCHEC 4#?^ ...#TRA K20TRAPCHEC 4##6 ... NULL 4##? ...#END 4##D ...#EXI 4##K ...) 4##Q ...!PARAMETER %A MUST BE ON OR OFF 4##X ...#NOR 4#*4 ...[??? IHPRIVCH 4#*9 ...# 4#*B ...# THIS MACRO ALLOWS PRIVILEGES TO BE CHECKED IN A HOOK 4#*H ...# 4#*N ...#MAC IHPRIVCH 4#*T ...#STR %A,ON 4#B2 ...#STR 4#B7 ...( 4#B# ...#MEN CHEKPRIV 4#BF ...#TRA K20CHEKPRIV 4#BL ... BRN K21CHEKPRIV 4#BR ...#END 4#BY ...#EXI 4#C5 ...) 4#C= ...#STR %A,OFF 4#CC ...#STR 4#CJ ...( 4#CP ...#MEN CHEKPRIV 4#CW ...#TRA K20CHEKPRIV 4#D3 ... NULL 4#D8 ...#END 4#D* ...#EXI 4#DG ...) 4#DM ...!PARAMETER %A MUST BE ON OR OFF 4#DS ...#NOR 4#D^ ...[??? IHSPNOUSER 4#F6 ...[ 4#F? ...[ THIS MACRO TURNS ON OR OFF NOUSER CONTEXT IN A HOOK 4#FD ...[ 4#FK ...#MAC IHSPNOUSER 4#FQ ...#STR %A,ON 4#FX ...#SKI 4#G4 ...( 4#G9 ...#MEN DIRENT 4#GB ...#TRA G400DIRC 4#GH ... NULL 4#GN ...#END 4#GT ...#MEN SETPF 4#H2 ...#TRA G400LDEA 4#H7 ... NULL 4#H# ...#END 4#HF ...#MEN SETPR 4#HL ...#TRA G400RECA 4#HR ... NULL 4#HY ...#END 4#J5 ...#EXI 4#J= ...) 4#JC ...#STR %A,OFF 4#JJ ...#SKI 4#JP ...( 4#JW ...#MEN DIRENT 4#K3 ...#TRA G400DIRC 4#K8 ... BRN G400DIRD 4#K* ...#END 4#KG ...#MEN SETPF 4#KM ...#TRA G400LDEA 4#KS ... BRN G400LDEB 4#K^ ...#END 4#L6 ...#MEN SETPR 4#L? ...#TRA G400RECA 4#LD ... BRN G400RECB 4#LK ...#END 4#LQ ...#EXI 4#LX ...) 4#M4 ...#STR %A 4#M9 ...#SKI 4#MB ...#EXI 4#MH ...!PARAMETER MUST BE ON OF OFF 4#MN ...#NOR 4#NL #MAC DODEWELLHOOK 4*8= #MEN DEWELL 4*MW #TRA K60DEWELL 4B7G NULL 4BM6 #END 4C6Q #STR %A 4CLB ( 4D62 #MEN DOMONOP 4DKL #TRA G400DEWELL 4F5= 12H%A 4FJW #END 4G4G ) 4GJ6 #STR MOP,%B 4H3Q #SKI 4HHB ( 4J32 #MEN DEWELL 4JGL #TRA K61DEWELL+1 4K2= #STR BACK,%C 4KFW #FID 22,22,1 4K^G #STR BACK,%C 4LF6 #SKI 4LYQ #FID 22,23,3 4MDB #END 4MY2 ) 4NCL #STR BACK,%B 4NX= #SKI 4PBW ( 4PWG #MEN DEWELL 4QB6 #TRA K61DEWELL+1 4QTQ #STR MOP,%C 4R*B #FID 23,23,1 4RT2 #STR MOP,%C 4S#L #SKI 4SS= #FID 22,23,3 4T?W #END 4TRG ) 4W?6 #NOR 4WQQ # 4X=B #MAC DOJOBENDHOOK 4XQ2 #MEN LOGOUT 4Y9L #TRA K60LOGOUT 4YP= NULL 4^8W #END 4^NG #STR %A 5286 ( 52MQ #MEN DOMONOP 537B #TRA G400JOBEND 53M2 12H%A 546L #END 54L= ) 555W #NOR 55KG # 5656 #MAC DOPSWDOFF 56JQ #STR %B%C%D 574B DOPSWDOFF %B,%C,%D 57J2 #STR RJ,%A 583L #STR 58H= ( 592W #MEN INITJOB 59GG #TRA G400PSWD 5=26 BRN G400PSWD+2 5=FQ #TRA G400PSWD+2 5=^B #FID 2,2,1 5?F2 #END 5?YL #EXI 5#D= ) 5#XW #STR JB,%A 5*CG #STR 5*X6 ( 5BBQ #MEN INITJOB 5BWB #TRA G400PSWD 5CB2 BRN G400PSWD+2 5CTL #TRA G400PSWD+2 5D*= #FID 1,1,1 5DSW #END 5F#G #EXI 5FS6 ) 5G?Q #STR LN,%A 5GRB #STR 5H?2 ( 5HQL #MEN INITJOB 5J== #TRA G400PSWD 5JPW BRN G400PSWD+2 5K9G #TRA G400PSWD+2 5KP6 #FID 0,0,1 5L8Q #END 5LNB ) 5M82 #NOR 5MML # 5N7= #MAC DOCHKDIR 5NLW #MEN COMHOOK 5P6G #TRA G400HKD1 5PL6 12H%A 5Q5Q #END 5QKB #MEN DOXCODE 5R52 #TRA G400HKD2 5RJL 12H%A 5S4= #END 5SHW #MEN DOMONOP 5T3G #TRA G400HKD3 5TH6 12H%A 5W2Q #END 5WGB #MEN DOIHEMS 5X22 #TRA G400HKD4 5XFL 12H%A 5X^= #END 5YDW #NOR 5YYG # 5^D6 #MAC DOPNPERI 5^XQ #STR *MT,%B 62CB #SKI 62X2 ( 63BL #MEND OPCA 63W= #TRA G400HKMT 64*W NULL 64TG #END 65*6 #STR %A 65SQ ( 66#B #MEND DOMONOP 66S2 #TRA G400OPNMT 67?L 12H%A 67R= #END 68=W ) 68QG ) 69=6 #STR *DA,%B 69PQ #SKI 6=9B ( 6=P2 #MEND OPCA 6?8L #TRA G400HKDA 6?N= NULL 6#7W #END 6#MG #STR %A 6*76 ( 6*LQ #MEND DOMONOP 6B6B #TRA G400OPNDA 6BL2 12H%A 6C5L #END 6CK= ) 6D4W ) 6DJG #NOR 6F46 # 6FHQ #MAC DOPSWDHK 6G3B DOPSWDOFF LN 6GH2 DODEWELLHOOK %A,MOP 6H2L #NOR 6HG= # 6H^W #MAC DOSPENT 6JFG #SKI 20? 6J^6 SEGENTRY G400SP%A 6KDQ 4H0%A 6KYB #SKI 20?<1$1 6LD2 #TRA 0?+1 6LXL #SKI 20? 6MC= BRN X%A 6MWW #NOR 6NBG # 6NW6 #MAC DOSPTEXT 6P*Q #DEF 20?=0 6PTB #STR RESET,%A 6Q*2 #DEF 20?=1 6QSL #SKI 20? 6R#= SEGENTRY G400SPFIRST 6RRW DOSPENT GEO 6S?G DOSPENT NAM 6SR6 DOSPENT GEN 6T=Q DOSPENT SER 6TQB DOSPENT REE 6W=2 DOSPENT LAN 6WPL DOSPENT CHC 6X9= DOSPENT PCO 6XNW DOSPENT FCO 6Y8G DOSPENT BJB 6YN6 DOSPENT MJB 6^7Q DOSPENT PRO 6^MB DOSPENT WFL 7272 DOSPENT JDR 72LL DOSPENT JBQ 736= DOSPENT CPL 73KW DOSPENT GCO 745G DOSPENT RPT 74K6 DOSPENT JS1 754Q DOSPENT JS2 75JB DOSPENT JS3 7642 DOSPENT REC 76HL DOSPENT NOR 773= DOSPENT CMS 77GW DOSPENT PAR 782G DOSPENT DPA 78G6 DOSPENT NUL 78^Q DOSPENT END 79FB DOSPENT LDE 79^2 DOSPENT GLV 7=DL DOSPENT JBV 7=Y= DOSPENT JBD 7?CW DOSPENT PID 7?XG DOSPENT CLB 7#C6 DOSPENT OWN 7#WQ #SKI 20? 7*BB SEGENTRY G400SPLAST 7*W2 #DEF 20?=0 7B*L #NOR 7BT= # 7C#W #MAC DOSPOFF 7CSG #DEF 19?+1=1? 7D#6 #LIS 0 7DRQ DOSPMARK 0,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J 7F?B #LIS 19?+1] 7FR2 #NOR 7G=L # 7GQ= #MAC DOSPOFFALL 7H9W #DEF 19?+1=1? 7HPG #LIS 0 7J96 #MEN SETPC 7JNQ #TRA G400SPFIRST 7K8B DOSPTEXT RESET 7KN2 #END 7L7L #MEN DIRENT 7LM= #TRA G400DIRA 7M6W SMO FX2 7MLG #END 7N66 #LIS 19?+1] 7NKQ #NOR 7P5B # 7PK2 #MAC DOSPON 7Q4L #DEF 19?+1=1? 7QJ= #LIS 0 7R3W DOSPMARK @,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J 7RHG #LIS 19?+1] 7S36 #NOR 7SGQ # 7T2B #MAC DOSPMARK 7TG2 #STR %B,DIR 7T^L #SKI 7WF= ( 7WYW #MEN DIRENT 7XDG #TRA G400DIRA 7XY6 #STR %A,@ 7YCQ SMO FX2 7YXB #STR %A,@ 7^C2 #SKI 7^WL BRN G400DIRB 82B= #END 82TW ) 83*G #STR %B,DIR 83T6 ( 84#Q #MEN SETPC 84SB #TRA G400SP%B 85#2 4H%A%B 85RL #END 86?= ) 86QW #STR %C 87=G DOSPMARK %A,%C,%D,%E,%F,%G,%H,%I,%J,%K 87Q6 #NOR 889Q # 88PB #MAC DOSPONALL 8992 #DEF 19?+1=1? 89NL #LIS 0 8=8= #MEN SETPC 8=MW #TRA G400SPFIRST 8?7G DOSPTEXT RESET 8?M6 #TRA G400SPFIRST-1 8#6Q #REP G400SPLAST-G400SPFIRST/2 8#LB DOSPFIDDLE 8*62 #END 8*KL #MEN DIRENT 8B5= #TRA G400DIRA 8BJW BRN G400DIRB 8C4G #END 8CJ6 #LIS 19?+1] 8D3Q #NOR 8DHB # 8F32 #MAC DOSPFIDDLE 8FGL #TRA 0?+2 8G2= #FID 0,0,1 8GFW #NOR 8G^G #MAC DOFINDJV 8HF6 #STR %C 8HYQ #SKI 8JDB ( 8JY2 DOHUNTJV %B 8KCL BNG %B MDOFINDJVX 8KX= ) 8LBW #STR %C 8LWG LDX %B %C [LOAD GIVEN ADDRESS OF JV TABLE 8MB6 STO 7 GEN0 [SAVE X7 8MTQ LDX 7 VDATALEN(%B) 8N*B ADN 7 A1(%B) [POINTS TO WD AFTER LAST ENTRY 8NT2 LDN %B VDATALEN+1(%B) [POINTS TO START OF ENTRIES 8P#L MDOFINDJV1 8PS= TXL %B 7 [TEST IF NO MORE ENTRIES 8Q?W BCC MDOFINDJVX1 [J IF NO MORE ENTRIES 8QRG LDX 0 VNAME(%B) [COMPARE NAMES 8R?6 TXU 0 %A [FIRST WORD 8RQQ BCS MDOFINDJV2 [J IF DOESNT AGREE 8S=B LDX 0 VNAME+1(%B) [2ND WORD 8SQ2 TXU 0 1+%A 8T9L BCS MDOFINDJV2 [J IF DOESNT AGREE 8TP= LDX 0 VNAME+2(%B) 8W8W TXU 0 2+%A [3RD WORD 8WNG BCC MDOFINDJVX2 [J IF AGREES-ENTRY FOUND 8X86 MDOFINDJV2 8XMQ ADX %B VHEADER(%B) [STEP POINTER 8Y7B BRN MDOFINDJV1 [TRY NEXT ENTRY 8YM2 MDOFINDJVX1 8^6L LDX %B GSIGN [MARK NOT FOUND 8^L= MDOFINDJVX2 925W LDX 7 GEN0 [RESTORE X7 92KG MDOFINDJVX 9356 #NOR 93JQ # 944B #MAC DOHUNTJV 94J2 LDX %A FX2 953L LDX %A ACTRING(%A) 95H= SBN %A ACTRING 962W MDOHUNTJV1 96GG LDX %A BPTR(%A) 9726 TXU %A FX2 97FQ BCS MDOHUNTJV2 97^B LDX %A GSIGN 98F2 BRN MDOHUNTJVX 98YL MDOHUNTJV2 99D= LDX 0 ATYPE(%A) 99XW SRL 0 12 9=CG SBN 0 IUSER+G400BLK 9=X6 BNZ 0 MDOHUNTJV1 9?BQ LDX 0 A1(%A) 9?WB SBN 0 10 9#B2 BNZ 0 MDOHUNTJV1 9#TL MDOHUNTJVX 9**= #NOR 9*SW # 9B#G #MAC DOFINDGV 9BS6 #STR %C 9C?Q #SKI 9CRB ( 9D?2 DOHUNTGV %B 9DQL BNG %B MDOFINDGVX 9F== ) 9FPW #STR %C 9G9G LDX %B %C [LOAD GIVEN ADDRESS OF GV TABLE 9GP6 STO 7 GEN0 [SAVE X7 9H8Q LDX 7 VDATALEN(%B) 9HNB ADN 7 A1(%B) [POINTS TO WD AFTER LAST ENTRY 9J82 LDN %B VDATALEN+1(%B) [POINTS TO START OF ENTRIES 9JML MDOFINDGV1 9K7= TXL %B 7 [TEST IF NO MORE ENTRIES 9KLW BCC MDOFINDGVX1 [J IF NO MORE ENTRIES 9L6G LDX 0 VNAME(%B) [COMPARE NAMES 9LL6 TXU 0 %A [FIRST WORD 9M5Q BCS MDOFINDGV2 [J IF DOESNT AGREE 9MKB LDX 0 VNAME+1(%B) [2ND WORD 9N52 TXU 0 1+%A 9NJL BCS MDOFINDGV2 [J IF DOESNT AGREE 9P4= LDX 0 VNAME+2(%B) 9PHW TXU 0 2+%A [3RD WORD 9Q3G BCC MDOFINDGVX2 [J IF AGREES-ENTRY FOUND 9QH6 MDOFINDGV2 9R2Q ADX %B VHEADER(%B) [STEP POINTER 9RGB BRN MDOFINDGV1 [TRY NEXT ENTRY 9S22 MDOFINDGVX1 9SFL LDX %B GSIGN [MARK NOT FOUND 9S^= MDOFINDGVX2 9TDW LDX 7 GEN0 [RESTORE X7 9TYG MDOFINDGVX 9WD6 #NOR 9WXQ # 9XCB #MAC DOHUNTGV 9XX2 LDN %A BMISC 9YBL MDOHUNTGV1 9YW= LDX %A BPTR(%A) 9^*W SMO FX1 9^TG TXU %A MDOHUNTGVA =2*6 BCS MDOHUNTGV2 =2SQ LDX %A GSIGN =3#B BRN MDOHUNTGVX =3S2 MDOHUNTGVA +BMISC =4?L MDOHUNTGV2 =4R= LDX 0 ATYPE(%A) =5=W SRL 0 12 =5QG SBN 0 IUSER+G400BLK =6=6 BNZ 0 MDOHUNTGV1 =6PQ LDX 0 A1(%A) =79B SBN 0 9 =7P2 BNZ 0 MDOHUNTGV1 =88L MDOHUNTGVX =8N= #NOR =97W # =9MG #MAC DOMAXWT ==76 #MEN WAIT ==LQ #TRA G400WAIT =?6B +%A/FONINTP =?L2 #END =#5L #NOR =#K= # =*4W #MAC TESTNCM =*JG MHUNT 2,GMON,ATEMP =B46 LDX 0 A1+1(2) =BHQ LDX 2 FX2 =C3B ANDN 0 #1060 =CH2 BZE 0 %A =D2L #NOR =DG= # =D^W #MAC PID =FFG #STR ON,%A =F^6 #SKI =GDQ ( =GYB #MEN CHANG =HD2 #TRA K30CHANG =HXL NULL =JC= #TRA K32CHANG =JWW NULL =KBG #TRA K34CHANG =KW6 NULL =L*Q #END =LTB #EXI =M*2 ) =MSL #STR OFF,%A =N#= #SKI =NRW ( =P?G #MEN CHANG =PR6 #TRA K30CHANG =Q=Q BRN K31CHANG =QQB #TRA K32CHANG =R=2 BRN K33CHANG =RPL #TRA K34CHANG =S9= BRN K35CHANG =SNW #END =T8G #EXI =TN6 ) =W7Q #STR %A =WMB #SKI =X72 ( =XLL #MEN CHANG =Y6= #TRA K30CHANG =YKW NULL =^5G #TRA K32CHANG =^K6 NULL ?24Q #TRA K34CHANG ?2JB NULL ?342 #END ?3HL #EXI ?43= ) ?4GW #NOR ?52G # ?5G6 ...[ SPCMSALT - MACRO TO ALTER ACTION OF SP 'CMS' SO THAT ?5^Q ...[ IT IS THE SAME IN AND OUTSIDE A HOOK ?6FB ...#MAC SPCMSALT ?6^2 ...#STR %A,ON ?7DL ...#STR ?7Y= ...( ?8CW ...#MEN SETPG ?8XG ...#TRA K80SETPG ?9C6 ... BRN K81SETPG ?9WQ ...#END ?=BB ...#EXI ?=W2 ...) ??*L ...#STR OFF,%A ??T= ...#STR ?##W ...( ?#SG ...#MEN SETPG ?*#6 ...#TRA K80SETPG ?*RQ ... SMO FX2 ?B?B ...#END ?BR2 ...#EXI ?C=L ...) ?CQ= ...#NOR ?D9W ...# ?DPG ...[ SGEXHOOK - MACRO TO ALLOW SETGLOBAL OUTSIDE A HOOK ?F96 ...#MAC SGEXHOOK ?FNQ ...#STR %A,ON ?G8B ...#STR ?GN2 ...( ?H7L ...#MEN GLOBALS ?HM= ...#TRA K80GLOBALS ?J6W ... BRN K81GLOBALS ?JLG ...#END ?K66 ...#MEN WAIT ?KKQ ...#TRA K80WAIT ?L5B ... BRN K81WAIT ?LK2 ...#END ?M4L ...#EXI ?MJ= ...) ?N3W ...#STR OFF,%A ?NHG ...#STR ?P36 ...( ?PGQ ...#MEN GLOBALS ?Q2B ...#TRA K80GLOBALS ?QG2 ... SMO FX2 ?Q^L ...#END ?RF= ...#MEN WAIT ?RYW ...#TRA K80WAIT ?SDG ... SMO FX2 ?SY6 ...#END ?TCQ ...) ?TXB ...#NOR ?WC2 ...# ?WWL ...[ JBVEXHOOK - MACRO TO ALLOW SP *JBV OUTSIDE A HOOK ?XB= ...#MAC JBVEXHOOK ?XTW ...#STR %A,ON ?Y*G ...#STR ?YT6 ...( ?^#Q ...#MEN GLOBALS ?^SB ...#TRA K82GLOBALS #2#2 ... BRN K83GLOBALS #2RL ...#END #3?= ...#EXI #3QW ...) #4=G ...#STR OFF,%A #4Q6 ...#STR #59Q ...( #5PB ...#MEN GLOBALS #692 ...#TRA K82GLOBALS #6NL ... SMO FX2 #78= ...#END #7MW ...) #87G ...#NOR #8M6 ...# ^^^^ ...135250750006