INTWIN866
(George Source)
Macros used: ACROSS, CHAIN, DERING, DOWN, ENRING, FINDPEREC, FPUT, FREECORE, GEOERR, GETACT, HUNT2J, HUNTW, IDENTITY, IPCOPEN, IPCREP, JSHARED, JTWIN, LADDP, LINKSET, LONGCLEAR, LONGON, LRIDENT, MENDAREA, MHUNTW, NAME, PAIR, SEGENTRY, SETNCORE, SUSPEND, TRACE, TWTRACE
- INTWIN866.txt
22FL ...#SEG INTWIN80 22^= ...#LIS K0TWINSET>K0INTWIN 23DW ... 8HINTWIN 23YG ...[ 24D6 ...[ K1 FROM TWINSETA - INITIALISE FIRST TIME 24XQ ...[ K2 FROM TWINSETA - INITIALISE OTHER FIRST TIME 25CB ...[ K3 FOR SIMULATION 25X2 ...[ 26BL ... SEGENTRY K1INTWIN,QK1TW 26W= ... SEGENTRY K2INTWIN,QK2TW 27*W ... SEGENTRY K3INTWIN [=0 IF NO SIMULATION 2?K? +JSKI11 [=UNIT NO. OF IPB IF ON 2?M2 ... SEGENTRY K4INTWIN 2?NP ... +0 2?QG # 2#=6 # 2#PQ # IPCREAD SUBROUTINE 2*9B # 2*P2 XIPCREAD 2B8L SBX 7 FX1 2BN= DOWN TWINSETD,1 2C7W BRN XIT 2CMG # 2D76 # IPCWRITE SUBROUTINE 2DLQ # 2F6B XIPCWRITE 2FL2 SBX 7 FX1 2G5L DOWN TWINSETD,2 2GK= XIT ADX 7 FX1 2H4W EXIT 7 0 2HJG # 2J46 # 2JHQ # 2K3B # 2KH2 XIPCSTATE [GET STATE IN ACOMMUNE1 2L2L SBX 7 FX1 2LG= DOWN RELIEF,4 [TO DO IPCSTATE 2L^W LDX 3 ACOMMUNE1(2) [LOAD RESULT 2MFG ADX 7 FX1 2M^6 TRACE 3,CSTATE 2NDQ EXIT 7 0 2NYB # 2PD2 XIDENT 2PXL ADN 0 2 2QC= STO 0 EX4 2QWW ... FINDPEREC 3,APGEOG,IPBTWIN,,,XCME 2RBG LRIDENT 3,5,ZND,ZNG 2RW6 STO 5 AWORK3(2) [STORE FIRST WD OF IDENTITY 2S*Q STO 6 AWORK4(2) [STORE SECOND WD OF IDENTITY 2STB # GET UNIQUE NUMBER FROM IDENTIES 2T*2 LDN 1 IDENTITY [PTR TO 1ST WORD OF OUR IDENTITY 2TSL LDN 2 AWORK3(2) [PTR TO 1ST WORD OF THEIRS 2W#= LDN 5 8 [8 CHARACTERS TO CHECK 2WRW NAE LDCH 0 0(1) [FIRST/NEXT WD OF IDENTITY... 2X?G LDCH 3 0(2) [AND OF OTHER PROCESSORS 2XR6 TXU 3 0 2Y=Q BCS NADD [J IF DIFFER 2YQB BCHX 1 £ [UPDATE MODS 2^=2 ... BCHX 2 £ [ 2^PL BCT 5 NAE 329= NADD SBX 0 3 32NW STO 0 AFTERU [STORE UNIQUE NUMBER 32YN ... LDX 2 FX2 338G LDX 5 AWORK3(2) [RELOAD 1ST WORD OF THEIR IDENTITY 33N6 BRN (EX4) [J IF OK 347Q ZND NGNC 0 1 34MB ZNG LDN 0 1 [NOT GEORGE ON OTHER END 3572 SBS 0 EX4 35LL BRN (EX4) [AND EXIT AS APPROPRIATE 366= # 36KW OPENWRITE 375G LDX 2 FX2 37K6 SBX 0 FX1 384Q STO 0 ACOMMUNE9(2) 38JB LDN 3 3 3942 IPCOPEN W,3,5,IPBTWIN [OPEN WRITE LINK 39HL LDX 0 ACOMMUNE9(2) 3=3= ADX 0 FX1 3=GW EXIT 0 0 3=K^ ...# SUBROUTINE TO WAKE ACTIVITIES WAITING FOR IPB (TWAIT MACRO) 3=M2 ...# AND FREE ANY EWDAS/ITCH BLOCKS. X6 LINK 3=N3 ...# 3=P4 ...XIPBD HUNTW 1,EWDAS,ITCH 3=Q5 ... BNG 1 NOIT 3=R6 ... FREECORE 1 3=S7 ... BRN XIPBD 3=T8 ...NOIT LONGON IPBDE 3=W9 ... EXIT 6 0 3=X= ...# 3=Y? ...# 3?2G # 3?G6 # CONSTANTS 3?^Q # 3#^2 XM2 #41773757 3*Y= XM4 #76167777 [CLEARS BITS 5,6,7,11 3CWQ # 3DBB # 3DW2 # 3F*L X ANDS 0 ETWINMK [WAKE UP ACTIVITY DEMANDING STATE 3FT= LONGON EPWT [OF OTHER PROCESSOR 3G#W EXIT 6 0 3GSG # 3H#6 # 3HRQ # CLEAR BIT11 OF ETWINMK 3J?B # 3JR2 XB11CL 3K=L LDX 0 ETWINMK 3KQ= ANDX 0 BIT11 3L9W ERS 0 ETWINMK 3LPG EXIT 7 0 3M96 # 3Q6W # 3QLG # SUBROUTINE TO DO THE FOLLOWING 3R66 # 3RKQ # X6=0 CHAIN ENLINK ON TO JOBRING 3S5B # 3SK2 # X6 NON ZERO DECHAIN ENLINK FROM ESEND,LONGCLEAR ACTIVITY (IF ANY) 3T4L # AND PUT REPLY IN 3TJ= # 3W3W R1A MHUNTW 3,EWDAS,ESEND 3WHG R1 LDN 0 ENTRGA(3) 3X36 TXU 0 ENTRGA+1(3) 3XGQ BCC R2 [J IF NOTHING CHAINED 3Y2B LDX 4 ENTRGA(3) 3YG2 DERING ENTRGA(3) [ELSE DECHAIN 3Y^L SBN 4 ENLA [PTR TO START OF ENLINK 3^F= LDX 1 4 3^YW STO 6 ENRP(1) [STORE REPLY 42DG BZE 6 R3 [J IF ACTIVITY NOT TO BE WOKEN 42Y6 R4 LDX 1 BPTR(1) [LOOK BACK FOR ACTIVITY 43CQ LDX 0 ATYPE(1) 43XB TXL 0 CACT 44C2 BCS R4 [J NOT ACTIVITY 44WL SMO 4 45B= LDX 3 ENWTS [GET WAITING STYLE 45TW LONGCLEAR 1,0(3),R3A [AND WAKE UP IF WAITING 46*G R3A EXIT 7 0 46T6 R3 ENRING 1,ETBRING(2) [PUT ON END OF JOBRING 47#Q R2 EXIT 7 0 4T?W # 4TRG # 4W?6 # SUBROUTINE TO CLEAR LOCK OUT AND SET DISENGAGABLE BY US BIT 4WQQ # FOR ALL SHARED UNITS 4X=B # 4XQ2 R3D CALL 7 X6 [GET DL PTR 4Y9L BRN NOTWINS 4YP= U4 LADDP 3,2 [GET PTR TO APIA 4^8W JSHARED 2,U3 [TO U3 IF SHARED 4^NG UX CALL 7 X3 [GET NEXT 5286 BRN NOMORE 52MQ BRN U4 [GO TO CHECK 537B U3 SMO FX1 53M2 LDX 0 XM4 546L ANDS 0 BSUNIT(2) [CLEAR LOCK-OUT 54L= LDN 0 4 555W ORS 0 BSUNIT3(2) [SET DISENGAGEABLE BY US BIT 55KG BRN UX 5656 NOMORE 56JQ EXIT 6 0 574B # 57J2 NOTWINS 583L GEOERR 1,NOTWINS 58H= # 5KP6 TWDA 4HTWDA 5L8Q ...# 5LNB ...# INITIALISE: ENTWIN IS CURRENT ACTIVITY 5M82 ...# 5MML ...QK2TW 5R52 NGNC 0 1 5RJL QK1TW [***** 5S4= N3 5SHW LDN 0 0 [X0=0 FOR K1 OR =1 FOR K20 5T3G LDX 2 FX2 5TH6 STO 0 AWORK1(2) [STORE MARKER 5W2Q LDX 7 TWDA(1) 5WGB ... LDN 0 5 5X22 ... STO 0 ETIOUT [SET TIME OUT TO FIVE SPRING CLEANS 5XFL CALL 0 XIDENT 5X^= BRN NA [NO DIAG 5YDW BRN NB [NOT GEORGE 5YYG TXU 5 IDENTITY 5^D6 TXU 6 IDENTITY+1 5^MY #SKI JSKI11<1$1 5^XQ BCC NC [J IF IDENTITIES SAME 624Y #SKI JSKI11 62=6 BCC £ [IGNORE IDENTITY CHECK RESULT 62CB LDN 0 JNOCHAT 62X2 ANDX 0 ETWINMK 63BL BZE 0 NA [J IF WE HAVE ALREADY OFW 63W= ERS 0 ETWINMK [ELSE CLEAR 64*W CALL 0 OPENWRITE 64TG BRN NA 65*6 # 65SQ # REMOTE PROCESSOR NOT GEORGE 66#B # 66S2 NB LDN 6 16 [REPLY 67?L BRN NAC 67R= # 68=W # SAME IDENTITY 68QG # 69=6 NC LDN 6 8 [REPLY 69PQ BRN NAC 6=9B # 6=P2 # NOW OPEN READ LINK 6?8L # 6?N= NA LDX 6 ETWINMK 6#7W ANDN 6 JOFR 6#MG BZE 6 NE [J IF ALREADY OPEN 6*76 LDX 5 IDENTITY [OUR IDENTITY 6*LQ LDX 6 IDENTITY+1 6B6B LDN 4 3 6B8K #SKI JSKI11 6B=S ( 6B*3 LDX 1 FX1 6BC= ... IPCOPEN R,4,5,K3INTWIN(1) [OPEN CHANNEL JSKI11 FOR READING 6BFF ) 6BHN #SKI JSKI11<1$1 6BL2 IPCOPEN R,4,5,IPBTWIN [AND OPEN READ LINK 6C5L LDN 0 JOFR 6CK= ERS 0 ETWINMK [OFR NOW 6D4W LDX 0 AWORK1(2) [PICK UP MARKER 6DJG BZE 0 NE [J IF FIRST TIME I.E.FROM K1 6DKX ...[ PUT UP READ TRANSFER AND WAIT FOR FINISH 6DM# ...[ BUT LET TWINSETA INSPECT THE RESULT. (TWINSETA LOOPS 6DNP ...[ IF THERE IS AN ESEND ON THE Q AND TQE READ IS NOT DONE 6DQ6 ... CALL 7 XIPCREAD 6DRH ...[ IF THE LINKS WERE NOT PREVIOUSLY ESTABLISHED 6DSY ...[ BITT11 WILL BE SET IF THE LINKS ARE NOW ESTABLISHED THE READ 6DW* ...[ TRANSFER WILL WORK BUT BIT11 WILL REMAIN SET UNLESS THERE 6DXQ ...[ IS A GHIN TO SEND. THIS BIT SENDS A GHIN IF POSS AND SETS BIT11 6D^7 ...[ 6F2J ... LDN 0 JNOCHAT 6F3^ ... ANDX 0 ETWINMK 6F5B ... BNZ 0 NCHK [J IF WRITE LINK NOT OPEN 6F6R ... LDX 0 BIT11 6F88 ... ORS 0 ETWINMK 6F9K ... CALL 7 XF25 [SET UP GHIN 6F?2 ... CALL 7 XIPCWRITE [DO WRITE 6F#C ...NCHK IPCREP R,3 6F*S ... BPZ 3 XFIN 6FC9 ... SUSPEND 6FDL ... BRN NCHK 6FG3 ...XFIN LDN 0 IPBDOWN+GEODOWN+ETMFAIL 6FHQ ANDX 0 ETWINMK 6G3B BZE 0 NAD [J IF ALL OK 6GH2 ERS 0 ETWINMK [ELSE CLEAR FAIL BITS.. 6H2L LDN 0 ETMFAIL [..AND SET ETMFAIL SO THAT 6HG= ORS 0 ETWINMK [PLEASE ISSUE IS OUTPUT 6H^W BRN NAD [AS CRIPPLE MODE STATE MAY 6JFG [HAVE CHANGED 6J^6 NE LDX 0 ETWINMK 6KDQ ANDN 0 JNOCHAT 6KYB ... BNZ 0 NEA [J IF NO DIALOGUE 6LD2 LDX 0 ETWINMK 6LXL ANDN 0 JIOUTS 6MC= BNZ 0 NEA [J IF WRITE OUTSTANDING 6MWW CALL 7 XF25 [SET UP ESEND 6NBG LDN 0 GHL 6NW6 STO 0 ENMARK(1) 6P*Q CALL 7 XIPCWRITE [SAY HELLO 6PTB NEA LDX 0 ETWINMK 6Q*2 ANDN 0 JROUTS [J IF READ OUTSTANDING 6QSL BNZ 0 NM 6R#= NG CALL 7 XIPCREAD [AND LISTEN FOR REPLY 6RRW NM IPCREP R,3 [GET REPLY TO READ 6S?G LDCT 0 #20 6SR6 BPZ 3 NH [J IF FINISHED 6T=Q ANDX 0 3 6TQB BNZ 0 W4 [ERROR IF REJECTED 6W=2 BRN NI [ELSE WAIT 6WPL # 6X9= # READ HAS FINISHED 6XNW # 6Y8G NH LDX 5 ETWINMK 6YN6 ANDN 5 JROUTS 6^7Q ERS 5 ETWINMK [CLEAR READ OUTSTANDING MKR 6^MB LDX 5 ETWINMK 7272 ANDN 5 JNOCHAT 72LL BZE 5 NJ [J IF DIALOGUE 736= ANDX 0 3 73KW BZE 0 N3 [TRY AGAIN IF IMPLEMENTED 745G BRN NK [FIND CAUSE OF ERROR 74K6 NJ IPCREP W,2 [GET REPLY TO WRITE 754Q LDX 6 2 75JB LDCT 0 #20 7642 BPZ 2 NL [J IF FINISHED 76HL ANDX 0 2 773= BNZ 0 W4 [ERROR IF REJECTED 77GW # 782G # WAIT FOR BOTH TO FINISH 78G6 # 78^Q NI SUSPEND 79FB BRN NM [LOOK AGAIN 79^2 W4 GEOERR 1,REJECTED 7=DL # 7=Y= # 7?CW # READ AND WRITE FINISHED 7?XG # 7#C6 NL LDX 5 ETWINMK 7#WQ ANDN 5 JIOUTS 7*BB ERS 5 ETWINMK [CLEAR WRITE OUSTANDING MKR 7*HH ... HUNTW 1,EWDAS,ESENDT 7*K= ... BNG 1 NLZ 7CSG FREECORE 1 7D#6 NLZ LDX 1 FX1 7DRQ LDCT 0 #20 7F?B ANDX 0 3 [READ REPLY 7FR2 BNZ 0 NK [J IF READ NOT IMPLEMENTED 7G=L LDCT 0 #20 7GQ= ANDX 0 6 7H9W BNZ 0 NK [J IF WRITE NOT IMPLEMENTED 7HC4 ... TRACE 6,WOK 7HJ= ... TRACE 3,ROK 7HPG NAM LDX 0 XM8(1) 7J96 CALL 6 X 7JNQ LDX 0 ETBUFS(2) [GET REQUEST TYPE 7K8B SBN 0 GHL 7KN2 BZE 0 NO [J IF GHL 7L7L LDX 0 ETBUFS(2) 7LM= SBN 0 GHLR 7M6W BZE 0 NP [J IF GHLR 7MLG LDX 0 ETBUFS(2) 7N66 SBN 0 GHIN 7NKQ BZE 0 NG [AWAIT GHLR REPLY 7P5B GEOERR 1,RONGREQ 7PK2 # 7Q4L # AN ERROR HAS OCCURRED 7QJ= # 7R3W NK 7RHG LDX 1 FX2 7S36 STO 6 AWORK1(1) 7SGQ STO 3 AWORK2(1) [ READ 7SHB ... SMO FX1 7SJ3 ... LDX 0 K4INTWIN 7SK# ... BZE 0 NTRAC1 [^ IF NO TRACING 7SLK ... LDN 0 #4562 [TRACE IDENTIFIER "ER" 7SMW ... STO 0 ACOMMUNE1(1) 7SP7 ... LDX 0 ETWINMK 7SQD ... STO 0 ACOMMUNE2(1) 7SRP ... STO 6 ACOMMUNE3(1) [WRITE REPLY FROM IPCREP 7ST2 ... STO 3 ACOMMUNE4(1) [READ REPLY FROM IPCREP 7SW? ... STO 7 ACOMMUNE5(1) [LINK FOR LAST CALL 7SXJ ... TWTRACE 7SYT ...NTRAC1 7T2B #SKI K6TWINSETC>99-99 7TG2 ( 7T^L TRACE 6,WREP 7WF= TRACE 3,RREP 7WYW ) 7XDG LDX 5 ETWINMK 7XY6 ANDN 5 JNOCHAT 7YCQ CALL 7 XIPCREAD [PUT UP ANOTHER READ 7YXB BNZ 5 NN [J IF NO DIALOGUE 7^C2 CALL 7 XF25 [SET UP ESEND 7^WL LDN 0 GHL 82B= STO 0 ENMARK(1) 82TW CALL 7 XIPCWRITE [PUT UP ANOTHER WRITE 83*G NN LDN 6 0 83T6 LDCT 0 #20 84#Q ANDX 0 AWORK2(2) 84SB LDX 7 AWORK2(2) 85#2 BNZ 0 NS [J IF READ NOT IMPLEMENTED 85RL BZE 5 NT [J IF DIALOGUE 86?= NU GEOERR 1,IMPMENT? 86QW NT LDN 6 1 87=G LDCT 0 #20 87Q6 LDX 7 AWORK1(2) 889Q ANDX 0 AWORK1(2) 88PB BZE 0 NU 8992 NS LDCT 0 #6 89NL ANDX 0 7 8=8= BZE 0 NM [J IF NOT FAILURE OR ESTABLISHED 8=MW STO 6 ACOMMUNE1(2) [STORE MODE FOR IPCSTATE 8?7G CALL 7 XIPCSTATE 8?M6 NX LDCT 0 #140 8#6Q #SKI K6TWINSETC>99-99 8#LB TRACE 3,STATE 8*62 ANDX 0 3 8*KL BZE 0 NY [J IF DIALOGUE NOT SUSPENDED 8B5= SLL 0 3 8BJW BNG 0 NZ [J IF GEORGE DOWN 8C4G NY CALL 7 XF13 [ASK OPS FOR STATE 8CJ6 BRN N3 [NO REPLY 8D3Q BRN NAB [GEORGE DOWN 8DHB LDN 6 2 [IPB WRONG 8F32 BRN NAC 8FGL # 8G2= # GEORGE DOWN 8GFW # 8G^G NZ LDX 1 FX1 [FROM IPCSTATE 8HF6 LDX 0 XM2(1) 8HYQ CALL 6 X 8JDB ... LDN 0 GEODOWN 8JY2 ORS 0 ETWINMK 8KCL NAB CALL 6 R3D [FROM OPS CLEAR LOCK-OUTS 8KQ2 ... CALL 6 NOIT [WAKE UP TWAIT 8KX= BRN NAD 8LBW # 8LWG # GHL RECEIVED BUT WE HAVE ALREADY SENT ONE 8MB6 # 8MTQ NO LDX 0 AFTERU [GET WHO GOES FIRST MKR 8N*B BNG 0 NAF [J IF WE GO SECOND 8NT2 NAK CALL 6 R3D [CLEAR LOCK-OUTS 8P28 #SKI JSKI11 8P7B BRN NAD [NEXT BIT WON'T SIMULATE VERY WELL 8P#L CALL 7 R20 [COMPILE REPLY 8PS= LDN 5 GHLR 8Q?W STO 5 ENMARK(1) 8QRG NAG CALL 7 XIPCWRITE [BEND IT BACK 8R?6 NAI IPCREP W,3 8RQQ BPZ 3 NAH [J IF FINISHED 8S=B SUSPEND [WAIT FOR IT TO BE SENT 8SQ2 BRN NAI 8T9L ...NAH LDN 0 JIOUTS 8TP= ERS 0 ETWINMK 8W8W LDCT 5 #20 8WNG ANDX 5 3 8WWQ ... MHUNTW 1,EWDAS,ESENDT 8XMQ FREECORE 1 8Y7B BZE 5 NAD [J IF IMPLEMENTED 8YM2 LDCT 0 #6 [ 8^6L ANDX 0 3 8^L= BZE 0 NAK [TRY AGAIN 925W BRN NE [START ALL OVER AGAIN 92KG # 9356 # WE WAIT FOR HELLO REPLY 93JQ # 944B NAF CALL 7 XIPCREAD 94J2 NAMX IPCREP R,3 953L BPZ 3 NAL [J IF FINISHED 95H= SUSPEND 962W BRN NAMX 96GG NAL LDCT 0 #20 9726 ANDX 0 3 97FQ LDN 5 JROUTS 97^B ERS 5 ETWINMK 98F2 BNZ 0 NE [START AGAIN 98YL BRN NAM [GET RESULT 99D= # 99XW # REPLY RECEIVED 9=CG # 9=JM ...NP LDN 6 32 [WRONG STATE REPLY (IN CASE) 9=LB ... DOWN TWINSETD,4 [CHECK REPLY 9=N5 ... BRN NAC 9?BQ NAD LDCT 6 #400 [OK REPLY 9?WB NAC LDX 3 FX2 9#B2 NH1 HUNT2J 3,EWDAS,ESEND,,U5 [LOOK FOR INITIALISE REQUEST 9#TL LDX 0 ENMARK(3) 9**= SBN 0 INIT 9*SW BNZ 0 NH1 9B#G LDX 5 3 [SAVE PTR 9BS6 CALL 7 R1 [PUT IN REPLY AND WAKE UP 9BYS ... HUNTW 1,EWDAS,EGOT [ 9C2B ... BNG 1 NWG [J IF NO ERROR IN STATE 9C3Y ... CHAIN 1,4 [ELSE CHAIN AFTER ENLINK 9C5G ...NWG 9C8L ... SMO 5 9C=8 ... LDX 7 ENSTART [PICK UP MKR 9C?Q FREECORE 5 9CRB LDX 3 FX2 [SEARCH FOR ANY ESENDS WIT.. 9D?2 NRID HUNT2J 3,EWDAS,ESEND,,SUS 9DQL LDX 0 ENMARK(3) [..REQUEST AND CHANGE TO GHIN AS WE. 9F== SBN 0 GHL [..GET GEOERR HONK! IF GHL IS SENT.. 9FPW BNZ 0 NRID [..AFTER INITIALISATION 9G9G LDN 0 GHIN 9GP6 STO 0 ENMARK(3) 9H8Q SUS LDN 0 IPBDOWN+GEODOWN+ETMFAIL 9HNB ANDX 0 ETWINMK 9J82 BNZ 0 SUSPEND 9JCS ... BNZ 7 SUSPEND [IF 2ND TIME B11 9JML CALL 7 XB11CL 9K7= SUSPEND 9KG^ ... LDX 0 ETWINMK 9KWN ... ANDX 0 BIT10 [CLEAR B10 - IDENTIES SAME MESSAGE 9L=C ... ERS 0 ETWINMK [..CAN NOW BE OUTPUT I 9LL6 SUSPEND 9M5Q ACROSS TWINSETA,1 9MKB XM8 #41773103 =Q=Q U5 GEOERR 1,IDENTERR =QQB # =W7Q # =WMB # SUBROUTINE TO ASSEMBLE HELLO MESSAGE =X72 # =XLL # FORMAT OF WORD IS =Y6= # =YKW # B0-B2 NOT USED =^5G # B3 =1 IF WE HAVE RIGHT TO DISENGAGE =^K6 # B5 IS THE LOCK-OUT BIT (=0 IF WE HAVE IT) ?24Q # B9-B10 IS THE STATUS AS FOR BSUNIT ?2JB # B15-23 GEOG. NO. ?342 # ?3HL R20 SBX 7 FX1 ?52G DOWN TWINSETD,3 ?5^Q ADX 7 FX1 ?6#7 ... MHUNTW 1,EWDAS,ENLINK ?6LJ ... NAME 1,EWDAS,ESEND ?6^2 EXIT 7 0 ?7DL # ?7Y= # SUBROUTINE TO GO THOUGH ALL UDAS DEVICES LOOKING FOR TWINNED ONES ?8CW # ?8XG X6 LDX 1 FX1 ?9C6 X4 ADN 1 1 ?9WQ LDX 0 TB-1(1) [NEXT DEVICE ?=BB BNG 0 (7) ?=W2 ... FINDPEREC 3,APFOTY,TB-1(1),X3,,XCME,XCME [GET PTR ??*L BNG 3 X4 [J IF NO MORE OF THIS TYPE ??T= JTWIN 3,X5 [J IF TWINNED ?##W BRN X3 [LOOK FOR NEXT ?#SG X5 EXIT 7 1 ?*#6 # ?*RQ # ?B?B TB +6 ?BR2 +13 ?C=L +26 ?CQ= -1 ?D9W # ?DPG # ?F96 XBIT5910 #01060000 ?FNQ # #M?W # #MRG # SUBROUTINE TO GET STATE OF OTHER PROCESSOR #N?6 XF13 SBX 7 FX1 #NQQ LDCT 0 #200 #P=B ANDX 0 ETWINMK #PQ2 BNZ 0 XF14 [J IF STATE ALREADY REQUESTED #Q9L LDCT 0 #220 #QP= ORS 0 ETWINMK [SET REQUESTED AND ACKNOWLEDGED BITS #R8W GETACT ACTDOC [SET UP ACTIVITY #RNG LDX 2 BPTR(2) [GET PTR #S86 LINKSET 2,XLINK3(1) [LINK TO K2TWINSETB #SMQ FPUT #SXJ ...XF15 LDX 0 BIT11 #T7B ... ORS 0 ETWINMK [ONLY SYSTEM WRITES ALLOWED NOW #TC8 ... ADX 7 FX1 #TM2 EXIT 7 0 #W6L XF14 LDCT 0 #140 #WL= ANDX 0 ETWINMK #X5W BZE 0 XF15 #XKG LDCT 0 #100 #Y56 ANDX 0 ETWINMK #YJQ BZE 0 XF16 [J IF GEORGE OK #^4B SMO FX1 #^J2 LDX 0 XM2 *23L ANDS 0 ETWINMK *2H= LDN 0 GEODOWN *32W ORS 0 ETWINMK *3*= ... CALL 6 NOIT [WAKE TWAIT *3GG BRN XF17 *426 XF16 SMO FX1 *4FQ LDX 0 XM9 *4^B ANDS 0 ETWINMK *5F2 LDN 0 IPBDOWN *5YL ORS 0 ETWINMK *6D= ... ADN 7 1 *7CG XF17 ADN 7 1 *8WB BRN XF15 *9B2 # *G7= # *GLW # SUBROUTINE TO SETUP ESEND WITH GHIN REQUEST *H6G XF25 SBX 7 FX1 *HL6 HUNTW 1,EWDAS,ESEND *J5Q BNG 1 XF26 [J TO SET ONE UP *JKB LDX 0 ENMARK(1) *K52 SBN 0 GHIN *KJL BZE 0 XF24 [J IF ALREADY EXISTS *L4= XF26 SETNCORE ESENDLEN,1,EWDAS,ESEND,,1 *LHW LDN 0 GHIN *M3G STO 0 ENMARK(1) [STORE REQUEST TYPE *MH6 LDN 0 ENTRGA(1) [MAKE RINGS EMPTY *N2Q STO 0 ENTRGA(1) *NGB STO 0 ENTRGA+1(1) *P22 XF24 ADX 7 FX1 *PFL EXIT 7 0 *P^= # B?HQ XLINK3 B#3B PAIR TWINSETB,2 B#H2 XM9 #41773737 B*2L XM7 #77177777 B*G= # B*MD ...XCME GEOERR 1,NOTCME B*SL ...# B*^W ... MENDAREA 50,K99INTWIN BBFG # BB^6 #END ^^^^ ...01407434000100000000