TWINSETA866

(George Source)

Macros used: ACROSS, CHAIN, DERING, DERINGD, DOWN, ENRING, FINDPEREC, FINDSU, FPUT, FREECORE, GEOERR, GETACT, HUNT2J, HUNTW, IPCREP, JDED, JSHARED, JTWIN, JUNDE, LADDP, LINKSET, LOCK, LONGCLEAR, LONGON, MENDAREA, MHUNTW, NAME, PAIR, SEGENTRY, SETNCORE, SUSPEND, T, TRACE, TWTRACE, V

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