16 22FL #SEG TWINSETA70 [BOB NICHOLSON 10 22_= #LIS K0TWINSET>K0TWINSETA 7 23DW 8HTWINSETA 4 23YG # 15 24D6 # THIS SEGMENT IS THE ^BSTS^ OF TWINNING. 20 24XQ # IT DEALS WITH SENDING AND RECEIVING MESSAGES ABOUT EXOFILES 13 25CB # ON DUAL ACCESS CONFIGURATIONS. 19 25X2 # WHEN AN EXOFILE ACTIVITY WANTS TO SEND A MESSAGE TO THE 20 26BL # OTHER PROCESSOR IT SETS UP A EWDAS ESEND BLOCK CONTAINING 20 26W= # THE MESSAGE AND THIS IS CHAINED IN THE 20 27*W # ACTIVITY CHAIN BEHIND THE BSA ENTWIN ACTIVITY. THE TWINNING 20 27TG # ACTIVITY IS WOKEN UP AND THIS SEGMENT IS ENTERED TO ISSUE 18 28*6 # AN IPC WRITE TRANSER FOR THE MESSAGE IN THE ESEND. 21 28SQ # THIS SEGMENT ALSO DEALS WITH RECEIVING MESSAGES FROM THE OTHER 20 29#B # PROCESSOR. BECAUSE IT DOESN'T KNOW WHEN A MESSAGE IS COMING 15 29S2 # AN IPC READ TRANSFER IS ALWAYS STORED. 4 2=?L # 14 2=R= # K1TWINSETA IS THE MAIN ENTRY POINT. 18 2?=W # K2 IS ENTERED VIA AN ACROSS FROM FAILTWIN 20 2?QG # AFTER BEING ENTERED BY THIS SEGMENT TO DEAL WITH 21 2#=6 # IPB INOPERABLE CONDITION (AND IPB FAIL) WHILE WRITING 16 2#PQ # K3 AS FOR K2 EXCEPT IPB READ FAIL 5 2*9B # K4 19 2*P2 # K5 RE-ENTRY POINT FROM RELIEF WHEN DEALING WITH 14 2B8L # STATUS CHANGE COMMAND. 4 2BN= # 11 2C7W SEGENTRY K1TWINSETA,QK1TW 11 2CMG SEGENTRY K2TWINSETA,QK2TW 11 2D76 SEGENTRY K3TWINSETA,QK3TW 11 2DLQ SEGENTRY K4TWINSETA,QK4TW 11 2F6B SEGENTRY K5TWINSETA,QK5TW 10 2FL2 SEGENTRY K7TWINSETA 16 2G5L +0 [=-1 IF TRACING 4 2GK= # 9 2H4W # IPCREAD SUBROUTINE 4 2HJG # 5 2J46 XIPCREAD 8 2JHQ SBX 7 FX1 10 2K3B DOWN TWINSETD,1 8 2KH2 BRN XIT 4 2L2L # 10 2LG= # IPCWRITE SUBROUTINE 4 2L_W # 6 2MFG XIPCWRITE 8 2M_6 SBX 7 FX1 10 2NDQ DOWN TWINSETD,2 8 2NYB XIT ADX 7 FX1 7 2PD2 EXIT 7 0 4 2PXL # 4 2QC= # 8 2QWW # ON ENTRY TO 17 2RBG # IPCSTATE ACOMMUNE1=0 IF READ; NON-ZERO IF WRITE 11 2RW6 # ON EXIT X3 CONTAINS RESULT 4 2S*Q # 6 2STB XIPCSTATE 8 2T*2 SBX 7 FX1 9 2TSL DOWN RELIEF,4 10 2W#= LDX 3 ACOMMUNE1(2) 8 2WRW ADX 7 FX1 9 2X?G TRACE 3,TIMEST 7 2XR6 EXIT 7 0 4 2Y=Q # 4 2YQB # 7 2_=2 # CONSTANTS 4 2_PL # 4 329= # 9 32NW XM1 #777777 9 338G XM2 #41773757 9 33N6 XM3 #76377777 9 347Q XM4 #76177777 9 34MB XM5 #77777773 9 3572 XM6 #76007777 9 35LL XBITS510 #01020000 16 366= Q24 +24 [FOR BUTTON UP 4 36KW # 4 375G # 4 37K6 # 17 384Q # LONGON ACTIVITY OUTPUTTING PLEASE ISSUE MESSAGE 4 38JB XISS 8 3942 LONGON EPWT 7 39HL EXIT 7 0 4 3=3= # 4 3=GW # 15 3?2G # ROUTINE TO FIND DEVICE LIST X5=GEOG NO 4 3?G6 # 5 3?_Q XFINDL 15 3#FB STO 0 EX4 [STORE LINK 12 3#_2 FINDPEREC 1,APGEOG,5,,,XCME 8 3*DL BRN (EX4) 4 3*Y= # 4 3BCW # 19 3BXG # SUBROUTINE TO SETUP EWDAS/ESEND WITH REPLY INFORMATION. 19 3CC6 # THE BLOCK IS CHAINNED AT THE END OF THE ACTIVITY CHAIN. 4 3CWQ # 11 3DBB # X7 LINK * 14 3DW2 # X5 REPLY * ON ENTRY 11 3F*L # X6 REQUEST TYPE * 4 3FT= # 4 3G#W # 14 3GSG # X0,X4,X5,X7 CORRUPT * ON EXIT 11 3H#6 # X1,X2 =FX1 AND FX2 * 4 3HRQ # 8 3J?B R6 SBX 7 FX1 13 3JR2 SETNCORE ESENDLEN,1,EWDAS,ESEND,,1 15 3K=L LDN 0 ENTRGA(1) [EMPTY RING 9 3KQ= STO 0 ENTRGA(1) 10 3L9W STO 0 ENTRGA+1(1) 14 3LPG STO 5 ESREP(1) [REPLY 15 3M96 STO 6 ENMARK(1) [REQUEST TYPE 10 3MNQ LDN 4 ETBUFS+1(2) 10 3N8B LDN 5 ENSTART(1) 17 3NN2 MOVE 4 3 [MOVE IN REST OF INFO 10 3P7L R23 LDX 2 ACTRING(2) 9 3PM= SBN 2 ACTRING 9 3Q6W LDX 2 BPTR(2) 15 3QLG CHAIN 1,2 [CHAIN ON END 8 3R66 ADX 7 FX1 7 3RKQ EXIT 7 0 4 3S5B # 12 3SK2 # SUBROUTINE TO DO THE FOLLOWING 4 3T4L # 14 3TJ= # X6=0 CHAIN ENLINK ON TO JOBRING 4 3W3W # 21 3WHG # X6 NON ZERO DECHAIN ENLINK FROM ESEND,LONGCLEAR ACTIVITY (IF ANY) 11 3X36 # AND PUT REPLY IN 4 3XGQ # 10 3Y2B R1A MHUNTW 3,EWDAS,ESEND 9 3YG2 R1 LDN 0 ENTRGA(3) 10 3Y_L TXU 0 ENTRGA+1(3) 17 3_F= BCC R2 [J IF NOTHING CHAINED 9 3_YW LDX 4 ENTRGA(3) 15 42DG DERING ENTRGA(3) [ELSE DECHAIN 18 42Y6 SBN 4 ENLA [PTR TO START OF ENLINK 7 43CQ LDX 1 4 15 43XB STO 6 ENRP(1) [STORE REPLY 20 44C2 BZE 6 R3 [J IF ACTIVITY NOT TO BE WOKEN 18 44WL R4 LDX 1 BPTR(1) [LOOK BACK FOR ACTIVITY 9 45B= LDX 0 ATYPE(1) 8 45TW TXL 0 CACT 16 46*G BCS R4 [J NOT ACTIVITY 7 46T6 SMO 4 17 47#Q LDX 3 ENWTS [GET WAITING STYLE 18 47SB LONGCLEAR 1,0(3),R3A [AND WAKE UP IF WAITING 7 48#2 R3A EXIT 7 0 9 48RL R3 LDN 1 ENLA(1) 20 49?= ENRING 1,ETBRING(2) [CHAIN ENLINK ON END OF JOBRING 7 49QW R2 EXIT 7 0 4 4==G # 20 4=Q6 # SUBROUTINE TO GO ROUND JOBRING WAKING UP WAITING ACTIVITIES 20 4?9Q # WHOSE NUMBER (X5) AND REQUEST TYPE (X6) AGREE : REPLY IN X4 4 4?PB # 8 4#92 R7 LDX 2 FX2 10 4#NL LDX 3 ETFRING(2) 10 4*8= R7A LDN 0 ETFRING(2) 7 4*MW TXU 0 3 15 4B7G BCC (7) [J IF NO MORE 17 4BM6 SBN 3 ENLA [PTR TO NEXT ENLINK 9 4C6Q #SKI K6TWINSET>99-99 4 4CLB ( 16 4D62 LDX 0 ATYPE(3) [CHECK IF ENLINK 8 4DKL SRL 0 12 10 4F5= SBN 0 EWDAS+ENLINK 8 4FJW BZE 0 R8 10 4G4G GEOERR 1,NOT ENLK 4 4GJ6 R8 4 4H3Q ) 19 4HHB BNG 5 R9 [J IF NOT TO CHECK DETAILS 9 4J32 TXU 6 ENRQ(3) 9 4JGL TXU 5 ENBR(3) 15 4K2= BCC R9 [J IF MATCH 14 4KFW R8F LDX 3 ENLA(3) [GET NEXT 8 4K_G LDX 2 FX2 8 4LF6 BRN R7A 15 4LYQ R9 LDX 0 ENRQ(3) [REQUEST TYPE 8 4MDB SBN 0 CLIP 16 4MY2 BZE 0 R8F [IGNORE IF CLOSE 9 4NCL LDX 0 ENRQ(3) 8 4NX= SBN 0 INIT 16 4PBW BZE 0 R8F [OR IF INITIALISE 15 4PWG STO 4 ENRP(3) [STORE REPLY 7 4QB6 LDX 2 3 16 4QTQ LDX 1 ENWTS(3) [WAITING STYLE 19 4R*B R10 LDX 2 BPTR(2) [SEARCH FOR WAITING ACTIVITY 9 4RT2 LDX 0 ATYPE(2) 8 4S#L TXL 0 CACT 17 4SS= BCS R10 [J IF NOT ACTIVITY 17 4T?W LONGCLEAR 2,0(1),R11 [WAKE UP IF POSSIBLE 7 4TRG R11 LDX 2 3 15 4W?6 LDX 3 ENLA(3) [NEXT ON RING 14 4WQQ DERINGD ENLA(2) [DECHAIN 8 4X=B BRN R7A 4 4XQ2 # 21 4Y9L # SUBROUTINE TO SEARCH EXOF CHAIN FOR EXOF WITH SAME ASUSN AND HOME 4 4YP= # 8 4_8W U1 LDX 2 FX2 13 4_NG LDX 5 ETBUFS+2(2) [HOME 13 5286 LDXC 4 ETBUFS+3(2) [SUSN 16 52MQ BCS / [GET RID OF CARRY 8 537B LDN 1 BCCB 9 53M2 T8 LDX 1 BPTR(1) 8 546L TXU 1 CXCC 15 54L= BCC (7) [J IF NO MORE 9 555W LDX 0 BACK2(1) 16 55KG BZE 0 (7) [OR NO MORE EXOFS 9 5656 TXU 4 ASUSN(1) 9 56JQ TXU 5 HOME(1) 16 574B BCS T8 [J IF NOT EQUAL 7 57J2 EXIT 7 1 4 583L # 4 58H= # 5 592W NOTWINS 9 59GG GEOERR 1,NOTWINS 4 5=26 # 17 5=FQ # TO CLEAR WAITING FOR FILE IN OTHER PROCESSOR BIT 4 5=_B # 6 5?F2 WAITCLEAR 8 5?YL LDN 1 BCCB 9 5#D= WT1 LDX 1 BPTR(1) 8 5#XW TXU 1 CXCC 14 5*CG BCC (7) [J IF END 9 5*X6 LDX 0 BACK2(1) 16 5BBQ BZE 0 (7) [OR NO MORE EXOFS 8 5BWB LDCT 0 #2 9 5CB2 ANDX 0 EXMARK(1) 17 5CTL BZE 0 WT1 [J IF NO ONE WAITING 9 5D*= ERS 0 EXMARK(1) 8 5DSW BRN WT1 4 5F#G # 4 5FS6 # 5 5G?Q XLINK2 10 5GRB PAIR TWINSETB,8 4 5H?2 # 17 5HQL # ACTUAL ENTRY POINT. BSA ENTWIN IS CURRENT ACTIVITY 4 5J== # 8 5JPW QK1TW [***** 5 5K9G START 9 5KP6 LDX 0 ETWINMK 9 5L8Q ANDN 0 JIOUTS 18 5LNB BNZ 0 WF [J IF WRITE OUTSTANDING 17 5M82 N8170 LDX 3 FX2 [ELSE LOOK FOR WORK 12 5MML N2 HUNT2J 3,EWDAS,ESEND,,N7588 9 5N7= LDX 0 ENMARK(3) 8 5NLW SBN 0 INIT 16 5P6G BZE 0 N3 [J IF INITIALISE 9 5PL6 SBN 0 CLIP-INIT 15 5Q5Q BZE 0 N4 [J IF CLOSE 8 5QKB LDCT 0 #400 9 5R52 ANDX 0 ETWINMK 16 5RJL BZE 0 N5 [J IF INITIALISED 18 5S4= LDN 6 7 [NOT INITIALISED REPLY 17 5SHW CALL 7 R1 [PUT IN ANY ESENDS 10 5T3G MHUNTW 1,EWDAS,ESEND 7 5TH6 FREECORE 1 8 5W2Q BRN N8170 4 5WGB # 16 5X22 # NOTHING TO DO BUT CHECK IF LINKS NEED CLOSING 4 5XFL # 9 5X_= N7588 LDX 0 ETWINMK 9 5YDW ANDN 0 JICLSE 21 5YYG BNZ 0 W5 [J IF LINKS NEED CLOSING-WAIT FOR REA 16 5_D6 BRN N1 [ELSE CARRY ON 4 5_XQ # 7 62CB # INITIALISE 4 62X2 # 8 63BL N3 LDX 2 FX2 20 63W= CHAIN 3,2 [PUT INITIALISE REQUEST IN FRONT 10 64*W LDX 0 ENSTART(3) 21 64TG BNZ 0 Y8170 [J IF NOT INITIALISING FOR FIRST TIME 16 65*6 ACROSS INTWIN,1 [TO DO INITIALISE 18 65SQ Y8170 ACROSS INTWIN,2 [SUCCESSIVE INITIALISE 4 66#B # 6 66S2 # CLOSE 4 67?L # 10 67R= N4 ACROSS TWINSETB,9 4 68=W # 10 68QG # ALREADY INITIALISED 4 69=6 [ 18 69PQ [ CHECK IF GEORGE IN OTHER PROCESSOR IS DOWN OR IPB DOWN 15 6=9B [ -IF SO PUT IN REPLY AND WAKE UP ACTIVITY. 4 6=P2 # 9 6?8L N5 LDX 0 ETWINMK 9 6?N= ANDN 0 GEODOWN 16 6#7W BNZ 0 N6A [J IF GEORGE DOWN 9 6#MG LDX 0 ETWINMK 9 6*76 ANDN 0 IPBDOWN 16 6*LQ LDN 6 2 [IPB DOWN REPLY 16 6B6B BNZ 0 N6B [J IF IPB DOWN 15 6BL2 BRN N6 [OK SO FAR 18 6C5L N6A LDN 6 #4 [REPLY FOR GEORGE DOWN 8 6CK= N6B CALL 7 R1 10 6D4W MHUNTW 1,EWDAS,ESEND 9 6DJG LDX 0 ENMARK(1) 8 6F46 SBN 0 GHIN 20 6FHQ BZE 0 N7 [DON'T FREE ESEND IF GHIN REQUEST 7 6G3B FREECORE 1 17 6GH2 BRN N8170 [GO FOR NEXT ESEND 4 6H2L # 9 6HG= N6 LDX 0 ETWINMK 9 6H_W ANDN 0 JNOCHAT 21 6JFG BNZ 0 N1 [J IF WRITE LINK NOT OPEN(NO DIALOGUE 4 6J_6 # 18 6KDQ # IF BIT11 IS SET IN FIXED CORE WD ETWINMK ONLY SYSTEM 20 6KYB # WRITE TRANSFERS CAN BE SENT. BIT11 IS SET AS SOON AS A CRIPPLE 10 6LD2 # MODE CONDITION ARISES 4 6LXL # 4 6MC= N7 8 6MWW LDX 0 BIT11 9 6NBG ANDX 0 ETWINMK 19 6NW6 BZE 0 Z8009 [J IF WE CAN SEND ANYTHING 8 6P*Q LDX 3 FX2 12 6PTB Y8009 HUNT2J 3,EWDAS,ESEND,,X8009 4 6Q*2 # 19 6QSL # IF THE LINKS ARE ESTABLISHED AND THE SYSTEM IS RECOVERING 20 6R#= # FROM CRIPPLE MODE CONDITION (E.G. IPB INOP) THE STATUS OF THE 19 6RRW # SPINDLES AND LOCK-OUTS HAVE TO BE CHECKED AND ADJUSTED IF 21 6S?G # NECESSARY. THIS INVOLVES SYSTEM TRANSFERS OF TYPE GHIN,GHINR AND 20 6SR6 # GHLR AND WHILE THESE ARE IN PROGRESS OTHER TRANSFERS MUST NOT 7 6T=Q # GET IN. 4 6TQB # 9 6W=2 LDX 0 ENMARK(3) 8 6WPL SBN 0 GHLR 20 6X9= BZE 0 T8009 [J IF HELLO REPLY QUED TO BE SENT 10 6XNW SBN 0 GHINR-GHLR 21 6Y8G BNZ 0 Y8009 [J IF NOT GHINR TO LOOK AT NEXT BLK 18 6YN6 T8009 LDX 2 FX2 [NOW CHAIN GHLR OR GNINR 21 6_7Q CHAIN 3,2 [..SINCE IF THEY ARE PRESENT THEY MUS 15 6_MB BRN Z8009 [..GO FIRST 10 7272 X8009 HUNTW 1,EWDAS,ESEND 19 72LL BNG 1 XF26 [GEOERR IF BIT 11 SET AND 19 736= LDX 0 ENMARK(1) [NO GHIN/GHINR/GHLR ON Q 8 73KW SBN 0 GHIN 8 745G BNZ 0 XF26 7 74K6 LDX 3 1 5 754Q Z8009 9 75JB #SKI K6TWINSETA>99-99 4 7642 ( 11 76HL TRACE ENMARK(3),RTYPE 10 773= TRACE ENSTART(3), 4 77GW ) 9 782G SMO ENMARK(3) 19 78G6 BRN TABLE [BRANCH TO RELAVENT ROUTINE 8 78_Q TABLE +0 16 79FB BRN XGLK [WANTS LOCK-OUT 17 79_2 BRN XGLKT [RELEASING LOCK-OUT 17 7=DL BRN XGCHA [CHECK SCRATCH AREA 16 7=Y= BRN XGCHAR [REPLY TO GCHA 16 7?CW BRN XGCHF [CHECK FILE AREA 16 7?XG BRN XGCHFR [REPLY TO GCHF 16 7#C6 BRN XGHOLD [CAN DISENGAGE 8 7#WQ BRN XGHL 12 7*BB BRN XGHIN [ 17 7*W2 BRN XGHLR [SENDING HELLO REPLY 20 7B*L BRN XGHINR [REPLY IF SOMETHING GOES WRONG 15 7BT= BRN XGRDFIP [RE-READ FIP 16 7C#W BRN XGRDFIPR [REPLY TO ABOVE 21 7CSG BRN XGFCLOSE [CLOSING FILE REQUIRED BY OTHER SIDE 16 7D#6 BRN XGHL [ERROR INITIALISE 14 7DRQ BRN XGHL [OR CLOSE 9 7F?B BRN XGANYUSER 10 7FR2 BRN XGANYUSERR 16 7G=L BRN XGSHARE [SHARE COMMAND 16 7GQ= BRN XGSHARER [REPLY TO ABOVE 20 7H9W BRN XGBOLE [SET ENGAGE BUTTON IN OTHER SIDE 15 7HPG BRN XGDED [DEDICATE 18 7J96 BRN XGDEDR [REPLY TO DEDICATE 16 7JNQ BRN XGUNDED [UNDEDICATE 18 7K8B BRN XGUNDEDR [REPLY TO UNDEDICATE 4 7KN2 # 9 7L7L XGHL GEOERR 1,HONK! 4 7LM= # 10 7M6W # WE WANT THE LOCK-OUT 4 7MLG # 10 7N66 XGLK LDX 5 ENSTART(3) 16 7NKQ CALL 0 XFINDL [GET PTR TO DL 15 7P5B LADDP 1,1 [AND TO APIA 8 7PK2 LDCT 0 #10 9 7Q4L ANDX 0 BSUNIT(1) 19 7QJ= BNZ 0 N8 [J IF HAVE NOT GOT LOCK-OUT 17 7R3W LDCT 6 #400 [ELSE SET REPLY OK 20 7RHG N9 CALL 7 R1 [SET ACTIVITY GOING IF NEED BE 10 7S36 MHUNTW 3,EWDAS,ESEND 7 7SGQ FREECORE 3 8 7T2B BRN N1 8 7TG2 N8 LDCT 0 #4 9 7T_L ANDX 0 BSUNIT(1) 7 7WF= LDN 6 0 18 7WYW BNZ 0 N9 [J IF ALREADY BEING GOT 19 7XDG LDX 0 ETWINMK [IF B1 IS SET DON'T SET B6 20 7XY6 ANDX 0 BIT11 [OF BSUNIT AS THIS WILL STOP IPC 21 7YCQ BNZ 0 P1 [WRITES BEING EFFECTED FOR LOCK-OUT 17 7YXB LDCT 0 #4 [SET BEING GOT BIT 9 7_C2 ORS 0 BSUNIT(1) 8 7_WL BRN P1 4 82B= # 5 82TW XGCHAR 18 83*G LDCT 0 #200 [IF AREA REPLY WITH >1 21 83T6 ANDX 0 ENMARK(3) [...MESSAGES THE SUSN DOES NOT EXIST 21 84#Q BNZ 0 P1 [...IN THE ESEND SO LOCK-OUT CHECK 5 84SB XGCHFR 5 85#2 XGRDFIPR 6 85RL XGANYUSERR 20 86?= LDCT 4 #10 [CHECK WE HAVE NOT GOT LOCK-OUT 8 86QW BRN P2 5 87=G XGCHA 5 87Q6 XGCHF 5 889Q XGRDFIP 6 88PB XGANYUSER 18 8992 LDN 4 0 [CHECK WE HAVE LOCK-OUT 8 89NL P2 LDX 1 FX1 9 8=8= LDX 6 ENSUSN(3) 9 8=MW ANDX 6 XM1(1) 21 8?7G FINDSU 1,6,P1 [GET ASTUC IF THERE (OTHER PROCESSOR 21 8?M6 [MAY HAVE BEEN QUICKER GETTING EBI) 10 8#6Q LADDP HUNIT(1),1 8 8#LB LDCT 0 #10 9 8*62 ANDX 0 BSUNIT(1) 7 8*KL ERX 0 4 6 8B5= #SKI JSKI11 8 8BJW BRN P1 7 8C4G #SKI JSKI11<1$1 14 8CJ6 BZE 0 P1 [J IF OK 9 8D3Q GEOERR 1,NO LOCK 4 8DHB # 4 8F32 # 4 8FGL # 5 8G2= XGHOLD 10 8GFW LDX 5 ENSTART(3) 16 8G_G CALL 0 XFINDL [GET PTR TO DL 8 8HF6 LADDP 1,1 10 8HYQ LDX 0 BSUNIT3(1) 7 8JDB ANDN 0 4 17 8JY2 BZE 0 P1 [J IF NOT GOT RIGHT 7 8KCL LDN 6 4 8 8KX= BRN N9 4 8LBW # 4 8LWG # 5 8MB6 XGHIN 4 8MTQ # 20 8N*B # THIS REQUEST IS ALWAYS SENT IF SOMETHING HAS GONE WRONG WITH 12 8NT2 # THE LINK (I.E.CRIPPLE MODE) 4 8P#L # 21 8PS= LDX 0 BIT11 [THIS BIT BEING SET ENSURES THAT IF 21 8Q?W ORS 0 ETWINMK [THE LINK STARTS TO WORK NO REQUESTS 20 8QRG [ARE SENT UNTIL GHINR REPLY IS 20 8R?6 [RECEIVED FROM OTHER PROCESSOR 7 8RQQ LDX 1 3 18 8S=B T HUNT2J 3,EWDAS,ESEND,,P5 [SEARCH FOR CLOSE REQUEST 9 8SQ2 LDX 0 ENMARK(3) 8 8T9L SBN 0 CLIP 7 8TP= BNZ 0 T 19 8W8W FREECORE 1 [AND FREE GHIN ESEND IF THERE 8 8WNG BRN N1 4 8X86 [ 21 8XMQ [ THE STATUS CHANGE COMMAND COULD HAVE BEEN ISSUED BEFORE THE IPB WA 21 8Y7B [ OFFLINE AND HAVE AN ESEND ON THE QUEUE. WHEN THE IPB IS ONLINED 21 8YM2 [ A UNIT THAT WAS PREVIOUSLY UNDEDICATED (SAY) COULD BECOME SHARED. 21 8_6L [ THE NEXT BIT CHECKS IF THE UNIT IS ALREADY IN THE REQUIRED STATE.A 20 8_L= [ THE WRITE TRANSFER IS NOT ISSUED BUT A REPLY SENT TO TWINSET. 4 925W [ 5 92KG XGDED 5 9356 XGUNDED 5 93JQ XGSHARE 14 944B LDX 5 ENSTART(3) [UNIT NO 16 94J2 CALL 0 XFINDL [GET PTR TO DL 15 953L LADDP 1,1 [THEN AP1A 9 95H= LDX 0 ENMARK(3) 8 962W SBN 0 GDED 17 96GG BZE 0 XGD1 [_ IF DEDICATE 16 9726 BNG 0 XSH1 [_ IF SHARE 19 97FQ JUNDE 1,XREP [_ IF ALREADY UNDEDICATED 8 97_B BRN XSH2 19 98F2 XGD1 JDED 1,XREP [_ IF ALREADY DEDICATED 8 98YL BRN XSH2 18 99D= XSH1 JSHARED 1,XREP [_ IF ALREADY SHARED 21 99XW XSH2 BRN P1 [CARRY ON IF VALID STATUS CHANGE 19 9=CG XREP LDN 6 6 [ELSE PUT IN REPLY AND 17 9=X6 BRN N9 [WAKE UP ACTIVITY 4 9?BQ [ 4 9?WB # 4 9#B2 # 9 9#TL # NOW ISSUE WRITE 4 9**= # 8 9*SW QK3TW [***** 4 9B#G # 5 9BS6 XGLKT 5 9C?Q XGFCLOSE 5 9CRB XGBOLE 5 9D?2 XGSHARER 5 9DQL XGDEDR 5 9F== XGUNDEDR 4 9FPW # 9 9G9G P1 LDX 0 ETWINMK 8 9GP6 ANDX 0 BIT11 21 9H8Q BNZ 0 N1 [DON'T ATTEMPT TO WRITE IF LINKS IN 15 9HNB [DODGY STATE 5 9J82 XGHLR 5 9JML XGHINR 9 9K7= LDX 0 ETWINMK 9 9KLW ANDN 0 JNOCHAT 16 9L6G BZE 0 P5 [J IF DIALOGUE 9 9LL6 GEOERR 1,NO-DIAL 14 9M5Q P5 CALL 7 XIPCWRITE [GREAT! 16 9MKB WF IPCREP W,3 [GET WRITE REPLY 16 9N52 BPZ 3 P7 [JUMP IF FINISHED 8 9NJL QK4TW [***** 9 9P4= N1 LDN 5 JROUTS 9 9PHW ANDX 5 ETWINMK 19 9Q3G BZE 5 T2 [J IF READ NOT OUTSTANDING 17 9QH6 XBB2 IPCREP R,3 [GET REPLY FROM READ 8 9R2Q LDCT 0 #20 16 9RGB BPZ 3 P6 [J IF FINISHED 7 9S22 ANDX 0 3 16 9SFL BZE 0 P7 [J IF PROGRESSING 10 9S_= W4 GEOERR 1,REJECTED 7 9TDW P6 ANDX 0 3 13 9TYG ERS 5 ETWINMK [SE 17 9WD6 BNZ 0 P8 [J IF NOT IMPLIMENTED 21 9WXQ CALL 7 XISS [STOP PLEASE ISSUE BEING OUTPUT IF 17 9XCB [IPB GETS BACK ONLINE 9 9XX2 LDX 0 XM2(1) 9 9YBL ANDS 0 ETWINMK 8 9YW= LDX 2 FX2 9 9_*W #SKI K6TWINSETA>99-99 12 9_TG TRACE ETBUFS(2),RECEIVED 4 =2*6 [ 10 =2SQ LDX 0 K7TWINSETA(1) 16 =3#B BZE 0 NTRACE [J IF NOT TRACING 13 =3S2 LDN 0 #6246 [RF 10 =4?L STO 0 ACOMMUNE1(2) 9 =4R= LDN 0 ETBUFS(2) 10 =5=W LDN 1 ACOMMUNE2(2) 7 =5QG MOVE 0 4 7 =6=6 TWTRACE 5 =6PQ NTRACE 4 =79B # 18 =7P2 # ACTUALLY RECEIVED A MESSAGE FROM THE OTHER PROCESSOR 4 =88L # 12 =8N= # THESE FALL INTO 2 CATEGORIES 4 =97W # 21 =9MG # 1) REPLIES TO MESSAGES WE HAVE SENT E.G REQUEST FOR LOCK-OUT OR 21 ==76 # CHECK INTEGRITY. IN THESE CASES AN EXOFILE ACTIVITY IS PROBABLY 21 ==LQ # WAITING FOR A REPLY. THIS ACTIVITY IS LINKED TO THE BSA ENTWIN 21 =?6B # THROUGH ITS FILERING TO A EWDAS ENLINK BLOCK CHAINED BEHIND THE 21 =?L2 # EXOFILE ACTIVITY. THE FILERING OF THE ENTWIN IS A Q OF ENLINKS 20 =#5L # WAITING FOR A REPLY FROM THE OTHER PROCESSOR. THE INCOMING 21 =#K= # MESSAGE IS ASSOCIATED TO A PARTICULAR ENLINK USING A MESSAGE 14 =*4W # NUMBER STORED IN ENBR OF THE ENLINK. 4 =*JG # 4 =B46 # 16 =BHQ # 2) NEW MESSAGES THE OTHER PROCESSOR IS SENDING 4 =C3B # 9 =CH2 SMO ETBUFS(2) 17 =D2L BRN PABLE [J TO PARTICULAR BIT 8 =DG= PABLE +0 8 =D_W BRN YGLK 8 =FFG BRN YGLKT 8 =F_6 BRN YGCHA 9 =GDQ BRN YGCHAR 8 =GYB BRN YGCHF 9 =HD2 BRN YGCHFR 9 =HXL BRN YGHOLD 8 =JC= BRN YGHL 8 =JWW BRN YGHIN 8 =KBG BRN YGHLR 9 =KW6 BRN YGHINR 9 =L*Q BRN YGRDFIP 9 =LTB BRN YGRDFIPR 9 =M*2 BRN YGFCLOSE 15 =MSL BRN YGHL [J IF HELLO 16 =N#= BRN XGHL [OR INITIALISE 9 =NRW BRN YGANYUSER 10 =P?G BRN YGANYUSERR 9 =PR6 BRN YGSHARE 9 =Q=Q BRN YGSHARER 9 =QQB BRN YGBOLE 8 =R=2 BRN YGDED 9 =RPL BRN YGDEDR 9 =S9= BRN YGUNDED 9 =SNW BRN YGUNDEDR 4 =T8G # 21 =TN6 YGHLR BRN T2 [FORGET HELLO REPLY FROM OTHER SIDE 4 =W7Q # 11 =WMB # OTHER SIDE WANTS LOCK-OUT 4 =X72 # 10 =XLL YGLK LDX 5 ETBUFS+1(2) 16 =Y6= CALL 0 XFINDL [GET PTR TO DL 8 =YKW LADDP 1,1 8 =_5G LDCT 0 #10 9 =_K6 ANDX 0 BSUNIT(1) 18 ?24Q BNZ 0 P9 [J IF WE HAVEN'T GOT IT 10 ?2JB LDX 0 BSUNIT4(1) 9 ?342 ANDX 0 BITS22LS 16 ?3HL BZE 0 T1 [J IF NO USERS 8 ?43= LDCT 0 #2 19 ?4GW ORS 0 BSUNIT(1) [SET OTHERSIDE WANTS IT BIT 15 ?52G BRN T2 [TO DO READ 8 ?5G6 T1 LDCT 0 #10 15 ?5_Q ORS 0 BSUNIT(1) [SET LOCK-OUT 8 ?6FB P9 LDN 6 GLKT 16 ?6_2 CALL 7 R6 [SEND REPLY BACK 15 ?7DL BRN T2 [J TO DO READ 4 ?7Y= # 13 ?8CW # THE LOCK-OUT HAS BEEN TRANSFERRED 4 ?8XG # 10 ?9C6 YGLKT LDX 5 ETBUFS+1(2) 16 ?9WQ CALL 0 XFINDL [GET PTR TO DL 8 ?=BB LADDP 1,1 8 ?=W2 SMO FX1 8 ??*L LDX 0 XM3 16 ??T= ANDS 0 BSUNIT(1) [CLEAR LOCK-OUT 8 ?##W LDCT 4 #400 10 ?#SG LDX 5 ETBUFS+1(2) 8 ?*#6 LDN 6 GLK 8 ?*RQ CALL 7 R7 8 ?B?B BRN T2 4 ?BR2 # 20 ?C=L # OTHER PROCESSOR IS TRYING TO EXTEND A PERMENANT FILE OR OPEN 20 ?CQ= # A SCRATCH FILE. SEND IT A LIST OF AREAS (FACS) IN USE IN THIS 12 ?D9W # PROCESSOR FOR SCRATCH FILES 4 ?DPG # 9 ?F96 YGCHA DOWN RELIEF,7 20 ?FNQ BRN T2 [RELIEF HAS ALREADY CHAINED ESEND 4 ?G8B # 4 ?GN2 # 9 ?H7L # CHECK INTEGRITY 4 ?HM= # 16 ?J6W YGCHF CALL 7 U1 [SEARCH FOR EXOF 15 ?JLG BRN T7 [NOT FOUND 9 ?K66 LDCH 5 FIP+5(1) 7 ?KKQ SRL 5 4 7 ?L5B SBN 5 1 15 ?LK2 BZE 5 T9 [FAIL IF IC=1 10 ?M4L LDX 0 ETBUFS+3(2) 9 ?MJ= LDX 4 EXMARK(1) 17 ?N3W BPZ 4 T10 [J IF CURRENTLY OFR 20 ?NHG BNG 0 T9 [FAIL IF TRYING TO OFW AS WELL 8 ?P36 BRN T11 16 ?PGQ T10 BPZ 0 T7 [J IF BOTH OFR 7 ?Q2B T11 SBN 5 2 15 ?QG2 BZE 5 T9 [FAIL IF IC=3 14 ?Q_L T7 LDCT 5 #400 [OK REPLY 8 ?RF= BRN T13 8 ?RYW T9 LDCT 0 #2 16 ?SDG ORS 0 EXMARK(1) [SET WAITING BIT 15 ?SY6 LDN 5 1 [FAIL REPLY 8 ?TCQ T13 LDN 6 GCHFR 8 ?TXB CALL 7 R6 8 ?WC2 BRN T2 4 ?WWL # 9 ?XB= # CHECK FILE IS OPEN 4 ?XTW # 6 ?Y*G YGANYUSER 15 ?YT6 CALL 7 U1 [FIND EXOF 16 ?_#Q BRN NA [J IF NOT THERE 15 ?_SB LDN 5 1 [FAIL REPLY 8 #2#2 BRN NB 14 #2RL NA LDCT 5 #400 [OK REPLY 15 #3?= NB LDN 6 GANYUSERR [REPLY TYPE 16 #3QW CALL 7 R6 [MESSAGE BLOCK 8 #4=G BRN T2 4 #4Q6 # 12 #59Q # REPLY FROM AREA AND FILE CHECK 4 #5PB # 5 #692 YGCHAR 21 #6NL DOWN RELIEF,5 [ASSEMBLE EWDAS/ITCH FOR GETAREA MACR 14 #78= BRN T2 [NO ITCH 15 #7MW LDN 6 GCHA [REQUEST TYPE 15 #87G LDCT 4 #400 [OK REPLY 8 #8M6 BRN U1AA 5 #96Q YGCHFR 8 #9LB LDN 6 GCHF 14 #=62 U1A LDX 4 ETBUFS+4(2) [REPLY 14 #=KL U1AA LDX 5 ETBUFS+1(2) [NUMBER 17 #?5= CALL 7 R7 [SET ACTIVITY GOING 8 #?JW BRN T2 4 ##4G # 8 ##J6 # RE-READ FIP 4 #*3Q # 5 #*HB YGRDFIP 15 #B32 CALL 7 U1 [FIND EXOF 15 #BGL BRN U2 [J NOT THERE 20 #C2= GETACT ACTDOC [SET UP ACTIVITY TO DO RE-READ 14 #CFW LDX 6 ETBUFS+1(2) [NUMBER 9 #C_G LDX 2 BPTR(2) 13 #DF6 STO 4 AWORK1(2) [SUSN 13 #DYQ STO 5 AWORK2(2) [HOME 10 #FDB STO 6 AWORK3(2) 17 #FY2 LINKSET 2,XLINK2(1) [LINK TO K8TWINSETB 6 #GCL FPUT 8 #GX= BRN T2 8 #HBW U2 LDCT 5 #400 9 #HWG LDN 6 GRDFIPR 8 #JB6 CALL 7 R6 8 #JTQ BRN T2 4 #K*B # 10 #KT2 # RE-READ FILE REPLY 4 #L#L # 5 #LS= YGRDFIPR 9 #M?W LDN 6 GRDFIP 8 #MRG BRN U1A 4 #N?6 # 10 #NQQ # CHECK FILE OPEN REPLY 4 #P=B # 6 #PQ2 YGANYUSERR 9 #Q9L LDN 6 GANYUSER 19 #QP= BRN U1A [SET REPLY AND AWAKE ACTIVITY 4 #R8W # 20 #RNG # OTHERSIDE HAS COME TO LIFE AND HAS EXECUTED TWIN INITIALISE 4 #S86 # 4 #SMQ YGHL 10 #T7B ACROSS FAILTWIN,1 4 #TM2 # 4 #W6L # 18 #WL= # IPB COMES ONLINE - OTHER PROCESSOR SENDS HELLO (GHIN) 21 #X5W # AND FAILTWIN,2 REPLIES WITH STATE OF SPINDLES IN THIS PROCESSOR - 8 #XKG # GHINR MESSAGE 4 #Y56 # 5 #YJQ YGHIN 10 #_4B ACROSS FAILTWIN,2 4 #_J2 # 11 *23L # HOLD BUTTON EVENT RECEIVED 4 *2H= # 5 *32W YGHOLD 9 *3GG ACROSS RELIEF,1 4 *426 # 4 *4FQ # 8 *4_B # ENGAGE BUTTON 4 *5F2 # 5 *5YL YGBOLE 9 *6D= ACROSS RELIEF,2 4 *6XW # 12 *7CG # SHARE, DEDICATE, UNDEDICATE 4 *7X6 # 5 *8BQ YGDED 5 *8WB YGUNDED 5 *9B2 YGSHARE 9 *9TL ACROSS RELIEF,3 20 *=*= QK5TW [COMES BACK HERE FROM RELIEF,K3 8 *=SW CALL 7 R6 8 *?#G BRN T2 5 *?S6 YGSHARER 5 *#?Q YGDEDR 5 *#RB YGUNDEDR 19 **?2 DOWN RELIEF,9 [CHECK STATUS CHANGE REPLY 9 **QL LDX 6 ETBUFS(2) 7 *B== SBN 6 1 8 *BPW BRN U1A 4 *C9G # 17 *CP6 # A FILE HAS BEEN CLOSED THAT WE ARE INTERESTED IN 4 *D8Q # 5 *DNB YGFCLOSE 20 *F82 LONGON EDFDCLS [WAKE UP ANY WAITING FOR FILES 8 *FML BRN T2 4 *G7= # 9 *GLW # A REPLY FROM INOP 4 *H6G # 5 *HL6 YGHINR 10 *J5Q ACROSS FAILTWIN,3 4 *JKB # 21 *K52 # SUBROUTINE TO GO THOUGH ALL UDAS DEVICES LOOKING FOR TWINNED ONES 4 *KJL # 8 *L4= X6 LDX 1 FX1 7 *LHW X4 ADN 1 1 15 *M3G LDX 0 TB-1(1) [NEXT DEVICE 8 *MH6 BNG 0 (7) 18 *N2Q FINDPEREC 3,APFOTY,TB-1(1),X3,,XCME,XCME [GET PTR 19 *NGB BNG 3 X4 [J IF NO MORE OF THIS TYPE 15 *P22 JTWIN 3,X5 [J IF TWINNED 16 *PFL BRN X3 [LOOK FOR NEXT 7 *P_= X5 EXIT 7 1 4 *QDW # 4 *QYG # 8 *RD6 TB +6 8 *RXQ +13 8 *SCB +26 8 *SX2 -1 4 *TBL # 4 *TW= # 9 *W*W XBIT5910 #01060000 4 *WTG # 4 *X*6 # 11 *XSQ # NOW PUT UP ANOTHER READ 4 *Y#B # 8 *YS2 QK2TW [***** 9 *_?L T2 LDX 0 ETWINMK 9 *_R= ANDN 0 JICLSE 18 B2=W BZE 0 W1A [J IF NOT TRYING TO CLOSE 10 B2QG ACROSS TWINSETB,10 9 B3=6 W1A LDXC 0 ETWINMK 17 B3PQ BCS SUSPEND [J IF NOT INITIALISED 9 B49B W1 CALL 7 XIPCREAD 9 B4P2 P7 LDX 0 ETWINMK 9 B58L ANDN 0 JIOUTS 19 B5N= BZE 0 W2 [J IF NO WRITE OUTSTANDING 19 B67W IPCREP W,3 [ELSE SEE HOW ITS GETTING ON 8 B6MG LDCT 0 #20 16 B776 BPZ 3 W3 [J IF FINISHED 7 B7LQ ANDX 0 3 16 B86B BNZ 0 W4 [J IF REJECTED 16 B8L2 BRN W5 [J IF PROGRESSING 9 B95L W3 LDN 5 JIOUTS 19 B9K= ERS 5 ETWINMK [REMOVE WRITE OUTSTANDING BIT 11 B=4W MHUNTW 1,EWDAS,ESENDT 10 B=JG NAME 1,EWDAS,ESEND 8 B?46 LDCT 0 #20 7 B?HQ ANDX 0 3 17 B#3B BNZ 0 P8W [J IF NOT IMPLIMENTED 21 B#H2 CALL 7 XISS [STOP PLEASE ISSUE BEING OUTPUT IF 17 B*2L MHUNTW 1,EWDAS,ESEND [SEARCH FOR BUFFER 4 B*G= # 8 B*_W SMO FX1 10 BBFG LDX 0 K7TWINSETA 9 BB_6 BZE 0 NTRAC1 13 BCDQ LDN 0 #6746 [WF 8 BCYB LDX 2 FX2 10 BDD2 STO 0 ACOMMUNE1(2) 9 BDXL LDN 0 ENMARK(1) 10 BFC= LDN 1 ACOMMUNE2(2) 7 BFWW MOVE 0 4 7 BGBG TWTRACE 10 BGW6 MHUNTW 1,EWDAS,ESEND 5 BH*Q NTRAC1 9 BHTB LDX 0 ENMARK(1) 8 BJ*2 SBN 0 GHLR 17 BJSL BNZ 0 W6 [J IF NOT HELLO REPLY 16 BK#= NGN 0 #41 [LEAVES B18 CLEAR 9 BKRW ANDS 0 ETWINMK 18 BL?G LDX 0 BIT11 [CLEAR BIT11 IF SUCCESSFULLY SENT 15 BLR6 ANDX 0 ETWINMK [HELLO REPLY 9 BM=Q ERS 0 ETWINMK 8 BMQB W6 SMO FX1 8 BN=2 LDX 0 XM2 9 BNPL ANDS 0 ETWINMK 17 BP9= LDN 6 0 [CHAIN ON JOBRING MKR 9 BPNW LDX 0 ENMARK(1) 8 BQ8G SBN 0 GHOLD 15 BQN6 BNZ 0 W7 [J NOT GHOLD 14 BR7Q W7A LDCT 6 #400 [OK REPLY 4 BRMB # 4 BS72 # 19 BSLL # WRITE TRANSFER HAS WORKED. DEPENDING ON THE MESSAGE TYPE A 20 BT6= # EWDAS ENLINK IS CURRENTLY CHAINED TO THE ESEND. IN THE NEXT 21 BTKW # BIT THE ESEND IS FREED AND IF THE MESSAGE SENT NEEDS A REPLY THE 21 BW5G # ENLINK IS CHAINED ON THE FILERING OF THE ENTWIN AWAITING A REPLY 4 BWK6 # 7 BX4Q W7 LDX 3 1 17 BXJB CALL 7 R1 [DECHAIN OR WHATEVER 10 BY42 MHUNTW 3,EWDAS,ESEND 7 BYHL FREECORE 3 18 B_3= BRN START [SEE IF ANY MORE TO DO 4 B_GW # 10 C22G # NO WRITE OUTSTANDING 4 C2G6 # 10 C2_Q W2 HUNTW 1,EWDAS,ESEND 7 C3FB BPZ 1 V 16 C3_2 W5 IPCREP R,3 [GET READ REPLY 8 C4DL LDCT 0 #20 16 C4Y= BPZ 3 N1 [J IF FINISHED 7 C5CW ANDX 0 3 16 C5XG BZE 0 SUSPEND [J IF PROGRESSING 8 C6C6 BRN W4 5 C6WQ SUSPEND 19 C7BB SUSPEND [WAIT FOR SOMETHING TO HAPPEN 8 C7W2 BRN START 4 C8*L # 21 C8T= # SOMETHING ELSE TO WRITE BUT IF BIT11 SET DON'T DO NON-SYSTEM WRITE 4 C9#W # 9 C9SG V LDX 0 ETWINMK 8 C=#6 ANDX 0 BIT11 21 C=RQ BZE 0 START [J IF WE CAN WRITE I.E DO ORDINARY.. 15 C??B LDX 0 ENMARK(1) [. TRANSFER 8 C?R2 SBN 0 GHIN 19 C#=L BZE 0 START [DO INITIALISE AT ANY TIME 9 C#Q= SBN 0 INIT-GHIN 16 C*9W BZE 0 START [OR RE-INITIALISE 9 C*PG SBN 0 CLIP-INIT 14 CB96 BZE 0 START [OR CLOSE 9 CBNQ LDX 0 ENMARK(1) 8 CC8B SBN 0 GHLR 16 CCN2 BZE 0 START [OR HELLO REPLY 10 CD7L SBN 0 GHINR-GHLR 14 CDM= BZE 0 START [OR GHINR 8 CF6W BRN W5 4 CFLG # 18 CG66 # SOMETHINGS GONE WRONG: X4 -VE IF WRITE X4 +VE IF READ 4 CGKQ # 7 CH5B P8W NGNC 4 1 7 CHK2 P8 NGN 4 0 9 CJ4L STO 4 AWORK1(2) 15 CJJ= BPZ 4 XF1 [J IF READ 17 CK3W IPCREP W,3 [GET REPLY FOR WRITE 11 CKHG MHUNTW 1,EWDAS,ESEND 9 CL36 LDX 0 ENMARK(1) 20 CLGQ SBN 0 GLK [IF GLK TRANSFER HAS FAILED CLEAR 21 CM2B BNZ 0 XF2 [BEING GOT BIT (B6 OF BSUNIT) SO THAT 21 CMG2 LDX 5 ENSTART(1) [WE CAN HAVE ANOTHER GO IF ONLY TIME 9 CM_L CALL 0 XFINDL 8 CNF= LADDP 1,1 8 CNYW LDCT 0 #4 9 CPDG ANDX 0 BSUNIT(1) 17 CPY6 ERS 0 BSUNIT(1) [CLEAR B6 OF BSUNIT 8 CQCQ BRN XF2 17 CQXB XF1 IPCREP R,3 [GET REPLY FOR READ 4 CRC2 XF2 8 CRWL SMO FX1 10 CSB= LDX 0 K7TWINSETA 16 CSTW BZE 0 NTRAC2 [J IF NO TRACING 13 CT*G LDN 0 #6446 [TF 10 CTT6 STO 0 ACOMMUNE1(2) 13 CW#Q STO 4 ACOMMUNE2(2) [MODE 14 CWSB STO 3 ACOMMUNE3(2) [REPLY 15 CX#2 BPZ 4 NOTREAD [J IF READ 10 CXRL MHUNTW 1,EWDAS,ESEND 9 CY?= LDN 0 ENMARK(1) 10 CYQW LDN 1 ACOMMUNE4(2) 7 C_=G MOVE 0 2 5 C_Q6 NOTREAD 7 D29Q TWTRACE 5 D2PB NTRAC2 8 D392 LDCT 0 #6 9 D3NL #SKI K6TWINSETA>99-99 9 D48= TRACE 3,FAILREP 7 D4MW ANDX 0 3 20 D57G BNZ 0 XF3 [J IF LINK NOT EST. OR FAILURE 8 D5M6 LDCT 0 #240 18 D66Q ANDX 0 3 [J IF TIME-OUT OR ERROR 8 D6LB BNZ 0 XF4A 8 D762 LDCT 0 #200 7 D7KL ANDX 0 3 8 D85= BZE 0 XF4 17 D8JW XF7 GEOERR 1,IPCREP [ERROR IF LONGBLOCK 18 D94G XF4A STO 4 ACOMMUNE1(2) [STORE MODE FOR 1PCSTATE 9 D9J6 CALL 7 XIPCSTATE 8 D=3Q LDCT 0 #10 17 D=HB ERS 0 ACOMMUNE1(2) [REVERSE OPERABLE BIT 8 D?32 LDCT 0 #110 10 D?GL ANDX 0 ACOMMUNE1(2) 21 D#2= BNZ 0 XF3 [J IF IPB INOP OR DIALOGUE SUSPENDED 15 D#FW XF4 BPZ 4 T2 [J IF READ 8 D#_G BRN START 4 D*F6 XF3 18 D*YQ XF6 ACROSS FAILTWIN,4 [LOOK FURTHER INTO FAIL 4 DBDB # 10 DBY2 XF26 GEOERR 1,NO ESEND 4 DCCL # 9 DCX= XCME GEOERR 1,NOTCME 13 DDBW MENDAREA 1023-0?<50,K99TWINSETA 4 DDWG #END 6 ____ ...714123530001