(George Source)
Macros used: ACROSS, BXE, BXL, BXU, CCBB, CLEARALL, COOR2, EMPTY, FINMOVE, GEOERR, HUNT, HUNT2, HUNT2OPT, JDISENG, JIPCM, KILLHANGER, MENDAREA, MFREE, MHUNT, NUMLINK, PROGMOVE, QTASK, RERING, SEG, SEGENTRY, STOPHANGER, TICKLE, TRACE, WAKEHANGER
22FL ... SEG IPQUAKE,,KEITH MARTIN 22^= # 23DW SEGENTRY K1IPQUAKE,X1IPQUAKE 23YG # 24D6 PMASK #77777 24XQ QTASK #15010000 25CB TBIT4 #2000000 25X2 TBIT5 #1000000 26BL SKH SMO FX2 26W= STO 0 AWORK1 27*W KILLHANGER 2 27TG LDX 0 AWORK1(2) 28*6 LDX 1 FX1 28SQ EXIT 0 0 29#B X1IPQUAKE 29S2 HUNT 3,IPCD,ATASK 2=?L BPZ 3 Q2 2=R= ACROSS IPQUAKER,1 2?=W Q2 LDX 4 A1(3) [LINK NR 2?QG LDX 3 BPTR(3) [RESET POINTER TO IPSTACK 2#=6 # SCAN IPSTACK BLOCK FOR ENTRY 2#PQ # CORRESPONDING TO THIS TASK 2*9B LDX 6 3 [SAVE IPSTACK POINTER 2*P2 LDX 5 ARINGNO(3) 2B8L ANDN 5 #7777 [NR OF RING ELS 2BN= LDN 3 A1(3) [INITIALISE POINTER 2C7W Q6 LDX 0 ALINUM(3) 2CMG ANDN 0 #7777 2D76 BXE 4 0,Q21 2DLQ ADN 3 ARECLEN [UPDATE POINTER 2F6B BCT 5 Q6 [J TO TRY NEXT 2FL2 GEOERR 1,IPCLKLST [ELSE BREAK 2G5L Q21 2GK= #SKI IMC 2H4W ( 2HJG # TEST IF WMC ALLOWED 2J46 LDX 0 BPTR(3) 2JHQ BNZ 0 Q5A 2K3B LDX 2 ALINUM(3) 2KH2 CALL 0 SKH 2KTC ... LDX 2 FPTR(3) 2L7S ... EMPTY FPTR(2) 2LG9 ... EMPTY FPTR(3) 2LSL ... LDN 0 #40 2M73 ... ORS 0 ASTATUS2(3) 2MFG BRN Q15 2M^6 Q5A LDX 0 ASTATUS2(3) 2NDQ SLL 0 1 2NYB BPZ 0 Q23 2PD2 LDX 1 FPTR(3) 2PXL LDX 0 AREQPR-ARINGEL(1) 2QC= BZE 0 Q5 2QWW SLL 0 10 2RBG BPZ 0 Q14 2RW6 ) 2S*Q # SEARCH FOR OTHER END OF THE LINK 2STB Q5 SMO FPTR(3) 2T*2 LDX 7 ALINDIR-ARINGEL [SAVE OPENING MODE 2TSL LDX 2 6 2W#= LDX 5 ARINGNO(2) 2WRW LDN 2 A1(2) 2X?G ANDN 5 #7777 [NR OF ENTRIES 2XR6 Q8 LDX 0 ASTATUS2(2) 2Y=Q SLL 0 1 2YQB BPZ 0 Q7 [ALREADY ESTABLISHED 2^=2 SLL 0 1 2^PL BNG 0 Q7 [JUST ESTABLISHED 2^WS ... SLL 0 16 [WAITING TO BE REMOVED 3242 ... BNG 0 Q7 [FROM STACK 329= LDX 1 BPTR(2) 32NW BZE 1 Q7 [NOT YET ENRINGED 338G #SKIP IPCV4 33N6 ( 347Q LDCT 0 #400 34MB ANDX 0 ASTATUS1(2) 3572 BNZ 0 Q7 35LL ) 366= LDX 1 FPTR(2) 36KW #SKI IMC 375G ( 37K6 LDX 0 AREQPR-ARINGEL(1) 384Q BZE 0 Q17 38JB SLL 0 10 3942 BPZ 0 Q7 [WMC NOT ALLOWED 39HL Q17 3=3= ) 3=GW BXE 7 ALINDIR-ARINGEL(1),Q7 3?2G # COMPARE NAMES 3?G6 SMO FPTR(3) 3?^Q LDX 0 ALINAME-ARINGEL 3#FB BXU 0 ALINAME-ARINGEL(1),Q7 3#^2 SMO FPTR(3) 3*DL LDX 0 ALINAME-ARINGEL+1 3*Y= BXU 0 ALINAME-ARINGEL+1(1),Q7 3BCW SMO FPTR(3) 3BXG LDX 0 ALINAME-ARINGEL+2 3CC6 BXE 0 ALINAME-ARINGEL+2(1),Q4 3CWQ # TRY NEXT LINK,IF ANY 3DBB Q7 ADN 2 ARECLEN 3DW2 BCT 5 Q8 [J BACK FOR NEXT 3F*L # TEST IF IMC ALLOWED 3FT= #SKIP IPCV3 3G#W ( 3GSG LDX 0 ASTATUS2(3) 3H#6 SLL 0 7 3HRQ BNG 0 Q23 3J?B ) 3JR2 Q14 LDX 2 FX2 3K=L LDX 1 FPTR(3) 3KQ= LDX 0 AREQPR-ARINGEL(1) [PROPERTIES REQUESTED 3L9W BZE 0 Q18 3LPG SRL 0 11 3M96 ANDN 0 3 3MNQ #SKIP IPCV3 3N8B BZE 0 Q23 3NN2 #SKIP IPCV3<1$1 3P7L BZE 0 Q11 3PM= # TRY IMC 3Q6W Q18 3QLG LDX 5 APROPRES(2) [NR OF IPBS 3R66 #SKIP IPCV3 3RKQ BZE 5 Q23 3S5B #SKIP IPCV3<1$1 3SK2 BZE 5 Q11 [NONE 3T4L #SKIP IPCV3 3TJ= ( 3W3W MHUNT 1,IPCD,ATASK 3WHG WAKEHANGER A1(1) 3X36 BRN Q15 3XGQ Q23 LDX 2 ALINUM(3) 3Y2B ANDN 2 #7777 3YG2 CALL 0 SKH 3Y^L BRN Q15 3^F= #SKIP IPCV3<1$1 3^YW ( 42DG Q19 LDN 2 ACTRING(2) [ACTIVITY RING POINTER 42Y6 LDX 2 BPTR(2) 43CQ SBN 2 ACTRING [NEXT IPB ACTIVITY 43XB LDX 0 ATYPE(2) 44C2 SRL 0 12 44WL SBN 0 IPCA+IPCBX 45B= BZE 0 Q20 45TW GEOERR 1,IPCBXLST 46*G Q20 46T6 JIPCM DS,Q16,2 [TEST IF IPB OK 47#Q JDISENG CPPTR(2),Q16 47SB NUMLINK 48#2 TXL 0 ALNKLIM(2) [TEST IF LINK SPACE AVAILABLE 48RL BCC Q16 49?= MHUNT 1,IPCD,ATASK [FIND ATASK 49QW SMO FX1 4==G LDX 0 TBIT5 4=Q6 ORS 0 ASTATUS2(3) [MARK'OPEN IN PROGRESS' 4?9Q LDX 3 FPTR(3) 4?PB LDX 7 1 4#92 QTASK 7,3,2 4#NL LDX 2 FX2 4*8= BRN Q15 [FINISHED THIS TASK 4*MW Q16 SMO FX1 4B7G LDX 0 TBIT4 4BM6 ORS 0 ASTATUS2(3) 4C6Q BCT 5 Q19 [TRY NEXT 4CLB ) 4D62 # NO CORRESPONDING LINK FOUND 4DKL # FINISHED THIS TASK 4F5= Q11 LDN 0 1 4FJW SLL 0 18 4G4G ERS 0 ASTATUS2(3) 4GJ6 MFREE IPCD,ATASK 4H3Q Q15 COOR2 4HHB ACROSS IPQUAKER,1 4J32 # SUITABLE CORRESPONDING LINK FOUND 4JGL # X3 POINTS TO CURRENT ENTRY,X2 TO OLD ONE,X1 TO OLD AOLPT 4K2= Q4 LDX 0 ASTATUS1(2) 4KFW ANDN 0 1 [TRANSFER STORED BIT 4K^G BNZ 0 Q9 [J IF TRANSFER STORED 4LF6 LDX 0 ASTATUS1(3) 4LYQ ANDN 0 1 4MDB BZE 0 Q10 [NO TRANSFER STORED 4MY2 SMO FX1 4NCL LDX 0 TBIT5 4NX= ANDS 0 ASTATUS2(2) 4PBW LDN 0 1 4PWG ORS 0 ASTATUS2(2) 4QB6 # [NOT CANCELLED 4QTQ LDX 0 AREPPTR(3) [MOVE UP DETAILS 4R*B STO 0 AREPPTR(2) [--- OF STORED TRANSFER 4RT2 LDX 0 ASTR(3) [--- 4S#L STO 0 ASTR(2) [--- 4SFS ... LDX 0 ASTR2(3) 4SM2 ... STO 0 ASTR2(2) [MODE *21 IF NON ZERO -START 4SS= LDX 0 ALENTR(3) [--- 4T?W STO 0 ALENTR(2) [---- 4TF4 ... LDX 0 ALENTR2(3) 4TL= ... STO 0 ALENTR2(2) [MODE *21 IF NON ZERO -LENGTH 4TRG LDX 0 ASTMEL(3) [---- 4W?6 STO 0 ASTMEL(2) [---- 4WQQ LDX 0 ATIMCT(3) [---- 4X=B STO 0 ATIMCT(2) [---. 4XQ2 Q12 LDN 0 3 4Y9L SLL 0 13 4YP= STO 0 IPPROPS-ARINGEL(1) 4^8W SMO FPTR(3) 4^NG STO 0 IPPROPS-ARINGEL 5286 LDX 0 ALINUM(2) 52MQ SMO FPTR(3) 537B STO 0 BLINO-ARINGEL 53M2 LDX 0 ALINUM(3) 546L LDX 1 FX2 56JQ Q13 LDX 1 FPTR(2) 574B STOZ AWORK1-ARINGEL(1) 57J2 LDN 0 1 583L SMO FPTR(3) 58H= STO 0 AWORK1-ARINGEL 592W LDX 7 2 59GG LDX 0 FPTR(3) 5=26 SBN 0 ARINGEL 5=FQ HUNT2OPT 2,BLINK,0,0 5=^B BNG 2 QX 5?F2 LDN 0 1 5?YL LDX 6 ALOGLEN(2) 5#D= ... SBN 6 3 5#XW ... BNG 6 QX 5*CG ...QY STO 0 A1+2+AWORK1-ACC3(2) 5*X6 ... ADN 2 ALINK 5BBQ ... SBN 6 ALINK 5BWB ... BPZ 6 QY 5CB2 QX LDX 2 7 5CTL RERING FPTR(3),2 5D*= #SKIP IPCV3 5DSW ( 5F#G LDX 2 7 5FS6 LDX 7 ALINUM(3) 5G?Q LDX 6 BSTART(3) 5GRB LDX 0 ASTATUS2(2) 5H38 ANDX 0 TBIT5(1) 5H?2 BZE 0 QK 5HQL LDX 2 ALINUM(2) 5J== STOPHANGER 2 5JPW QK LDX 2 7 5K9G CALL 0 SKH 5L8Q HUNT2 3,IPCD,IPSTACK,2 5LNB SBX 3 6 5M82 ) 5MT= ...Q22 5MWM ... LDX 1 FPTR(3) 5MY4 ... EMPTY FPTR(1) 5M^F ... EMPTY FPTR(3) 5N2W ... LDN 0 #40 5N4? ... ORS 0 ASTATUS2(3) 5N7= #SKI IPCV3 5NLW BRN Q15 5P6G #SKI IPCV3<1$1 5PL6 BRN Q11 5Q5Q Q10 SMO FX1 5QKB LDX 0 TBIT5 5R52 ANDS 0 ASTATUS2(2) [ESTABLISHED,NO TRANSFER REQUEST 5RJL BRN Q12 5S4= Q9 LDX 0 ASTATUS1(3) 5SHW ANDN 0 1 5T3G BZE 0 Q10 [ESTABLISHED RING 5TH6 # BOTH SIDES HAVE A TRANSFER STORED 5W2Q # IT IS TO BE IMPLEMENTED BEFORE THE RINGS 5WGB # ARE COALESCED 5X22 SMO FX2 [SAVE X1,2,3 5XFL STO 2 AWORK2 5X^= LDX 2 FX2 5YDW STO 1 AWORK1(2) 5YYG STO 3 AWORK3(2) 5^D6 LDX 3 FPTR(3) 5^XQ LDX 0 ALINDIR-ARINGEL(3) 62CB SRL 0 8 62X2 BZE 0 V1 [X3->READER 63BL LDX 0 1 [ELSE SWAP POINTERS 63W= LDX 1 3 64*W LDX 3 0 [SO THAT X3->READER 64TG V1 SMO FPTR(3) 65*6 LDX 7 ALENTR [LENGTH OF READ 65SQ SMO FPTR(1) 66#B SBX 7 ALENTR [READ - WRITE 66S2 ... SMO FPTR(1) 67?L ... SBX 7 ALENTR2 [MODE *21 LENGTH IF NON ZERO 6#MG STO 1 ACOMMUNE1(2) 6*76 STO 3 ACOMMUNE2(2) 6*LQ #SKI IPCG4 6B6B ( 6BL2 SBN 1 ARINGEL 6C5L HUNT2 1,ADATA,HLOCKDOWN 6CK= STO 1 ACOMMUNE3(2) 6D4W SBN 3 ARINGEL 6DJG HUNT2 1,ADATA,HLOCKDOWN,3 6F46 STO 1 ACOMMUNE4(2) 6F6M ... LDX 3 ACOMMUNE2(2) [PRT READ STACK ENTRY 6F98 ... LDX 1 ACOMMUNE1(2) 6F?P ...) 6FB= ... LDX 1 FPTR(1) [PTR WRITE STACK ENTRY 6FDR ... LDX 2 ACOMMUNE2(2) 6FH# ... LDX 2 FPTR(2) [PTR READ STACK ENTRY 6FKT ...# 6FNB ...# SET FROM,TO,LENGTH IN 6FQX ...# X4,5,6 FOR FIRST MOVE 6FTD ... TRACE 1,IPCMOVE1 [PTR WRITE STACK ENTRY 6FX^ ... LDX 4 ASTR(1) [WRITE ADDR 6G2G ... LDX 5 ASTR(2) [READ ADDR 6G53 ... LDX 6 ALENTR(1) [WRITELENGTH 6G7J ... BXL 6 ALENTR(2),QK7 [J IF LESS THAN READ LENGTH 6G=5 ... LDX 6 ALENTR(2) [ELSE SET READ LENGTH 6G#L ... BRN QK7 6GC7 ...# 6GFN ...# SET FROM,TO,LENGTH 6GJ9 ...# IN X4,5,6 FOR SECOND (MODE *21 ONLY) MOVE 6GLQ ...QK5 6GP? ... TRACE 2,IPCMOVE2 [PTR READ STACK ENTRY 6GRS ... LDX 4 ALENTR2(1) [WRITE-2 LENGTH 6GW* ... BZE 4 QK9 [J IF DONE OR NOT MODE *21 6GYW ... LDX 5 ASTR(2) [READ ADDR 6H3C ... ADX 5 6 [+ LENGTH FIRST MOVE 6H5Y ... LDX 4 ASTR2(1) [WRITE-2 ADDR 6H8F ... NGX 6 6 6H?2 ... ADX 6 ALENTR(2) [=READ LENGTH - LENGTH MOUED 6H*H ... BZE 6 QK9 [J IF ALL DONE 1ST TIME 6HD4 ... BXL 6 ALENTR2(1),QKZ [J IF LESS THAN WRITE-2 LENGTH 6HGK ... LDX 6 ALENTR2(1) [ELSE RESET TO WRITE-2 LENGTH 6HK6 ...QKZ 6HMM ... STOZ ALENTR2(1) 6HQ8 ...QK7 6HSP ... SMO FX2 6HX= ... LDX 1 ACOMMUNE1 6H^W LDX 1 APETADDR-ARINGEL(1) 6JFG LDX 3 APETADDR-ARINGEL(3) 6JJL ... TRACE 6,IPCPROGM [LENGTH OF MOVE 6JMQ ... PROGMOVE 1,4,3,5,6 6JQW ... LDX 2 FX2 6JW2 ... LDX 1 ACOMMUNE1(2) 6J^6 ... LDX 1 FPTR(1) [PTR WRITE STACK ENTRY 6K4= ... LDX 3 ACOMMUNE2(2) 6K7B ... LDX 2 FPTR(3) [PTR READ STACK ENTRY 6K=G ... BRN QK5 6K*L ...QK9 6KDQ ... LDX 2 FX2 6KHW ... LDX 1 ACOMMUNE1(2) [OLPA WRITER 6KM2 ... LDX 1 APETADDR-ARINGEL(1) [APET WRITER 6KQ6 ... LDX 3 ACOMMUNE2(2) [OLPA READER 6KT= ... LDX 3 APETADDR-ARINGEL(3) [APET READER 6KYB # READ REPLY 6LD2 LDX 2 ACOMMUNE2(2) 6LXL SMO FPTR(2) 6MC= LDX 5 AREPPTR 6MHN LDN 4 6 6MN6 LDX 6 7 6MSJ BPZ 6 VM1 6M^2 LDCT 6 #100 6N5D VM1 SMO FX1 6N9W ORX 6 TBIT5 6NBG LDX 2 FX2 6NW6 LDN 0 1 6P*Q STO 0 ACOMMUNE5(2) 6PTB ... FINMOVE 3,5,4,ACOMMUNE5(2),HLOCKB1,ACOMMUNE4(2),1 6Q*2 # WRITE REPLY 6QSL SMO FX2 6R#= LDX 2 ACOMMUNE1 6RRW SMO FPTR(2) 6S?G LDX 5 AREPPTR 6SK= LDN 4 6 6SX2 LDCT 6 #010 6T8Q BPZ 7 VM2 6TGG LDCT 6 #110 6TS= NGX 7 7 6W62 ORX 6 7 6WCQ VM2 LDX 2 FX2 6WPL LDN 0 1 6X9= STO 0 ACOMMUNE5(2) 6XNW ... FINMOVE 1,5,4,ACOMMUNE5(2),HLOCKB1,ACOMMUNE3(2),1 6Y8G # REACTIVATE PROGRAMS 6YN6 SMO FX2 6^7Q LDX 3 AWORK2 6^MB LDX 2 FPTR(3) 7272 SBN 2 ARINGEL 72LL #SKI IPCG4 736= ( 73KW HUNT2 1,ADATA,HLOCKDOWN,2 745G ... CLEARALL APETADDR(2),0,1 74K6 ) 754Q CCBB 2 75JB TICKLE JOBNO(2),ASTMEL(3) 7642 SMO FX2 76HL LDX 3 AWORK3 773= LDX 2 FPTR(3) 77GW SBN 2 ARINGEL 782G #SKI IPCG4 78G6 ( 78^Q HUNT2 1,ADATA,HLOCKDOWN,2 79FB ... CLEARALL APETADDR(2),0,1 79^2 ) 7=DL CCBB 2 7=Y= TICKLE JOBNO(2),ASTMEL(3) 7?CW # RETURN TO AMALGAMATE RING ELEMENTS 7?XG SMO FX2 7#C6 LDX 2 AWORK2 7#WQ SMO FX2 7*BB LDX 1 AWORK1 7*W2 STOZ ASTATUS1(2) 7B*L BRN Q10 7BT= # 7C#W MENDAREA 100,K2IPQUAKE 7CSG # 7D#6 #END ^^^^ ...61024664002100000000