17 22FL ... SEG COMHOOK,,CENT(INSTALLATION HOOKS),,G400 4 22_= [ 15 23DW [ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 4 23YG [ 4 24D6 # 17 24XQ # THIS SEGMENT DEALS WITH ENTERING A COMMAND HOOK 12 25CB # IF ONE HAS BEEN SPECIFIED. 4 25X2 # 13 26BL # THIS CHAPTER IS FOR G3PLUS-IH MK2 4 26W= # 11 27*W SEGENTRY K1COMHOOK,START 4 27TG # 7 28*6 # PRESETS 4 28SQ # 9 29#B SEGENTRY G400HKD1 16 29S2 USERN 12HHOOKS [HOOKS USER NAME 5 2=?L NMDTLS 18 2=R= +1 [DETAILS FOR HOOK BODY 9 2?=W #20000000 8 2?QG +0 16 2#=6 TWO +2 [FOR COUNTING 0-3 8 2#PQ THREE +3 9 2*9B MASKETM #67777777 9 2*P2 MASKCONT #77777 4 2B8L TBLK 8 2BN= #HAL IUSER+G400BLK,0 4 2C7W # 7 2CMG # SUBROUTINE 9 2D76 # LOCATES HOOK BLOCK 13 2DLQ # LINK X6,RESULT X3,X0 OVERWRITTEN 4 2F6B # 4 2FL2 PHKB 17 2G5L LDN 3 BMISC [START OF MISC CHAIN 5 2GK= PHKB1 16 2H4W LDX 3 BPTR(3) [SCAN BACKWARDS 13 2HJG LDX 0 ATYPE(3) [TYPE 16 2J46 ANDX 0 HALFTOP [MASK TOP 12 BITS 9 2JHQ TXU 0 TBLK(1) 16 2K3B BCS PHKB1 [IF NOT,TRY NEXT 8 2KH2 LDX 0 A1(3) 7 2L2L SBN 0 7 16 2LG= BNZ 0 PHKB1 [IF NOT,TRY NEXT 7 2L_W EXIT 6 0 4 2MFG # 20 2M_6 # ############################################################# 4 2NDQ # 11 2NYB # K K 1 11 2PD2 # K K 11 11 2PXL # K K 1 11 2QC= # K K 1 11 2QWW # KKK 1 11 2RBG # K K 1 11 2RW6 # K K 1 11 2S*Q # K K 1 11 2STB # K K 1 4 2T*2 # 20 2TSL # ############################################################# 4 2W#= # 5 2WRW START 18 2X?G TESTHOOK NOHK [IF WITHIN HOOK,CONTINUE 16 2XR6 CALL 6 PHKB [LOCATE HOOKS BLK 16 2Y=Q LDX 7 A1+2(3) [COUNT OF HOOKS 17 2YQB ADN 3 A1-2 [START OF TABLE - 5 18 2_=2 LDN 6 0 [MARK 'NOT ABBREVIATION' 17 2_PL LDX 4 AWORK1(2) [NO OF CHARS IN VB 16 329= TXL 4 THREE(1) [MORE THAN TWO ? 15 32NW BCC P1 [IF SO,JUMP 19 338G LDN 6 1 [ELSE MARK 'TRY ABBREVIATION' 4 33N6 P1 8 347Q BZE 7 NOHK 4 34MB NXT 7 3572 ADN 3 5 18 35LL BZE 6 P2 [J IF NOT ABBREVIATION 17 366= LDX 0 AWORK2(2) [LOAN 1ST TWO CHARS 18 36KW ERX 0 0(3) [COMPARE WITH ABBREV FORM 15 375G BZE 0 PHOUND [J IF FOUND 4 37K6 P2 19 384Q LDN 4 0 [PREPARE FOR FULL COMPARISON 4 38JB P3 7 3942 SMO 4 18 39HL LDX 0 1(3) [LOAD NEXT WD FROM TABLE 7 3=3= SMO 4 17 3=GW TXU 0 AWORK2(2) [COMPARE AGAINST VERB 8 3?2G BCC P4 8 3?G6 BCT 7 NXT 8 3?_Q BRN NOHK 4 3#FB P4 19 3#_2 TXU 4 TWO(1) [TEST IF ANY MORE WDS OF VERB 16 3*DL BCC PHOUND [J IF NOT,FOUND! 17 3*Y= ADN 4 1 [ELSE UPDATE COUNT 18 3BCW BRN P3 [AND COMPARE NEXT WORD 4 3BXG # 18 3CC6 # THIS SECTION OF CODE ATTEMPTS TO OPEN THE HOOK 9 3CWQ # JUST FOUND 4 3DBB # 5 3DW2 PHOUND 8 3F*L LDX 4 4(3) 10 3FT= LDX 6 CONTEXT(2) 10 3G#W ANDX 6 MASKCONT(1) 7 3GSG ANDX 6 4 16 3H#6 BNZ 6 NOHK [WRONG CONTEXT 8 3HRQ LDX 5 1(3) 8 3J?B LDX 6 2(3) 8 3JR2 LDX 7 3(3) 19 3K=L SETNCORE 10,3,FILE,FABSNB [SET UP ABSOLUTE NAME BLOCK 9 3KQ= STO 5 A1+4(3) 9 3L9W STO 6 A1+5(3) 9 3LPG STO 7 A1+6(3) 8 3M96 LDN 0 10 14 3MNQ STO 0 A1(3) [HEADER 9 3N8B LDN 5 USERN(1) 9 3NN2 LDN 6 A1+1(3) 15 3P7L MOVE 5 3 [USER NAME 9 3PM= LDN 5 NMDTLS(1) 9 3Q6W LDN 6 A1+7(3) 14 3QLG MOVE 5 3 [DETAILS 19 3R66 USEROPEN PBREAK,EXECUTE,UNTRAP,LEAVE,NOERREP [OPEN HOOK 12 3RKQ TESTREP OK,OPEN,NOFILE,NHK1 15 3S5B BRN NHK1 [FAIL CASE 4 3SK2 # 19 3T4L # HAVING OPENED THE HOOK IT IS CHECKED FOR PERIPHERAL 12 3TJ= # TYPE, AND IF OK,ENTERED 4 3W3W # 17 3WHG OPEN [CLEAR UP AFTER OPEN 10 3X36 MFREE FILE,FABSNB 10 3XGQ MHUNT 3,FILE,ENT 9 3Y2B LDX 7 ETM(3) 18 3YG2 BZE 7 PHAIL1 [WRONG PERIPHERAL TYPE 15 3Y_L SLL 67 9 [TYPE IN X6 15 3_F= SRL 7 9 [MODE IN X7 20 3_YW ANDN 6 #377 [MASK FOR BASIC PERIPHERAL FILE 15 42DG BNZ 6 PHAIL1 [ERROR IF NOT 10 42Y6 LDX 0 MASKETM(1) 9 43CQ ANDS 0 EXT+9(2) 8 43XB ERN 7 #12 16 44C2 BNZ 7 OUT [J IF SHIFT FILE 8 44WL LDCT 0 #400 17 45B= ORS 0 EXT+9(2) [DENOTE GRAPHIC FILE 4 45TW OUT 7 46*G FREECORE 3 9 46T6 STOZ EXT+3(2) 8 47#Q BNG 4 OUT1 8 47SB BRUSEN OUT2 7 48#2 SLL 4 1 20 48RL BPZ 4 OUT2 [J IF HOOK-STARTING NOT REQUIRED 7 49?= FJOCA 2 19 49QW SPRIVJUMP JSSTART,2,OUT2 [J IF ALREADY SYSTEM STARTED 17 4==G SETHSTAR [SET HOOK-STARTED BIT 4 4=Q6 OUT2 8 4?9Q LDX 2 FX2 7 4?PB SETHOOK 2 4 4#92 OUT1 15 4#NL ACROSS ALASB,2 [ENTER HOOK 4 4*8= # 17 4*MW # IF NO HOOK IS FOUND,CONTINUE WITH VERBCLAS 10 4B7G # IN STANDARD WAY. 4 4BM6 # 4 4C6Q NHK1 10 4CLB MFREE FILE,FABSNB 4 4D62 NOHK 14 4DKL LDCH 4 AWORK2(2) [1ST CHAR 8 4F5= SBN 4 #56 17 4FJW BPZ 4 NOH1 [J IF N-Z INCLUSIVE 10 4G4G ACROSS VERBCLAS,1 4 4GJ6 NOH1 10 4H3Q ACROSS VCLASTWO,1 4 4HHB # 8 4J32 # FAIL CASE 4 4JGL # 5 4K2= PHAIL1 15 4KFW CLOSE [CLOSE HOOK 9 4K_G MFREE FILE,ENT 5 4LF6 PHAIL 8 4LYQ BRN NOHK 4 4MDB # 9 4MY2 # BREAKIN CASE 4 4NCL # 5 4NX= PBREAK 7 4PBW COMBRKIN 9 4PWG # HOOK TABLE 4 4QB6 #END 6 ____ ...003137010001