MULTIPLX864

(George Source)

Macros used: ACROSS, BXE, COOR1, COOR3, DCA, DLCA, DOWN, ERROR, FINDLCA, FREECORE, FREELINK, FSHCODE, GEOPACK, GLPERI, HUNT2B, HUNTW, INFORM, LGEOG, LOCKC, MENDAREA, MFREEALL, MHUNTW, MOPOUT, NBREAKIN, NOTALIEN, OUTBLOCN, OUTNUM, OUTPACKC, PHOTO, READYON, REPEAT, SEGENTRY, TESTMOVE, TRANCHKN, TRANSBEG, TRANSDIE, TRANSFIN, UP

MULTIPLX864.txt
22FL    #SEG  MULTIPLX8                    [G CONSTANTINIDES
22^=    #LIS  K0MULTIPLX>K0ALLGEO>K0GREATGEO
23DW          8HMULTIPLX
23YG    # ENTRY POINTS  
24D6          SEGENTRY K1MULTIPLX,Z1MULTIPLX
24XQ          SEGENTRY K3MULTIPLX,Z3MULTIPLX
25CB          SEGENTRY K4MULTIPLX,Z4MULTIPLX
25M8 ...      SEGENTRY K5MULTIPLX,Z5MULTIPLX
25X2          MENDAREA 20,K99MULTIPLX   
26BL    [   
26W=    [   
27*W    [   
27TG    # FOR USE BY THE LONGWAIT MACRO 
28*6    [   
28SQ    Z1MULTIPLX  
28T6 ...      FSHCODE  AORB 
28TG ...(   
28TW ...      NOTALIEN XHOMEMOP,2          [J IF ON HOME MACHINE
28W= ...      TRANSBEG FSHLONGMESS,MULTIPLX,1,CLB,,ACOMMUNE1,XIPBDOWN   
28WL ...      UP                           [RETURN FROM HOME MACHINE
28X2 ...XIPBDOWN
28XB ...      TRANSDIE                     [KILL OFF ACTIVITY   
28XQ ...XHOMEMOP
28Y6 ...)   
28YM ...      LDCT  0  #10  
294J ...      ANDX  0  CLONG1(2)
298F ...      ERS   0  CLONG1(2)
29#B          MOPOUT
29BK ...      FSHCODE  AORB 
29DS ...(   
29H3 ...      TRANCHKN FSHLONGMESS,EQUAL,XHOMEUP,XHOMEUP [J IF NOT TRANSBEG'D TO
29K= ...      TRANSFIN                     [RETURN TO OTHER MACHINE 
29MF ...XHOMEUP 
29PN ...)   
29S2          UP
2=?L    [   
2=R=    [   
2?=W    [THIS ENTRY POINT IS FROM THE MOPWAIT MACRO. IT SETS THE ACTIVITY   
2?QG    [WAITING IF A TRANSFER IS IN PROGRESS, AND IS WOKEN UP AGAIN AT THE END 
2#=6    [OF THE TRANSFER
2#PQ    [   
2*9B    REFIND  
2*P2          MHUNTW   2,AMXOR,ALCB 
2B8L          EXIT  1  0
2BN=    Z3MULTIPLX  
2C7W          MHUNTW   3,AMXOR,ALCB 
2CMG          LDX   0  GFAIL(3) 
2D76          BNG   0  UDAVID              [J IF INOPERABLE 
2DLQ          LDX   0  GLASTM(3)
2F6B          BZE   0  TREPT               [J IF NO TRANSFERS IN PROGRESS   
2FL2    UJOHN   
2G5L          LDX   0  GSIGN
2GK=          ORS   0  GWAIT(3)            [SET WAITING BIT 
2H4W          PHOTO    4
2HJG          COOR1                        [WAIT FOR END OF TRANSFER
2J46          TESTMOVE 4,NOMOVE 
2JHQ          MHUNTW   3,AMXOR,ALCB 
2K3B    NOMOVE  
2KH2          LDX   0  GFAIL(3) 
2L2L          BNG   0  UDAVID              [J IF INOP.  
2LG=    UMARY LDX   0  BITS22LS            [UNSET FAIL BITS IF TRANSFER OK. 
2L^W          ANDS  0  GFAIL(3) 
2MFG    TREPT LDX   0  GWAIT(3) 
2M^6          ANDN  0  #4              [CHECK TO SEE IF READY REPEAT NEEDED 
2NDQ          BNZ   0  REPREADY        [J IF SO 
2NYB          HUNTW    1,AMXOR,AOUT        [REPEAT IF MORE THAN ONE OF THESE.   
2PD2          BNG   1  UP   
2PXL          HUNT2B   2,AMXOR,AOUT,3   
2QC=          SBX   1  2
2QWW          BNZ   1  REPT                [J IF REPEAT NEEDED  
2RBG    UP    UP
2RW6    REPT
2S*Q          DOWN     MOPOUT,3        [REPEAT OUTPUT   
2STB          BRN      Z3MULTIPLX   
2T*2    REPREADY                       [COME HERE IF NEED TO REPEAT READY OUTPUT
2TSL          ERS   0  GWAIT(3)            [UNSET 'REPEAT READY' BIT.   
2W#=          FREELINK                     [FREE THE OLD LINK TO MOPOUT AND GO  
2WRW          ACROSS   MOPOUT,2            [TO K2MOPOUT TO REPEAT THE "READY".  
2X?G    #     THIS ROUTINE DEALS WITH A LINE WHICH HAS GONE INOPERABLE  
2XR6    #     WHILE BEING USED. IT SETS THE PERIPHERAL TYPE IN THE CPA TO MCF   
2Y=Q    #     SO THAT SUBSEQUENT MONOUTS ARE ROUTED TO K4MULTIPLX.  
2YQB    #   
2^=2    #   
2^PL    #   
329=    XMASK          #01000001
32NW ...      SEGENTRY K60MULTIPLX  
338G ...XERR           +34  
33N6 ...               34HTRANSMISSION ERROR - PLEASE REPEAT
347Q ...XERR1          +18  
34MB ...               18HTRANSMISSION ERROR
36KW    UDAVID  
375G          LDX   0  GLASTM(3)           [J. IF BUFFER IS NOT YET FREE.   
37K6          BNZ   0  UJOHN
384Q ...      SEGENTRY  K50MULTIPLX 
38JB          LDN   7  0                   [TO CHANGE BY INOPTIME   
3942          BZE   7  XINOP
39HL    XAGAIN  
3=3=          SBN   7  1
3=GW          COOR3    #62  
3?2G          BNZ   7  XAGAIN              [NOT YET 
3?G6          CALL  1  REFIND   
3?^Q          LOCKC    2,REFIND 
3#FB          MHUNTW   3,AMXOR,ALCB 
3#^2          LDX   0  BIT11               [CANCEL DC1  
3*DL          ORS   0  GWAIT(3) 
3*QD ...      LDN   0  4                   [TEST B21 = 1 REPEAT 
3B4= ...      ANDX  0  GWAIT(3) 
3BB4 ...      BNZ   0  XN1                 [J. IF SET   
3BMW ...      ADN   1  XERR1               [TRANSMISSION ERROR  
3B^N ...      BRN      XN2  
3C?G ...XN1   ADN   1  XERR                [TRANSMISSION ERROR - PLEASE REPEAT  
3CK# ...XN2   LDN   4  GNLBUFF(3)          [SET UP START OF MESS. CHARS.
3CX6 ...      LDN   5  BUFFER(3)
3D8Y ...      LDCH  6  CHARS(3)            [LD. CT. NO. CHARS.  
3DGQ ...      SMO      6
3DSJ ...      MVCH  4  0                   [MOVE SOM.   
3F6B ...      LDN   4  1(1) 
3FD8 ...      SMO      0(1) 
3FQ2 ...      MVCH  4  0                   [MOVE MAIN MESSAGE REQUIRED  
3G3S ...      LDN   4  GNLBUFF(3)          [LD. END OF MESS. CHARS. 
3G*L ...      SMO      GNOCHS(3)
3GMD ...      MVCH  4  0                   [MOVE END OF MESS. CHARS.
3G^= ...      ADX   6  0(1)                [ADD. IN CT. OF MAIN MESSAGE 
3H?4 ...      ADX   6  GNOCHS(3)           [ADD. IN CT. OF EOM CHARS.   
3HJW ...      SLC   5  2
3HWN ...      SBN   5  2
3J8G ...      SRC   5  2                   [X5 POINT TO LAST BUT ONE CHAR   
3JG# ...      LDN   0  #10  
3JS6 ...      LDX   1  5
3K5Y ...      DCH   0  0(1)                [REPLACE EOM WITH CANCEL 
3KCQ ...      LDX   1  FX1                 [RESET X1=FX1 - TO BE SAFE.  
3KQ=          LDX   2  IDENTM(3)           [AMOP PTR
3L9W          LDX   5  GUNITNO(3)          [LINE NO 
3LPG          FINDLCA  ,5   
3M96          SLL   5  15   
3MNQ          DCA      ,STO,5,MODE  
3N8B          DLCA     1,DLA,6,COUNT
3NN2          LDN   4  BUFFER(3)
3P7L          DLCA     1,STO,4,CTSA 
3PM=          LDN   0  #11  
3Q6W          STO   0  GLASTM(3)           [JUST SEND NULL TO CHECK INOPER  
3QLG          DLCA     1,DLA,0,MODE 
3R66          LDN   4  GREP1(3) 
3RKQ          DLCA     1,STO,4,CREP 
3S5B          GLPERI
3SK2          LDX   0  JTIME
3T4L          STO   0  GTIM(3)  
3TJ=          LDCT  0  #400 
3W3W          ORS   0  GWAIT(3) 
3WHG          COOR1 
3X36          MHUNTW   3,AMXOR,ALCB 
3XGQ          LDX   0  GREP1(3) 
3Y2B          BXE   0  XMASK(1),UMARY      [J IF NOW OPERABLE   
3YG2    XINOP                              [STILL INOPERABLE
3Y^L          LDX   2  IDENTM(3)
3^F=          STOZ     A1+BPTR(3)   
3^YW          SMO      A1+FPTR(3)   
42DG          STOZ     BPTR                [GET UNIT NO 
42Y6          LGEOG    ,6   
43CQ          LDX   7  GUNITNO(3)   
43XB          OUTBLOCN 4                   [SET UP PARAMETER BLOCK. 
44C2          LDN   5  7                   [SET FUNNY   
44WL          DCH   5  JSOURCE1(2)         [PERIPHERAL TYPE 
45B=          GEOPACK  6,6,6
45TW          OUTPACKC 6,1,GEOPER   
46*G          BZE   7  UNIP                [J IF UNIPLEXOR: NO LINE NO. 
46T6          OUTNUM   7,0  
47#Q          INFORM   2,JINOP,1
47SB    RET   BRN      THERE
48#2    UNIP  INFORM   2,HUINOP,1   
48RL          BRN      RET  
49?=    #   
49QW    #   
4==G    #     THIS ROUTINE TRAPS MONOUTS OF AN ONLINE JOB FOR   
4=Q6    #     WHICH THE CONSOLE HAS GONE INOPERABLE. IT CHECKS IF   
4?9Q    #     READY OUTPUT; IF IT IS IT SETS A BIT FOR THE READY
4?PB    #     MACRO TO CHECK AND GOES UP. OTHERWISE IT JUST GOES UP.
4#92    #   
4#NL    #   
4#TS ...Z5MULTIPLX  
4*32 ...      MFREEALL AMXOR,IDATSG 
4*8=    Z4MULTIPLX  
4*MW    THERE   
4B7G    #SKI  ANOUSER<1$1   
4BM6    (   
4C6Q          LDX   0  JOBNO(2) 
4CLB          BZE   0  USER 
4D62    )   
4D*S ...XBRK
4DKL    #SKI           ANOUSER  
4F5= ...      NBREAKIN 2,16,XBREJ,XBOK  
4FJW    #SKI           ANOUSER<1$1  
4G4G          DOWN     PROCONTX,16  
4G## ...XBOK
4GJ6          READYON                      [SET MARK FOR READY TO CHECK 
4H3Q          HUNTW    3,AMXOR,AOUT 
4HHB          BNG   3  USER 
4J32          LDXC  0  AMOPTY(3)
4JGL          BCC      USER                [J IF NOT READY  
4K2=          FREECORE 3
4KFW    USER  UP
4KJF ...XBREJ   
4KK5 ...      LDCT  0  #1   
4KKP ...      ANDX  0  JOBEVENTS(2) 
4KL* ...      BNZ   0  XBOK 
4KM4 ...      LDXC  0  JOBEVENTS(2) 
4KPM ...      BCC      XBOK 
4KS= ...      STO   0  JOBEVENTS(2) 
4KWT ...      BRN      XBRK 
4K^G    #END
^^^^ ...50465567000500000000