7 22FL ...#SEG FAILTWIN80 10 22_= ...#LIS K0TWINSET>K0FAILTWIN 7 23DW ... 8HFAILTWIN 4 23YG ...[ 19 24D6 ... SEGENTRY K1FAILTWIN,QK1FA [OTHER PROCESSOR INITIALISES 19 24XQ ... SEGENTRY K2FAILTWIN,QK2FA [OTHER PROCESSOR SAYS HELLO 18 25CB ... SEGENTRY K3FAILTWIN,QK3FA [REPLY TO HELLO MESSAGE 15 25X2 ... SEGENTRY K4FAILTWIN,QK4FA [IPB FAILURE 4 26BL ...[ 4 2CMG # 10 2D76 # IPCWRITE SUBROUTINE 4 2DLQ # 6 2F6B XIPCWRITE 8 2FL2 SBX 7 FX1 10 2G5L DOWN TWINSETD,2 8 2GK= XIT ADX 7 FX1 7 2H4W EXIT 7 0 4 2HJG # 4 2J46 # 4 2JHQ # 4 2K3B # 18 2KH2 XIPCSTATE [GET STATE IN ACOMMUNE1 8 2L2L SBX 7 FX1 16 2LG= DOWN RELIEF,4 [TO DO IPCSTATE 15 2L_W LDX 3 ACOMMUNE1(2) [LOAD RESULT 8 2MFG ADX 7 FX1 9 2M_6 TRACE 3,CSTATE 8 2NDQ EXIT 7 0 4 2NYB # 5 2PD2 XIDENT 7 2PXL ADN 0 2 8 2QC= STO 0 EX4 13 2QWW ... FINDPEREC 3,APGEOG,IPBTWIN,,,XCME 10 2RBG LRIDENT 3,5,ZND,ZNG 19 2RW6 STO 5 AWORK3(2) [STORE FIRST WD OF IDENTITY 19 2S*Q STO 6 AWORK4(2) [STORE SECOND WD OF IDENTITY 13 2STB # GET UNIQUE NUMBER FROM IDENTIES 20 2T*2 LDN 1 IDENTITY [PTR TO 1ST WORD OF OUR IDENTITY 19 2TSL LDN 2 AWORK3(2) [PTR TO 1ST WORD OF THEIRS 18 2W#= LDN 5 8 [8 CHARACTERS TO CHECK 19 2WRW NAE LDCH 0 0(1) [FIRST/NEXT WD OF IDENTITY... 18 2X?G LDCH 3 0(2) [AND OF OTHER PROCESSORS 7 2XR6 TXU 3 0 15 2Y=Q BCS NADD [J IF DIFFER 15 2YQB BCHX 1 / [UPDATE MODS 12 2_=2 ... BCHX 2 / [ 8 2_PL BCT 5 NAE 7 329= NADD SBX 0 3 17 32NW STO 0 AFTERU [STORE UNIQUE NUMBER 8 32YN ... LDX 2 FX2 21 338G LDX 5 AWORK3(2) [RELOAD 1ST WORD OF THEIR IDENTITY 14 33N6 BRN (EX4) [J IF OK 8 347Q ZND NGNC 0 1 18 34MB ZNG LDN 0 1 [NOT GEORGE ON OTHER END 8 3572 SBS 0 EX4 18 35LL BRN (EX4) [AND EXIT AS APPROPRIATE 4 366= # 6 36KW OPENWRITE 8 375G LDX 2 FX2 8 37K6 SBX 0 FX1 10 384Q STO 0 ACOMMUNE9(2) 7 38JB LDN 3 3 16 3942 IPCOPEN W,3,5,IPBTWIN [OPEN WRITE LINK 10 39HL LDX 0 ACOMMUNE9(2) 8 3=3= ADX 0 FX1 8 3=GW EXIT 0 0 20 3=K_ ...# SUBROUTINE TO WAKE ACTIVITIES WAITING FOR IPB (TWAIT MACRO) 15 3=M2 ...# AND FREE ANY EWDAS/ITCH BLOCKS. X6 LINK 4 3=N3 ...# 10 3=P4 ...XIPBD HUNTW 1,EWDAS,ITCH 8 3=Q5 ... BNG 1 NOIT 7 3=R6 ... FREECORE 1 8 3=S7 ... BRN XIPBD 8 3=T8 ...NOIT LONGON IPBDE 7 3=W9 ... EXIT 6 0 4 3=X= ...# 4 3=Y? ...# 4 3?2G # 7 3?G6 # CONSTANTS 4 3?_Q # 9 3#_2 XM2 #41773757 17 3*Y= XM4 #76167777 [CLEARS BITS 5,6,7,11 9 3CC6 XM10 #77773517 4 3CWQ # 4 3DBB # 4 3DW2 # 20 3F*L X ANDS 0 ETWINMK [WAKE UP ACTIVITY DEMANDING STATE 17 3FT= LONGON EPWT [OF OTHER PROCESSOR 7 3G#W EXIT 6 0 4 3GSG # 4 3H#6 # 10 3HRQ # CLEAR BIT11 OF ETWINMK 4 3J?B # 5 3JR2 XB11CL 9 3K=L LDX 0 ETWINMK 8 3KQ= ANDX 0 BIT11 9 3L9W ERS 0 ETWINMK 7 3LPG EXIT 7 0 4 3M96 # 10 3MNQ R23 LDX 2 ACTRING(2) 9 3N8B SBN 2 ACTRING 9 3NN2 LDX 2 BPTR(2) 15 3P7L CHAIN 1,2 [CHAIN ON END 7 3PM= EXIT 7 0 4 3Q6W # 12 3QLG # SUBROUTINE TO DO THE FOLLOWING 4 3R66 # 14 3RKQ # X6=0 CHAIN ENLINK ON TO JOBRING 4 3S5B # 21 3SK2 # X6 NON ZERO DECHAIN ENLINK FROM ESEND,LONGCLEAR ACTIVITY (IF ANY) 11 3T4L # AND PUT REPLY IN 4 3TJ= # 10 3W3W R1A MHUNTW 3,EWDAS,ESEND 9 3WHG R1 LDN 0 ENTRGA(3) 10 3X36 TXU 0 ENTRGA+1(3) 17 3XGQ BCC R2 [J IF NOTHING CHAINED 9 3Y2B LDX 4 ENTRGA(3) 15 3YG2 DERING ENTRGA(3) [ELSE DECHAIN 18 3Y_L SBN 4 ENLA [PTR TO START OF ENLINK 7 3_F= LDX 1 4 15 3_YW STO 6 ENRP(1) [STORE REPLY 20 42DG BZE 6 R3 [J IF ACTIVITY NOT TO BE WOKEN 18 42Y6 R4 LDX 1 BPTR(1) [LOOK BACK FOR ACTIVITY 9 43CQ LDX 0 ATYPE(1) 8 43XB TXL 0 CACT 16 44C2 BCS R4 [J NOT ACTIVITY 7 44WL SMO 4 17 45B= LDX 3 ENWTS [GET WAITING STYLE 18 45TW LONGCLEAR 1,0(3),R3A [AND WAKE UP IF WAITING 7 46*G R3A EXIT 7 0 18 46T6 R3 ENRING 1,ETBRING(2) [PUT ON END OF JOBRING 7 47#Q R2 EXIT 7 0 4 47SB # 20 48#2 # SUBROUTINE TO GO ROUND JOBRING WAKING UP WAITING ACTIVITIES 20 48RL # WHOSE NUMBER (X5) AND REQUEST TYPE (X6) AGREE : REPLY IN X4 4 49?= # 8 49QW R7 LDX 2 FX2 10 4==G LDX 3 ETFRING(2) 10 4=Q6 R7A LDN 0 ETFRING(2) 7 4?9Q TXU 0 3 15 4?PB BCC (7) [J IF NO MORE 17 4#92 SBN 3 ENLA [PTR TO NEXT ENLINK 9 4#NL #SKI K6TWINSET>99-99 4 4*8= ( 16 4*MW LDX 0 ATYPE(3) [CHECK IF ENLINK 8 4B7G SRL 0 12 10 4BM6 SBN 0 EWDAS+ENLINK 8 4C6Q BZE 0 R8 10 4CLB GEOERR 1,NOT ENLK 4 4D62 R8 4 4DKL ) 19 4F5= BNG 5 R9 [J IF NOT TO CHECK DETAILS 9 4FJW TXU 6 ENRQ(3) 16 4G4G TXU 5 ENBR(3) [COMPARE NUMBERS 15 4GJ6 BCC R9 [J IF MATCH 14 4H3Q R8F LDX 3 ENLA(3) [GET NEXT 8 4HHB LDX 2 FX2 8 4J32 BRN R7A 15 4JGL R9 LDX 0 ENRQ(3) [REQUEST TYPE 8 4K2= SBN 0 CLIP 16 4KFW BZE 0 R8F [IGNORE IF CLOSE 9 4K_G LDX 0 ENRQ(3) 8 4LF6 SBN 0 INIT 16 4LYQ BZE 0 R8F [OR IF INITIALISE 15 4MDB STO 4 ENRP(3) [STORE REPLY 7 4MY2 LDX 2 3 16 4NCL LDX 1 ENWTS(3) [WAITING STYLE 19 4NX= R10 LDX 2 BPTR(2) [SEARCH FOR WAITING ACTIVITY 9 4PBW LDX 0 ATYPE(2) 8 4PWG TXL 0 CACT 17 4QB6 BCS R10 [J IF NOT ACTIVITY 17 4QTQ LONGCLEAR 2,0(1),R11 [WAKE UP IF POSSIBLE 7 4R*B R11 LDX 2 3 15 4RT2 LDX 3 ENLA(3) [NEXT ON RING 14 4S#L DERINGD ENLA(2) [DECHAIN 8 4SS= BRN R7A 4 4T?W # 4 4TRG # 20 4W?6 # SUBROUTINE TO CLEAR LOCK OUT AND SET DISENGAGABLE BY US BIT 10 4WQQ # FOR ALL SHARED UNITS 4 4X=B # 15 4XQ2 R3D CALL 7 X6 [GET DL PTR 9 4Y9L BRN NOTWINS 16 4YP= U4 LADDP 3,2 [GET PTR TO APIA 16 4_8W JSHARED 2,U3 [TO U3 IF SHARED 14 4_NG UX CALL 7 X3 [GET NEXT 9 5286 BRN NOMORE 15 52MQ BRN U4 [GO TO CHECK 8 537B U3 SMO FX1 8 53M2 LDX 0 XM4 16 546L ANDS 0 BSUNIT(2) [CLEAR LOCK-OUT 7 54L= LDN 0 4 19 555W ORS 0 BSUNIT3(2) [SET DISENGAGEABLE BY US BIT 8 55KG BRN UX 5 5656 NOMORE 7 56JQ EXIT 6 0 4 574B # 5 57J2 NOTWINS 9 583L GEOERR 1,NOTWINS 4 58H= # 17 592W # TO CLEAR WAITING FOR FILE IN OTHER PROCESSOR BIT 4 59GG # 6 5=26 WAITCLEAR 8 5=FQ LDN 1 BCCB 9 5=_B WT1 LDX 1 BPTR(1) 8 5?F2 TXU 1 CXCC 14 5?YL BCC (7) [J IF END 9 5#D= LDX 0 BACK2(1) 16 5#XW BZE 0 (7) [OR NO MORE EXOFS 8 5*CG LDCT 0 #2 9 5*X6 ANDX 0 EXMARK(1) 17 5BBQ BZE 0 WT1 [J IF NO ONE WAITING 9 5BWB ERS 0 EXMARK(1) 8 5CB2 BRN WT1 4 5CTL # 17 5D*= # TO OUTPUT MESSAGES X4= NUMBER X5= IDENTIFIER 4 5DSW # 5 5F#G OUTPUT 8 5FS6 SBX 7 FX1 10 5G?Q OUTPACK 4,1,VARDEC 5 5GL6 ...OUTPUT1 7 5GRB LDN 1 1 8 5H?2 INFORMX 1,5,1 8 5HQL ADX 7 FX1 7 5J== EXIT 7 0 4 5JPW # 4 5K9G # 9 5KP6 TWDA 4HTWDA 21 5KYX ...XMESS2 +EWRST [TWINNED UNITS %A ARE IN WRONG STATE 19 5L3G ... [:TWINNING IPC LINKS CLOSED 21 5L8Q XMESS1 +ENTIN22 [PROCESSORS CONNECTED BY UNIT %A HAVE 17 5LNB [THE SAME IDENTITY 4 5M82 # 20 5MCS ...P1 LDX 0 BIT11 [SET BIT 11 TO INDICATE CRIPPLE 19 5MML ... ORS 0 ETWINMK [MODE AND GO BACK TO TWINSETA 14 5MXD ... ACROSS TWINSETA,1 [TO DO WRITE 10 5N7= T2 ACROSS TWINSETA,2 4 5NLW # 4 5P6G # 4 9N52 # 4 9NJL # 20 9P4= # OTHERSIDE HAS COME TO LIFE AND HAS EXECUTED TWIN INITIALISE 4 9PHW # 17 9Q3G ...QK1FA [***** HERE IF RECEIVED GHL 8 9QH6 CALL 6 R3D 20 9R2Q CALL 7 WAITCLEAR [AND WAITING BITS IF ANY IN EXOF 20 9RGB LONGON EDFDCLS [WAKE UP PEOPLE WAITING FOR FILES 15 9S22 LONGON ENDWT [AND LOCK-OUT 8 9S36 ... CALL 6 XIPBD 4 9S3P [ 19 9S5D [ WHILE OTHER PROCESSOR WAS DOWN TN DOWN MAY NOT HAVE BEEN 20 9S77 [ ISSUED THUS LEAVING (PERHAPS) ON THE QUEUE,WAITING ACTIVITIES. 15 9S8W [ THIS BIT GIVES THESE STRAGGLERS A KICK. 4 9S=K [ 16 9S## NGN 5 1 [WAKE UP ANY ONE 17 9SB3 LDN 4 4 [GEORGE DOWN REPLY 8 9SCQ CALL 7 R7 17 9SNG ...QK2FA [***** HERE IF RECEIVED GHIN 7 9S_= NGNC 4 1 7 9TDW V1 LDN 4 0 9 9TYG CALL 0 XIDENT 17 9WD6 BRN / [ERROR IF NOT GEORGE 16 9WXQ BRN U5 [OR NO DIALOGUE 8 9X7J ... LDX 1 FX1 9 9XCB LDX 7 TWDA(1) 6 9XGG #SKI JSKI11 18 9XKL BRN U5A [DON'T CHECK IDENTITIES 7 9XNQ #SKI JSKI11<1$1 4 9XRW ( 9 9XX2 TXU 5 IDENTITY 10 9YBL TXU 6 IDENTITY+1 18 9YW= BCS U5A [J IF IDENTITIES DIFFER 4 9_64 ) 19 9_77 ... BNZ 4 U5 [ERROR IF ENTY FROM K3 OR K4 21 9_8= ... LDX 0 BIT10 [AS LINKS CAN'T BE ESTABLISHEDIF IDEN 15 9_9* ... ANDX 0 ETWINMK [ARE EQUAL 18 9_=D ... BNZ 0 SIA [J ID MESS ALREADY OUTPUT 8 9_?H ... LDX 0 BIT10 9 9_#L ... ORS 0 ETWINMK 19 9_*W LDX 4 IPBTWIN [ELSE OUTPUT ERROR MESSAGE 9 9_TG LDX 5 XMESS1(1) 9 =2*6 CALL 7 OUTPUT 8 =2G# ...SIA LDX 2 FX2 9 =2MG ... LDX 4 AWORK1(2) 8 =2SN ... BRN SI 8 =2_W ...U5A LDX 0 BIT10 9 =374 ... ANDX 0 ETWINMK 15 =3#= ... ERS 0 ETWINMK [CLEAR BIT10 20 =3FD ...# SHOULD REALLY CHECK IF OTHER PROCESSORS IDENTITY HAS CHANGED 9 =3LL ... LDX 0 ETWINMK 9 =3S2 ANDN 0 JNOCHAT 18 =4?L BZE 0 U6 [J IF WE HAVE DIALOGUE 10 =4R= CALL 0 OPENWRITE 8 =5=W U6 BZE 4 V7770 4 =5B2 ...[ 17 =5F6 ...[ IF THE WRITE LINK HAS JUST BEEN OPENED PUT UP GHIN 4 =5FL ...[ 20 =5G6 ...[ AND IF BIT11 CLEAR.IPB MAY HAVE GONE ON AND OFFLINE QUICKLY 20 =5GL ...[ IN WHICH CASE THIS PROCESSOR MAY NOT HAVE DETECTED INOPERABLE 20 =5H6 ...[ (I.E. THE TIME OUT PERIOD MAY NOT HAVE EXPIRED BEFORE IPB GETS 7 =5HL ...[ ONLINE. 4 =5J= ...[ 9 =5JT ... LDX 0 ETWINMK 9 =5KD ... ANDN 0 JNOCHAT 19 =5L3 ... BZE 0 WRX [_ IF WRITE LINK ALREADY OPEN 21 =5LL ... ERS 0 ETWINMK [OTHERWISE UNSET JNOCHAT AND _ TO SEND 8 =5M9 ... BRN WRXK 8 =5MS ...WRX LDX 0 BIT11 18 =5NC ... ANDX 0 ETWINMK [IF BIT 11 SET GHIN MESSAGE 15 =5P2 ... BNZ 0 WRNK [ALREADY SENT 9 =5PK ... LDX 0 ETWINMK 16 =5Q8 ... ANDN 0 JIOUTS [IF NO WRITE O/S 16 =5QR ... BZE 0 WRXK [GO TO SEND GHIN 11 =5RB ... MHUNTW 1,EWDAS,ESENDT 9 =5R_ ... LDX 0 ENMARK(1) 8 =5SJ ... LDX 1 FX1 19 =5T7 ... SBN 0 GHIN [CHECK THAT MESSAGE IN TRANSIT 14 =5TQ ... BZE 0 WRNK [IS GHIN 9 =5WF ... GEOERR 1,NOTGHIN 8 =5X8 ...WRXK LDX 0 BIT11 9 =5X_ ... ORS 0 ETWINMK 15 =5YQ ... CALL 7 XF25 [SET UP GHIN 15 =63W ... CALL 7 XIPCWRITE [SEND WRITE 9 =672 ...WRNK LDX 0 XM10(1) 9 =6=6 ANDS 0 ETWINMK 18 =6?T ... HUNTW 1,EWDAS,ESENDT [DONT SET UP ANOTHER 18 =6*J ... BNG 1 WREP [GHLR/GHINR IF ONE ALREADY 14 =6C? ... LDX 5 ENMARK(1) [IN TRANSIT 8 =6F2 ... SBN 5 GHLR 8 =6GP ... BZE 5 T2 10 =6JD ... SBN 5 GHINR-GHLR 8 =6L7 ... BZE 5 T2 8 =6MW ...WREP LDX 1 FX1 16 =6PQ CALL 7 R20 [COMPILE REPLY 16 =79B LDX 0 ETBUFS(2) [GET REQUEST TYPE 8 =7P2 LDN 5 GHLR 8 =88L SBN 0 GHL 15 =8N= BZE 0 U7 [J IF HELLO 8 =97W LDN 5 GHINR 9 =9MG U7 STO 5 ENMARK(1) 11 =9SN ... TRACE ASIZE(1),ESENDS 11 =9_W ... TRACE ALOGLEN(1),ESENDA 8 ==76 CALL 7 R23 8 ==LQ BRN T2 4 =?6B # 4 =?L2 # 21 =#5L # IPB OPERABLE AND DIALOGUE OK.CHECK IF LINK ESTABLISHED AND IF SO 17 =#K= # CLEAR ETMFAIL,GEODOWN,IPBDOWN AND INOCHAT MARKERS. 20 =*4W # ENTRY HERE ONLY IF X4=0 I.E. NO MESSAGE FROM OTHER PROCESSOR 20 =*JG # BUT WE (THIS PROCESSOR) HAVE DETECTED CHANGE OF STATE OF IPB 4 =B46 # 8 =BHQ V7770 LDX 2 FX2 9 =C3B LDX 4 AWORK1(2) 20 =CH2 BPZ 4 R7770 [J IF READ TRANSFER LAST FINISHED 19 =D2L IPCREP W,3 [ELSE GET LAST WRITE REPLY 8 =DG= BRN RW 16 =D_W R7770 IPCREP R,3 [GET READ REPLY 17 =FFG RW LDCT 0 4 [LINK ESTABLISHED BIT 7 =F_6 ANDX 0 3 19 =GDQ BNZ 0 X7770 [J IF LINK NOT ESTABLISHED 9 =GYB LDX 0 XM10(1) 16 =HD2 ANDS 0 ETWINMK [CLEAR MARKERS 9 =HXL Y7770 LDX 0 ETWINMK 11 =JC= ANDN 0 IPBDOWN+GEODOWN 21 =JWW BNZ 0 XF10 [IF OTHER LINKS NOT OPEN SET UP GHIN 8 =KBG BRN XF11 5 =KW6 X7770 4 =L*Q # 10 =LTB # LINKS NOT ESTABLISHED 4 =M*2 # 9 =MSL LDN 0 JNOCHAT 9 =N#= ANDX 0 ETWINMK 17 =NRW ERS 0 ETWINMK [JUST CLEAR JNOCHAT 8 =P?G BRN Y7770 4 =PR6 # 10 =Q=Q U5 GEOERR 1,IDENTERR 4 =QQB # 9 =R=2 # A REPLY FROM INOP 4 =RPL # 8 =RT5 ...QK3FA [***** 15 =S7G ... DOWN TWINSETD,4 [CHECK REPLY 15 =S=_ ... BRN XCLOSED [STATE WRONG 18 =T8G CALL 7 XB11CL [CLEAR BIT11 OF ETWINMK 19 =T#C ... LONGON EDFDCLS [WAKE UP ACTS WAITING FOR FILESS 19 =TD# ...# AS TWIN UP MAY HAVE BEEN TYPED IN THE OTHER PROCESSOR BUT 10 =TJ9 ...# NOT IN THIS PROCESSOR 8 =TN6 BRN T2 4 =TQT ...[ 12 =TRQ ...[ STATES WRONG-OUTPUT MESSAGE 4 =TSM ...[ 5 =TTJ ...XCLOSED 15 =TWF ... CALL 7 XB11CL [CLEAR BIT11 18 =TXB ...XSW MHUNTW 3,EWDAS,EGOT [DETAILS OF WRONG UNITS 13 =TY? ... OUTPACK ENTRGA(3),V,VARDEC,XSW 9 =T_8 ... LDX 5 XMESS2(1) 10 =W25 ... MHUNTW 1,EWDAS,EGOT 7 =W32 ... FREECORE 1 15 =W3X ... LDN 7 XLK [FIDDLE LINK 15 =W4S ... BRN OUTPUT1 [DO INFORM 10 =W5P ...XLK ACROSS TWINSETA,1 4 =W7Q # 14 =WMB # SUBROUTINE TO ASSEMBLE HELLO MESSAGE 4 =X72 # 9 =XLL # FORMAT OF WORD IS 4 =Y6= # 9 =YKW # B0-B2 NOT USED 15 =_5G # B3 =1 IF WE HAVE RIGHT TO DISENGAGE 17 =_K6 # B5 IS THE LOCK-OUT BIT (=0 IF WE HAVE IT) 14 ?24Q # B9-B10 IS THE STATUS AS FOR BSUNIT 9 ?2JB # B15-23 GEOG. NO. 4 ?342 # 8 ?3HL R20 SBX 7 FX1 10 ?52G DOWN TWINSETD,3 8 ?5_Q ADX 7 FX1 20 ?639 ...R20A HUNT2J 2,EWDAS,ESEND,,R20B [IF THERE IS ALREADY A GHINR 20 ?64N ... LDX 1 ENMARK(2) [IT MUST BE FREED SINCE IT 21 ?667 ... SBN 1 GHINR [HAS BEEN SUPERCEDED BY THIS NEW 8 ?67L ... BZE 1 R20C 19 ?695 ... SBN 1 GSHARER-GHINR [ALSO ANY STATUS CHANGE 19 ?6=J ... BZE 1 R20C [REPLIES SINCE THEY ARE 17 ?6#3 ... SBN 1 GDEDR-GSHARER [NOW OBSOLETE 8 ?6*G ... BZE 1 R20C 10 ?6B_ ... SBN 1 GUNDEDR-GDEDR 8 ?6DD ... BNZ 1 R20A 7 ?6FX ...R20C FREECORE 2 8 ?6HB ... BRN R20A 11 ?6JT ...R20B MHUNTW 1,EWDAS,ENLINK 10 ?6LJ ... NAME 1,EWDAS,ESEND 8 ?6RR ... LDX 2 FX2 7 ?6_2 EXIT 7 0 4 ?7DL # 21 ?7Y= # SUBROUTINE TO GO THOUGH ALL UDAS DEVICES LOOKING FOR TWINNED ONES 4 ?8CW # 8 ?8XG X6 LDX 1 FX1 7 ?9C6 X4 ADN 1 1 15 ?9WQ LDX 0 TB-1(1) [NEXT DEVICE 8 ?=BB BNG 0 (7) 18 ?=W2 ... FINDPEREC 3,APFOTY,TB-1(1),X3,,XCME,XCME [GET PTR 19 ??*L BNG 3 X4 [J IF NO MORE OF THIS TYPE 15 ??T= JTWIN 3,X5 [J IF TWINNED 16 ?##W BRN X3 [LOOK FOR NEXT 7 ?#SG X5 EXIT 7 1 4 ?*#6 # 4 ?*RQ # 8 ?B?B TB +6 8 ?BR2 +13 8 ?C=L +26 8 ?CQ= -1 4 ?D9W # 4 ?DPG # 9 ?F96 XBIT5910 #01060000 4 ?FNQ # 4 ?L5B # 4 ?LK2 # 4 ?M4L # 4 ?MJ= # 18 ?N3W # INVESTIGATE FURTHER INTO FAIL VIA ACROSS FROM TWINSETA 9 ?NHG # X4 CONTAINS MODE 4 ?P36 # 4 ?PGQ # 18 ?Q2B ...QK4FA [**** HERE IF LINK NOT EST OR FAILURE REPLY 16 ?QG2 STO 4 ACOMMUNE1(2) [STORE MODE FOR 15 ?Q_L CALL 7 XIPCSTATE [...IPCSTATE 17 ?RF= LDCT 0 #10 [X3 CONTAINS RESULT 17 ?RYW ERS 0 3 [REVERSE OPERABLE BIT 8 ?SDG LDCT 0 #110 7 ?SY6 ANDX 0 3 20 ?TCQ BZE 0 V1 [J IF OPERABLE AND HAVE DIALOGUE 9 ?TXB ...SI LDX 0 ETWINMK 11 ?WC2 ANDN 0 IPBDOWN+GEODOWN 19 ?WWL BNZ 0 XF10 [J IF IPB DOWN OR GEORGE DOWN 8 ?XB= LDCT 0 #100 7 ?XTW ANDX 0 3 19 ?Y*G BZE 0 XF11 [J IF DIALOGUE NOT SUSPENDED 8 ?YT6 LDCT 0 #40 7 ?_#Q ANDX 0 3 20 ?_SB BZE 0 XF11 [J IF GEORGE OK-AS FAR AS WE KNOW 16 #2#2 BRN XF12 [J IF GEORGE DOWN 15 #2RL XF11 CALL 7 XF13 [GET STATE 14 #3?= BRN XF18 [NO REPLY 15 #3QW BRN XF19 [GEORGE DOWN 16 #4=G NGN 5 1 [IPB GONE WRONG 7 #4Q6 LDN 4 2 20 #59Q CALL 7 R7 [PUT FAIL REPLY IN ANY ENLINKS 21 #5PB CALL 7 X6 [PUT LOCK-OUTS BACK IN RESONABLE STAT 16 #692 BRN NOTWINS [ERROR IF NONE 8 #6NL XF22 LADDP 3,2 15 #78= JSHARED 2,XF20 [J IF SHARED 8 #7MW XF23 CALL 7 X3 15 #87G BRN X8011 [J IF NO MORE 8 #8M6 BRN XF22 8 #96Q XF20 SMO FX1 8 #9LB LDX 0 XM7 20 #=62 ANDS 0 BSUNIT(2) [CLEAR WAITING FOR LOCK OUT BITS 8 #=KL BRN XF23 19 #?5= X8011 LONGON EDFDCLS [WAKE UP ACTIVITIES WAITING 8 #?JW XF21 LDX 2 FX2 9 ##4G LDX 4 AWORK1(2) 8 ##J6 ... BRN XF10 4 #*HB # 11 #B32 # GEORGE IN OTHER SIDE DOWN 4 #BGL # 8 #C2= XF12 LDX 1 FX1 9 #CFW LDX 0 XM2(1) 7 #C_G CALL 6 X 9 #DF6 LDN 0 GEODOWN 9 #DYQ ORS 0 ETWINMK 16 #FDB XF19 CALL 6 R3D [CLEAR LOCK-OUTS 21 #FY2 LONGON ENDWT [WAKE UP ANYBODY WAITING FOR LOCK-OUT 20 #GCL CALL 7 WAITCLEAR [CLEAR ANY WAITING BITS IN EXOF 21 #GX= LONGON EDFDCLS [WAKE UP ANYBODY WAITING FOR FILES 7 #HBW NGN 5 1 7 #HWG LDN 4 4 19 #JB6 CALL 7 R7 [WAKE UP ANY BODY ON JOBRING 18 #JJB ... CALL 6 XIPBD [FREE ITCH AND WAKE TWAIT 9 #K*B LDX 4 AWORK1(2) 15 #KT2 BPZ 4 T2 [J IF READ 8 #L#L CALL 7 XF25 8 #LS= BRN P1 4 #M?W # 15 #MRG # SUBROUTINE TO GET STATE OF OTHER PROCESSOR 8 #N?6 XF13 SBX 7 FX1 8 #NQQ LDCT 0 #200 9 #P=B ANDX 0 ETWINMK 19 #PQ2 BNZ 0 XF14 [J IF STATE ALREADY REQUESTED 8 #Q9L LDCT 0 #220 21 #QP= ORS 0 ETWINMK [SET REQUESTED AND ACKNOWLEDGED BITS 16 #R8W GETACT ACTDOC [SET UP ACTIVITY 14 #RNG LDX 2 BPTR(2) [GET PTR 17 #S86 LINKSET 2,XLINK3(1) [LINK TO K2TWINSETB 6 #SMQ FPUT 8 #SXJ ...XF15 LDX 0 BIT11 20 #T7B ... ORS 0 ETWINMK [ONLY SYSTEM WRITES ALLOWED NOW 8 #TC8 ... ADX 7 FX1 7 #TM2 EXIT 7 0 8 #W6L XF14 LDCT 0 #140 9 #WL= ANDX 0 ETWINMK 8 #X5W BZE 0 XF15 8 #XKG LDCT 0 #100 9 #Y56 ANDX 0 ETWINMK 16 #YJQ BZE 0 XF16 [J IF GEORGE OK 8 #_4B SMO FX1 8 #_J2 LDX 0 XM2 9 *23L ANDS 0 ETWINMK 9 *2H= LDN 0 GEODOWN 9 *32W ORS 0 ETWINMK 15 *3*= ... CALL 6 NOIT [WAKE TWAIT 8 *3GG BRN XF17 8 *426 XF16 SMO FX1 8 *4FQ LDX 0 XM9 9 *4_B ANDS 0 ETWINMK 9 *5F2 LDN 0 IPBDOWN 9 *5YL ORS 0 ETWINMK 7 *6D= ... ADN 7 1 7 *7CG XF17 ADN 7 1 8 *8WB BRN XF15 4 *9B2 # 10 *9TL # NO REPLY FROM STATE 4 *=*= # 4 *=SW # 4 *?#G # 4 *?S6 # 9 *#?Q XF18 LDN 0 ETMFAIL 9 *#RB ORS 0 ETWINMK 8 **?2 V2 LDX 2 FX2 9 **QL LDX 4 AWORK1(2) 4 **TD ...[ 9 **Y= ...[ CHECK FOR CLOSE 4 *B34 ...[ 8 *B5W ... LDX 3 FX2 12 *B8N ...Y7771 HUNT2J 3,EWDAS,ESEND,,XNC 9 *B?G ... LDX 0 ENMARK(3) 8 *BB# ... SBN 0 CLIP 16 *BF6 ... BNZ 0 Y7771 [J IF NOT CLOSE 16 *BHY ...TBOB ACROSS TWINSETB,9 [ELSE CLOSE LINKS 15 *BLQ ...XNC CALL 6 N [SET UP ESEND 17 *C9G ... BRN P1 [PUT UP ANOTHER WRITE 4 *G7= # 16 *GLW # SUBROUTINE TO SETUP ESEND WITH GHIN REQUEST 8 *H6G XF25 SBX 7 FX1 8 *HL6 ... LDX 1 FX2 12 *J5Q ...XF29 HUNT2J 1,EWDAS,ESEND,,XF26 9 *JKB LDX 0 ENMARK(1) 17 *JRW ... SBN 0 GHINR [IF SENDING GHIN THEN 19 *K2B ... BNZ 0 XF30 [ANY GHINR ON QUEUE WILL 16 *K8W ... FREECORE 1 [BE REDUNDANT 10 *KCB ...XF30 ADN 0 GHINR-GHIN 18 *KKW ... BZE 0 XF24 [J IF GHIN ALREADY EXISTS 8 *KSD ... BRN XF29 13 *L4= XF26 SETNCORE ESENDLEN,1,EWDAS,ESEND,,1 8 *LHW LDN 0 GHIN 17 *M3G STO 0 ENMARK(1) [STORE REQUEST TYPE 16 *MH6 LDN 0 ENTRGA(1) [MAKE RINGS EMPTY 9 *N2Q STO 0 ENTRGA(1) 10 *NGB STO 0 ENTRGA+1(1) 8 *P22 XF24 ADX 7 FX1 7 *PFL EXIT 7 0 4 *P_= # 7 *QDW # IPB DOWN 4 *QYG # 15 *RD6 XF10 CALL 6 N [SET UP ESEND 8 *RXQ XF28 LDX 3 FX2 14 *SCB LDN 6 2 [IPBDOWN REPLY 9 *SX2 LDX 0 ETWINMK 11 *TBL ANDN 0 IPBDOWN+ETMFAIL 15 *TW= BNZ 0 XF27 [J IF IPBDOWN 19 *W*W ... LDN 6 #4 [ELSE OK (GEORGE DOWN) REPLY 12 *WTG XF27 HUNT2J 3,EWDAS,ESEND,,NY1 9 *X*6 LDX 0 ENMARK(3) 8 *XSQ SBN 0 GHIN 17 *Y#B BZE 0 XF27 [DON'T LOOK FOR GHIN 9 *YS2 ... SBN 0 CLIP-GHIN 17 *_?L BZE 0 TBOB [TO TWINSETB IF CLOSE 7 *_R= LDX 5 3 17 B2=W CALL 7 R1 [DEAL WITH THIS ONE 15 B2QG FREECORE 5 [FREE ESEND 8 B3=6 LDX 3 FX2 15 B3PQ BRN XF27 [GO FOR NEXT 8 B49B NY1 CALL 7 XF25 8 B4P2 BRN P1 4 B58L # 19 B5N= # SUBROUTINE TO SET UP ESEND WITH GHIN REQUEST IF WRITE FAIL 4 B67W # 8 B6MG N SBX 6 FX1 9 B776 ... LDN 0 JNOCHAT 9 B7LQ ANDX 0 ETWINMK 21 B86B BNZ 0 T [DON'T SET UP ESEND IF NO DIALOGUE.. 9 B8?J ... LDN 0 JIOUTS 9 B8DQ ... ANDX 0 ETWINMK 17 B8KY ... BZE 0 T1 [_ IF NO WRITE O/S 11 B8R6 ... MHUNTW 1,EWDAS,ESENDT 17 B8Y# ... LDX 0 ENMARK(1) [DON'T SET UP ANOTHER 15 B95G ... SBN 0 GHIN [GHIN IF ONE 17 B9=N ... BZE 0 T [ALREADY IN PROGRESS 15 B9CW ...T1 CALL 7 XF25 [SET UP ESEND 15 B9K= T BPZ 4 T2 [J IF READ 8 B=4W ADX 6 FX1 7 B=JG EXIT 6 0 4 B?46 # 5 B?HQ XLINK3 10 B#3B PAIR TWINSETB,2 9 B#?8 ...XM7 #77177777 9 B#H2 XM9 #41773737 4 B*G= # 9 B*MD ...XCME GEOERR 1,NOTCME 4 B*SL ...# 11 B*_W ... MENDAREA 50,K99FAILTWIN 4 BBFG # 4 BB_6 #END 8 ____ ...01113767000100000000