TWINSETD866
(George Source)
Macros used: ALTLEN, CHAIN, COOR3, DERING, DERINGD, DOWN, ENRING, FINDPEREC, FREECORE, GEOERR, HUNT2J, HUNTW, IPCREAD, IPCREP, IPCWRITE, JSHARED, JTWIN, LADDP, LGEOG, LONGCLEAR, LONGON, MENDAREA, MHUNT, MHUNTW, NAME, RINGTWO, SEGENTRY, SETNCORE, SETUPCORE, SUSPEND, TCLOSE, TRACE, TWTRACE, UP, UPPLUS, V
- TWINSETD866.txt
22FL #SEG TWINSETD70 [BOB NICHOLSON 22^= #LIS K0TWINSET>K0TWINSETD 23DW 8HTWINSETD 23YG # 24D6 # THIS SEGMENT RECEIVES K1,AND SENDS K2,MESSAGE CONCERNED WITH 24XQ # TWINNING 25CB # 25X2 SEGENTRY K1TWINSETD,QK1 26BL SEGENTRY K2TWINSETD,QK2 26W= SEGENTRY K3TWINSETD,QK3 27*W SEGENTRY K4TWINSETD,QK4 27J6 ... SEGENTRY K5TWINSETD,QK5 [SETS NOT INITIALISED REPLIES 27M= ... SEGENTRY K7TWINSETD 27QB ... +0 [=-1 IF TRACING 27TG # 28*6 # IPCREAD SUBROUTINE 28SQ # 29#B QK1 [***** 29S2 #SKI K6TWINSETC>99-99 2=?L TRACE 2,TWREADC 2=R= LDN 3 ETBUFS(2) 2?=W IPCREAD ABS,3,ETNBLEN,ETIOUT [DO ACTUAL READ 2?QG ... LDN 0 JROUTS [SET READ OUTSTANDING MKR 2#=6 BRN XIT 2#PQ # 2*9B # IPCWRITE SUBROUTINE 2*P2 # 2B8L QK2 [***** 2BN= MHUNTW 3,EWDAS,ESEND [SEARCH FOR DATA BLOCK 2C2L ... NAME 3,EWDAS,ESENDT [IN CASE OTHER ESENDS ARE CHND BEFORE 2C7W #SKI K6TWINSETC>99-99 2CMG TRACE ENMARK(3),TWRITEC 2D76 LDX 2 ALOGLEN(3) 2DLQ SBN 2 2 2F6B LDX 5 XTYPE(1) 2FL2 IPCWRITE BLK,5,2,ETIOUT [SEND MESSAGE 2FRG ... SMO FX1 2FRS ... LDX 0 K7TWINSETD 2FS6 ... BZE 0 NTRAC1 [J IF NO TRACING 2FSQ ... MHUNTW 3,EWDAS,ESENDT 2FYB ... LDN 3 ENMARK(3) 2F^M ...NTRAC1 2G5L LDN 0 JIOUTS 2GK= XIT ORS 0 ETWINMK 2GMN ... SMO FX1 2GMY ... LDX 5 K7TWINSETD 2GN8 ... BZE 5 NTRAC2 [J IF NOT TRACING 2GNH ... LDN 5 #6463 [TS 2GPL ... SLL 5 12 2GQP ... ANDN 0 JIOUTS+JROUTS 2GRS ... ORX 5 0 2GSX ... LDX 0 ETWINMK 2GW2 ... STO 0 ACOMMUNE2(2) 2GX5 ... STO 5 ACOMMUNE1(2) 2GXX ... STO 7 ACOMMUNE3(2) [USUALLY LINK IN CALLING SEG 2GYP ... LDN 4 ACOMMUNE4(2) 2G^H ... MOVE 3 2 2H2B ... TWTRACE 2H2X ...NTRAC2 2H4W TRACE ETWINMK,ETWINMK 2HJG UP 2J46 # 2JHQ [ SUBROUTINE TO SEARCH FOR ESEND WITH REQUEST TYPE 2K3B [ IN X6 AND NUMBER IN X5. 2KH2 [ X7 LINK - EXITS 0 IF FOUND,1 IF NOT FOUND:X3 PTS TO ENLINK IF 0 2L2L [ 2LG= SEAR LDX 3 FX2 2L^W TA HUNT2J 3,EWDAS,ESEND,,NFOUND 2MFG LDEX 0 ENMARK(3) 2M^6 SBX 0 6 2NDQ BNZ 0 TA [J IF REQUEST TYPE DIFFERS 2NYB LDX 0 ENSTART(3) 2PD2 SBX 0 5 2PXL BNZ 0 TA [J IF NUMBER DIFFERS 2QC= TRACE 6,TFOUND 2QWW EXIT 7 0 [FOUND 2RBG NFOUND 2RW6 EXIT 7 1 [NOT FOUND 2S*Q [ 2STB # 2T*2 # CONSTANTS 2TSL # 2W#= XTYPE 2WGG ...#HAL EWDAS+ESENDT,+ENMARK 2X?G XM6 #76007777 [CLEARS BITS 5,6,7,8,9,10,11 2XR6 # 2Y=Q # 2YQB # 2^=2 # SUBROUTINE TO ASSEMBLE HELLO MESSAGE 2^PL # 329= # FORMAT OF WORD IS 32NW # 338G # B0-B2 NOT USED 33N6 # B3 =1 IF WE HAVE RIGHT TO DISENGAGE 347Q # B5 IS THE LOCK-OUT BIT (=0 IF WE HAVE IT) 34MB # B7 =1 IF THIS PROCESSOR GOING TO SEND LOCK-OUT 3572 # B9-B10 IS THE STATUS AS FOR BSUNIT 35LL # B15-23 GEOG. NO. 366= # 36KW QK3 [***** 375G LDX 6 ETNBLEN 37K6 ADN 6 2 3826 ...[ SET UP ENLINK TO CONTAIN REPLY. WILL BE 38C6 ...[ RENAMED TO ESEND BY CALLING SEGMENT 38S6 ...[ AS IPC MAY OTHERWISE PICK IT UP AS TRANSFER BUFFER 3996 ...[ IF A WRITE HAS ALREADY BEEN ISSUED 39L6 ... SETUPCORE 6,1,EWDAS,ENLINK,,1 3=3= LDN 0 ENTRGA(1) 3=GW STO 0 ENTRGA(1) 3?2G STO 0 ENTRGA+1(1) [MAKE RING EMPTY 3?G6 LDN 2 ENSTART(1) 3?^Q CALL 7 X6 [GET PTR TO FIRST 3#FB BRN NOTWINS 3#^2 R22 LADDP 3,4 [X4 PTS TO APIA 3*DL LGEOG 3,0 3*Y= STO 0 0(2) [STORE GEOG. NO 3BCW SMO 4 3BXG LDX 0 BSUNIT3 3CC6 ANDN 0 4 3CWQ DCH 0 0(2) [DISENGAGE BIT TO B3 3DBB SMO FX1 3DW2 LDX 0 XBIT5910 3F*L SMO 4 3FT= ANDX 0 BSUNIT 3G#W ORS 0 0(2) [STATUS AND LOCK-OUT 3R66 ADN 2 1 [UPDATE MOD 3RKQ CALL 7 X3 3S5B BRN R21 [NO MORE 3SK2 BRN R22 [J IF DO NEXT 3T4L R21 NGN 0 1 3TJ= STO 0 0(2) [-1 TO TERMINATE 3W3W UP 3WHG [ 3X36 # 3XGQ # SUBROUTINE TO GO ROUND JOBRING WAKING UP WAITING ACTIVITIES 3Y2B # WHOSE NUMBER (X5) AND REQUEST TYPE (X6) AGREE : REPLY IN X4 3YG2 # 3Y^L R7 LDX 2 FX2 3^F= LDX 3 ETFRING(2) 3^YW R7A LDN 0 ETFRING(2) 42DG TXU 0 3 42Y6 BCC (7) [J IF NO MORE 43CQ SBN 3 ENLA [PTR TO NEXT ENLINK 43XB #SKI K6TWINSET>99-99 44C2 ( 44WL LDX 0 ATYPE(3) [CHECK IF ENLINK 45B= SRL 0 12 45TW SBN 0 EWDAS+ENLINK 46*G BZE 0 R8 46T6 GEOERR 1,NOT ENLK 47#Q R8 47SB ) 48#2 BNG 5 R9 [J IF NOT TO CHECK DETAILS 48RL TXU 6 ENRQ(3) 49?= TXU 5 ENBR(3) 49QW BCC R9 [J IF MATCH 4==G R8F LDX 3 ENLA(3) [GET NEXT 4=Q6 LDX 2 FX2 4?9Q BRN R7A 4?PB R9 LDX 0 ENRQ(3) [REQUEST TYPE 4#92 SBN 0 CLIP 4#NL BZE 0 R8F [IGNORE IF CLOSE 4*8= LDX 0 ENRQ(3) 4*MW SBN 0 INIT 4B7G BZE 0 R8F [OR IF INITIALISE 4BM6 STO 4 ENRP(3) [STORE REPLY 4C6Q LDX 2 3 4CLB LDX 1 ENWTS(3) [WAITING STYLE 4D62 R10 LDX 2 BPTR(2) [SEARCH FOR WAITING ACTIVITY 4DKL LDX 0 ATYPE(2) 4F5= TXL 0 CACT 4FJW BCS R10 [J IF NOT ACTIVITY 4G4G LONGCLEAR 2,0(1),R11 [WAKE UP IF POSSIBLE 4GJ6 R11 LDX 2 3 4H3Q LDX 3 ENLA(3) [NEXT ON RING 4HHB DERINGD ENLA(2) [DECHAIN 4J32 BRN R7A 4JGL # 4RWW ...# 4RX* ...# SUBROUTINE TO DO THE FOLLOWING 4RXS ...# 4RY? ...# X6=0 CHAIN ENLINK ON TO JOBRING 4RYQ ...# 4R^9 ...# X6 NON ZERO DECHAIN ENLINK FROM ESEND,LONGCLEAR ACTIVITY (IF ANY) 4R^N ...# AND PUT REPLY IN 4S27 ...# 4S2L ...R1A MHUNTW 3,EWDAS,ESEND 4S35 ...R1 LDN 0 ENTRGA(3) 4S3J ... TXU 0 ENTRGA+1(3) 4S43 ... BCC R2 [J IF NOTHING CHAINED 4S4G ... LDX 4 ENTRGA(3) 4S4^ ... DERING ENTRGA(3) [ELSE DECHAIN 4S5D ... SBN 4 ENLA [PTR TO START OF ENLINK 4S5X ... LDX 1 4 4S6B ... STO 6 ENRP(1) [STORE REPLY 4S6T ... BZE 6 R3 [J IF ACTIVITY NOT TO BE WOKEN 4S7# ...R4 LDX 1 BPTR(1) [LOOK BACK FOR ACTIVITY 4S7R ... LDX 0 ATYPE(1) 4S8= ... TXL 0 CACT 4S8P ... BCS R4 [J NOT ACTIVITY 4S98 ... SMO 4 4S9M ... LDX 3 ENWTS [GET WAITING STYLE 4S=6 ... LONGCLEAR 1,0(3),R3A [AND WAKE UP IF WAITING 4S=K ...R3A EXIT 7 0 4S?4 ...R3 ENRING 1,ETBRING(2) [PUT ON END OF JOBRING 4S?H ...R2 EXIT 7 0 4S#L [ 4SS= [ SUBROUTINE TO RING ESEND AND ENLINK TOGETHER AND CHAIN 4T?W [ ESEND AS LAST BLOCK IN TWINNING ACTIVITY .X1-> ESEND X3-> ENLINK 4TRG [ 4W?6 SETOFF 4WQQ RINGTWO ENTRGA(1),ENLA(3) [RING THEM TO GETHER 4X=B LDX 2 FX2 4XQ2 LDX 2 ACTRING(2) 4Y9L SBN 2 ACTRING 4YP= LDX 2 BPTR(2) [PTR TO LAST BLK 4^8W CHAIN 1,2 [PUT ESEND ON END 4^NG EXIT 7 0 5=FQ # 5=^B # SUBROUTINE TO GO THOUGH ALL UDAS DEVICES LOOKING FOR TWINNED ONES 5?F2 # 5?YL X6 LDX 1 FX1 5#D= X4 ADN 1 1 5#XW LDX 0 TB-1(1) [NEXT DEVICE 5*CG BNG 0 (7) 5*X6 ... FINDPEREC 3,APFOTY,TB-1(1),X3,,XCME,XCME [GET PTR 5BBQ BNG 3 X4 [J IF NO MORE OF THIS TYPE 5BWB JTWIN 3,X5 [J IF TWINNED 5CB2 BRN X3 [LOOK FOR NEXT 5CTL X5 EXIT 7 1 5D*= # 5DSW NOTWINS 5F#G GEOERR 1,NOTWINS 5FS6 # 5G?Q TB +6 5GRB +13 5H?2 +26 5HQL -1 5J== # 5JPW # 5K9G XBIT5910 #01060000 5KP6 # 5L8Q # SUBROUTINE TO CHECK REPLY FROM GHL OR GHLR 5LNB # 5M82 QK4 [***** 5MML LDN 1 ETBUFS+1(2) [START OF BUFFER 5N7= V8 LDX 4 0(1) 5N8S ... STO 4 ACOMMUNE4(2) [STORE FOR TRACING 5N*G ... BNG 4 V1 [J IF NO MORE 5P6G LDEX 4 0(1) 5PL6 ... FINDPEREC 3,APGEOG,4,,,XCME [GET DL PTR 5Q5Q ... BNG 3 V2 [ERROR IF NOT THERE 5QKB JTWIN 3,V3 [J IF TWINNED 5R52 ... BRN V2 [ELSE ERROR 5RJL V3 LADDP 3,3 5S4= LDX 5 BSUNIT(3) 5S#4 ... STO 5 ACOMMUNE5(2) [STORE FOR TRACING 5SHW ANDX 5 BITS910 [STATE IN OUR LISTS 5T3G LDX 6 0(1) 5TH6 ANDX 6 BITS910 [STATE IN THEIRS 5W2Q BZE 6 V4 [J IF DEDICATED IN THEIR LISTS 5WGB ERX 6 BITS910 5X22 BZE 6 V5 [J IF UNDEDICATED IN THEIR LISTS 5XFL BZE 5 V6 [J IF DEDICATED IN OURS - ERROR 5X^= ERX 5 BITS910 5YDW BNZ 5 V [J IF SHARED IN BOTH PROCESSORS 5YL4 ... BRN V6 [SHARED-UNDEDICATED 66S2 V9 ADN 1 1 [UPDATE MOD 67?L BRN V8 [GO FOR NEXT 67R= # 68=W # SHARED IN BOTH PROCESSORS 68QG # 68RN ...[ CHECK IF BISENGAGE RIGHTS DIFFER 68SW ...[ 68W4 ...V LDX 5 BSUNIT3(3) [DR FROM THIS PROCESSOR 68X= ... ANDN 5 4 68YD ... LDCH 6 0(1) 68^L ... ANDN 6 4 [DR FROM OTHER PROCESSOR 692S ... ERX 5 6 6942 ... BNZ 5 XDIF [DRS DIFFER 6958 ... LDX 0 AFTERU 696B ... BNG 0 XDIF [J IF THIS PROCESSOR STAYS AS IT IS 697J ... LDN 0 4 698Q ... ERS 0 BSUNIT3(3) [REVERSE DR 699Y ...[ NOW CLEAR ANY GHOLD MESSAGES WAITING 69?6 ... LDX 2 FX2 69## ... STO 1 AWORK4(2) [SAVE X1 AND X3 69*G ... STO 3 AWORK3(2) 69BN ... LDN 6 GHOLD [REQUEST TYPE 69CW ... LDEX 5 0(1) [GEOG NO 69F4 ... CALL 7 SEAR [FIND ESEND IF THERE 69G= ... BRN XHLD [J IF FOUND 69HD ... BRN RST [J IF NOT FOUND 69JL ...XHLD FREECORE 3 69KS ...RST LDX 3 AWORK3(2) [RESTORE X1 AND X3 69M2 ... LDX 1 AWORK4(2) 69M5 ...XDIF 69M6 ...[ 69M7 ...[ WE GET ALL ACTIVITIES TO REISSUE TRANSFERS BY SETTING NOT INITIAL- 69M8 ...[ ISED REPLY. THIS IS BECAUSE THE OTHER PROCESSOR MAY HAVE FORGOTTEN 69M9 ...[ ABOUT ANY REPLIES IT WAS SENDING TO US. 69M= ...[ 69M? ... LDX 2 FX2 69M# ... LDX 5 ETWINMK 69M* ... STO 5 ACOMMUNE1(2) [REMEMBER OLD SETTING 69MB ... STO 1 AWORK4(2) [AND MOD 69MC ... STO 3 AWORK3(2) [AND APIA 69MD ... LDCT 0 #400 [STOPS USE OF TWINNING 69MF ... ORN 0 INITCOM [WHILE BSUNIT BEING CHANGED 69MG ... STO 0 ETWINMK 69MH ... LDX 0 5 69MJ ... ANDN 0 JIOUTS 69MK ... TRACE 5,WRITEOS 69ML ... BZE 0 NWOS [J IF NO WRITE OUTSTANDING 69MM ...XTY IPCREP W,3 [SEE HOW ITS GOING 69MN ... BPZ 3 XFIN [J IF FINISHED 69MP ... SUSPEND [ELSE WAIT 69MQ ... BRN XTY 69MR ...XFIN MHUNT 3,EWDAS,ESENDT 69MS ... NAME 3,EWDAS,ESEND 69MT ... TRACE ENMARK(3),WAITED 69MW ... LDN 0 JIOUTS 69MX ... ERS 0 ACOMMUNE1(2) [CLEAR WRITE OUTSTANDING MKR 69MY ...NWOS LDN 6 7 [NOT INITIALISED REPLY 69M^ ... STO 6 ACOMMUNE2(2) 69N2 ... DOWN TWINSETD,5 [CLEAR OUT EVERYTHING 69N3 ... LDX 3 AWORK3(2) [APIA PTR 69N4 ... SMO BSUNIT4(3) 69N5 ... LDN 0 0 69N6 ... BZE 0 NOUSERS [J IF NO ONE HAS LOCK-OUT 69N7 ... COOR3 #41 [WAIT FOR SPRING CLEAN 69N8 ... BRN NWOS [AND TRY AGAIN 69N9 ...NOUSERS 69N= ... LDCT 7 #10 [LO BIT 69N? ... LDX 5 BSUNIT(3) 69N# ... LDX 1 AWORK4(2) 69N* ... LDX 6 0(1) 69NB ... TRACE 5,OURS 69NC ... TRACE 6,THEIRS 69ND ... ANDX 5 7 69NF ... ANDX 6 7 69NG ... ERX 5 6 69NH ... BNZ 5 V9B [J IF LOCK-OUTS DIFFER 69NJ ... LDX 0 AFTERU 69NK ... BNG 0 V9B [J IF WE STAY AS WE ARE 69NL ... ERS 7 BSUNIT(3) [OTHERWISE REVERSE 69NM ... TRACE BSUNIT(3),CHANGED 69NN ...V9B SMO FX1 69NP ... LDX 0 XM7 69NQ ... ANDS 0 BSUNIT(3) [CLEAR BITS 6 AND 7 69NR ... LDX 0 ACOMMUNE1(2) 69NS ... STO 0 ETWINMK [RESTORE ETWINMK 69NT ... BRN V9 [GO FOR NEXT 7CSG V4 BZE 5 V6 [DEDICATED IN BOTH LISTS 7D#6 ERX 5 BITS910 7DRQ BZE 5 V9 [DEDICATED TO THEM-UNDEDICATED TO US 7F?B V6 LDX 4 1 [COMPILE MESSAGE FOR GEOSTOP 7FR2 HUNTW 3,EWDAS,EGOT 7G=L BPZ 3 V10 [J IF ALREADY EXISTS 7GQ= SETNCORE 2,3,EWDAS,EGOT [ELSE SET ONE UP 7H9W LDN 0 0 7HPG STO 0 ENTRGA(3) 7J96 BRN V11 7JNQ V10 LDX 5 ALOGLEN(3) 7K8B ADN 5 1 7KN2 ALTLEN 3,5 [EXTEND IT 7L7L MHUNTW 3,EWDAS,EGOT 7LM= V11 SMO 4 7M6W LDEX 1 0 7M?5 ... SMO ENTRGA(3) 7M#G ... STO 1 ENTRGA+1(3) [STO UNIT NO OF BAD UNIT 7M*X ... LDN 0 1 7MC# ... ADS 0 ENTRGA(3) [UPDATE MOD 7WF= VE LDX 1 4 7WYW BRN V9 [GO FOR NEXT 7XDG # 7XY6 # DEVICE IS UNDEDICATED IN OTHER PROCESSOR 7YCQ # 7YXB V5 BZE 5 V9 [J IF DEDICATED TO US 7^4J ... BRN V6 [ERROR IF UNDEDICATED OR SHARED 8?M6 V2 GEOERR 1,NO DEV 8#6Q # 8SQ2 [ 8STT ...V1 HUNTW 2,EWDAS,ITCH 8SX6 ... BNG 2 NTH 8SYC ... FREECORE 2 [FREE ALL ITCHES 8S^N ... BRN V1 8T2^ ...NTH 8T4= ... HUNTW 2,EWDAS,EGOT 8TP= BNG 2 V1A [J IF NO ERRORS 8TS7 ... LDN 0 1 8TT6 ... ADS 0 ENTRGA(2) [ONE FOR RECORD HEADER 8TW5 ... TCLOSE 8TX4 ... LDN 0 IPBDOWN+GEODOWN+ETMFAIL 8TY3 ... ANDX 0 ETWINMK 8T^2 ... ERS 0 ETWINMK 8T^^ ... UP 8W2Y ...V1A LONGON IPBDE 8W3X ... UPPLUS 1 98F2 # 98YL # 99D= XM7 #77177777 99XW # 99YL ...[ 99YW ...QK5 99^6 ...[ 99^B ...[ PUT IN REPLY IN ACOMMUNE2 TO EVERYTHING 99^L ...[ 99^W ... LDX 6 ACOMMUNE2(2) 9=26 ... STO 6 AWORK1(2) 9=2B ...N2B LDX 3 FX2 [SEARCH ESENDS ON ACTIVITY CHAIN 9=2L ...N2A HUNT2J 3,EWDAS,ESEND,,NES 9=2W ... LDX 0 ENMARK(3) 9=36 ... SBN 0 INIT 9=3B ... BZE 0 N2A [BUT NOT INITIALISE 9=3L ... SBN 0 CLIP-INIT 9=3W ... BZE 0 N2A [OR CLOSE 9=46 ... LDX 5 3 [REMEMBER ESEND 9=4B ... CALL 7 R1 [PUT REPLY IN ENLINK 9=4L ... FREECORE 5 [FREE ESEND 9=4W ... BRN N2B [GO FOR NEXT 9=56 ...[ 9=5B ...[ NO MORE ON ACTIVITY CHAIN-SEARCH JOBRING 9=5L ...[ 9=5W ...NES LDX 2 FX2 9=66 ... TRACE AWORK1(2),K5TD 9=6W ... SMO FX1 9=76 ... LDX 0 K7TWINSETD 9=7B ... BZE 0 NTRAC3 [J IF NOT TRACING 9=7L ... LDN 0 #5305 [K5 9=7W ... STO 0 ACOMMUNE3(2) 9=86 ... TWTRACE 9=8B ...NTRAC3 9=8W ... LDX 4 AWORK1(2) [REPLY 9=96 ... NGN 5 1 [DON'T CHECK DETAILS 9=9B ... CALL 7 R7 9=9L ...[ 9=9W ...[ FREE EWDAS/ITCH BLOCKS 9==6 ...[ 9==B ...NCH HUNTW 1,EWDAS,ITCH 9==L ... BNG 1 YCH [NO MORE LEFT 9==W ... FREECORE 1 9=?6 ... BRN NCH [FREE NEXT 9=?B ...[ 9=?L ...[ NOW ADJUST BSUNIT FOR ALL SHARED DISCS 9=?W ...[ 9=#6 ...YCH CALL 7 X6 [GET PTR (X3) TO FIRST TWINNED DEVICE 9=#B ... BRN NOTWINS [GEOERR IF NONE 9=#L ...XGN LADDP 3,2 [X2 PTR TO APIA 9=#W ... JSHARED 2,NSH [TO NSH IF SHARED 9=*6 ... BRN XNT [ELSE LOOK FOR NEXT 9=*B ...NSH SMO FX1 9=*L ... LDX 0 XM7 9=*W ... ANDS 0 BSUNIT(2) [CLEAR B6 AND B7 9=B6 ...XNT CALL 7 X3 [GET NEXT TWINNED DEVICE 9=BB ... BRN XALL [NO MORE 9=BL ... BRN XGN 9=BW ...XALL UP 9=C8 ...XCME GEOERR 1,NOTCME 9=CG MENDAREA 50,K99TWINSETD 9=X6 # 9?BQ #END ^^^^ ...33365745000100000000