PCTSTART867

(George Source)

Macros used: ACROSS, DERING, DOWN, EMPTY, ENRING, FINDCORE, FSHACTPR, FSHCODE, FSHKILL, GETCORE, HUNT2, HUNTACT, JOBCONS, LFBITSET, LGEOG, MENDAREA, NAMEX, SEGENTRY, SUICIDE

PCTSTART867.txt
22FL    #LIS  K0PCTSTART>K0PCT>K0ALLGEO>K0GREATGEO  
22^=    #SEG  PCTSTART8                    [G CONSTANTINIDES
2394 ...#      COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982   
23DW                   8HPCTSTART   
23YG    # ENTRY POINTS  
24D6          SEGENTRY K1PCTSTART,Z1PCTSTART
24XQ          MENDAREA APCTGAP,K99PCTSTART  
25CB    [   
25X2    [ THIS SEGMENT SETS UP ALL BUFFER BLOCKS ASSOCIATED WITH PCT ACTIVITIES 
26BL    [ IT THEN GOES ACROSS TO COMPRO (FOR A CPA) AND TO LISTEND (FOR ACTLF'S)
26W=    [   
27*W    #   
27TG    #   
28*6    #DEF  MINCLEAR=ACTBUFF>ATRBUFF>CIBUFF>CRBUFF-EWAIT  
28SQ    #   
29#B    XBLEN                              [TABLE OF BLOCK LENGTHS  
29S2    #   
2=?L                   +ALFBLOKLEN         [A7020/ALIST BLOCK (LINE PRINTER)
2=R=                   +CRBLOKLEN          [A7020/INPUT BLOCK (CARD READER) 
2?=W                   +ATWBLOKLEN         [A7020/CONSIN BLOCK  
2?QG                   +ATRBLOKLEN         [A7020/INPUT BLOCK (TAPE READER) 
2#=6                   +ALFBLOKLEN         [A7020/ALIST BLOCK (TAPE PUNCH)  
2#PQ    #   
2*9B    #   
2*P2    XBNAME                             [TABLE OF BLOCK TYPES
2B8L    #   
2BN=    #HAL           +A7020+ALIST,0   
2C7W    #HAL           +A7020+INPUT,0   
2CMG    #HAL           +A7020+CONSIN,0  
2D76    #HAL           +A7020+INPUT,0   
2DLQ    #HAL           +A7020+ALIST,0   
2F6B    #   
2FL2    #   
2G5L    WHICHSEG                           [BRANCH TABLE FOR DECIDING IF
2GK=    #                                  [WE CREATED AN ACTLF OR CPAT 
2H4W          BRN      XLFA1               [LP - LISTFILE ACTIVITY  
2HJG          BRN      XCPA1               [CR - CARD I/P CPA   
2J46          BRN      XCPA3               [TW - OPERATORS CPA  
2JHQ          BRN      XCPA2               [TR - TAPE I/P CPA   
2K3B          BRN      XLFA2               [TP - LISTFILE ACTIVITY  
2KH2    #   
2L2L    TYPBAS                 [TABLE OF BASIC PL TYPE ACCESSED BY 7020 TYPE.   
2LG=          2,3,63,0,1                   [LP,CR,TW,TR,TP  
2L^W    #   
2MFG    STX            #76220000
2M^6    XETX           #76007623
2NDQ    #   
2NYB    XCONTEXT       #00000222           [REMOTE, OPERATOR, NO USER   
2PD2    ZCONTEXT       #00020242           [REMOTE, NO BREAKIN, NO USER 
2PXL    #   
2QC=    Z1PCTSTART                         [ENTRY FOR SETTING UP THE PCT
2QWW                                       [BUFFER  
2RBG    #   
2RW6    [REMEMBER X4=DEVICE RECORD WORD(2ND) X5=IDENTIFIER WORD 
2S*Q    [JSOURCE1 = IDUNIQUE
2STB    #   
2T*2          LDX   6  JSOURCE1(2)  
2TSL          LDCH  0  6                   [L#  
2W#=          LDCT  3  #200 
2WRW          LDCH  7  4(3)                [X7 = INTERFACE NO.  
2X?G          ANDN  4  #77                 [X4=7020 TYPE
2XR6          SMO      4
2Y=Q          LDX   3  TYPBAS-1(1)         [X3 =BASIC TYPE  
2YQB          DCH   3  6                   [X6=AA/T#
2^=2          SRC   6  6                   [T#/AA/0 
2^PL          DCH   7  6                   [X6= T#/AA/INTERFACE NO. 
329=          STO   6  JSOURCE1(2)  
32NW          SLL   0  9                   [X0 = 0/L#/0 
338G          LDCT  3  #500 
33N6          ORX   3  0                   [X0=PCT/L#/0 
347Q          STO   3  JSOURCE2(2)  
34MB          SMO      4                   [ACCESS  
3572          LDX   6  XBLEN-1(1)          [BUFFER BLOCK LENGTH 
35LL          GETCORE  6,1,1,1,2           [GET THE BUFFER AT THE TOP OF CORE   
366=          FINDCORE 3                   [POINTER IN X3   
36KW          SMO      4                   [GET 
375G          LDX   0  XBNAME-1(1)         [AND 
37K6          NAMEX    3                   [NAME THE BUFFER 
384Q          EMPTY    FPTPCT(3)           [CLEAR THE PCT RING ELEMENTS 
38JB          STO   5  APCTID(3)           [SET IDENTIFIER  
3942          STOZ     EWAIT(3)            [CLEAR   
39HL          LDN   0  EWAIT(3)            [THE INDICATOR AREA  
3=3=          LDN   1  EWAIT+1(3)          [OF  
3=GW          MOVE  0  MINCLEAR            [THE BUFFER BLOCK
3?2G    NXTBK LDX   2  JOBRING+1(2)        [FIND
3?G6          SBN   2  JOBRING             [THE 
3?^Q          LDCH  0  ATYPE(2)            [PCT 
3#FB          SBN   0  AMOP/64             [ACTIVITY
3#^2          BNZ   0  NXTBK               [BLOCK   
3*DL          LGEOG    ,7   
3*Y=          HUNT2    2,A7020,INFORM      [FIND THE INFORMATION BLOCK  
3BCW ...#SKI JSKI17 
3BXG ...(   
3CC6 ...      LDEX  1  APCTID(3)
3CWQ ...      ADX   1  2
3DBB ...      ADN   1  FPTPCT   
3DW2 ...      LDX   6  APCTID(3)
3F*L ...      ANDX  6  HALFTOP  
3FT= ...      LDX   0  6
3Q68 ...      ANDX  0  APCTSTAT-FPTPCT(1)   
3Q6= ...      BZE   0  NSPL 
3Q6# ...      LDN   0  4
3Q6B ...      SRC   6  6
3Q6D ...      ANDX  6  APCTSTAT-FPTPCT(1)   
3Q6G ...      BZE   6  STBTS
3Q6J ...      ADN   0  2
3Q6L ...STBTS ORS   0  EWAIT(3) 
3Q6N ...NSPL
3Q6Q ...)   
3Q78 ...      LDX   6  2                   [REMEMBER INFORMATION BLOCK POINTER  
3Q7L ...      ENRING   FPTPCT(3),BPTPCT(2) [RING IN THE BUFFER BLOCK AT THE END 
3Q84 ...                                   [OF THE PCT RING 
3Q8G ...      DEX   7  JSOURCE2(2)  
3Q8Y ...      LDN   1  JOBRING(2)          [UNRING  
3Q9B ...      DERING   1                   [THE ACTIVITY
3Q9S ...      EMPTY    JOBRING(2)          [FROM THE TEMPORARY RING 
3Q== ...      SMO      4                   [NOW 
3Q=N ...      BRN      WHICHSEG-1          [SPLIT FOR CPA OR ACTLF  
3Q?6 ...#   
3Q?J ...#   
3Q#2 ...XLFA1 LDN   4  #7635               [INSERT C/R INTO ETX BUFFER. 
3Q#D ...      BRN      XLFA 
3Q#W ...XLFA2 LDN   4  #7620               [INSERT NULL INTO ETX BUFFER 
3Q*# ...XLFA  LDN   6  ALFBUFFNUM-1 
3Q*Q ...      LDX   5  XETX(1)  
3QB8 ...      ADX   4  STX(1)              [SET UP BUFFER FOR SENDING DC3 & ETX 
3QBL ...      LDN   0  ALFBUFFNUM-1*32  
3QC4 ...      STO   5  ETXBUFF+1(3) 
3QCG ...      STO   4  ETXBUFF(3)   
3QCY ...XLFB  SMO      6                   [SET THE RELATIVE BUFFER POINTERS.   
3QDB ...      STO   0  INTLK(3) 
3QDS ...      SBN   0  32   
3QF= ...      BCT   6  XLFB 
3QFN ...      LDN   1  FPTPCT(3)
3QG6 ...      LDEX  5  APCTID(3)
3QGJ ...XK1   LDX   1  FPCT(1)  
3QH2 ...      LDXC  0  APCTID-FPTPCT(1) 
3QHD ...      BCC      XK1  
3QHW ...      SMO      5
3QJ# ...      LDX   6  APCTSTAT-FPTPCT(1)   
3QJQ ...      ANDN  6  1
3QK8 ...      ORS   6  EWAIT(3)          [1901A RJE 
3QK= ...      FSHCODE  B,SNOPRA1
3QK# ...(   
3QKB ...      LFBITSET A,2  
3QKD ...      FSHACTPR  
3QKG ...SNOPRA1 
3QKJ ...)   
3QKL ...      JOBCONS  YBRKN               [FIND THE CLUSTER CONSOLE
3QTW ...      ACROSS   PCTLISTB,1          [GO TO OUTPUT LINE OF ASTERISKS. 
3R66    #   
3RKQ    XCPA1 LDN   4  CRBUFFNUM           [NO OF CR BUFFERS
3S5B          BRN      XCPA 
3SK2    XCPA2 LDN   4  ATRBUFFNUM          [NO OF TR BUFFERS
3T4L    XCPA  LDCT  0  #200                [SET THE "READ SINGLESHOT" MARKER
3TJ=          STO   4  FREBUFF(3)          [SET THE NUMBER OF FREE BUFFERS  
3W3W          STO   0  EWAIT(3) 
3WHG          STO   4  BUFFNUM(3)          [SAVE THE NUMBER OF BUFFERS  
3X36          LDX   0  ZCONTEXT(1)         [SET CARD/TAPE READER
3XGQ          STO   0  CONTEXT(2)          [CONTEXT 
3Y2B          LDN   0  #61                 [SET THE MONITORING  
3YG2          STO   0  AMXMSK(2)           [FILE MASK   
3Y^L          LDX   2  6                   [POINTER TO INFORMATION BLOCK
3^F=          SRL   56 12                  [INSERT  
3^YW          SRL   6  12                  [THE 
42DG          SMO      6                   [FLIP
42Y6          ORS   5  APCTD(2)            [BIT 
43CQ          HUNTACT  AMOP,2              [FIND, AND WAKE UP, THE PCT ACTIVITY.
43XB          LONGCLEA 2,#62,XWAIT  
44C2 ...XWAIT ACROSS   COMPROA,1            [NOW SET IT GOING PROPERLY. 
44WL    #   
45B=    XCPA3 LDX   0  XCONTEXT(1)         [SET REMOTE/NO-USER/OPERATOR 
45TW          STO   0  CONTEXT(2)          [CONTEXT 
46*G          LDN   0  #61                 [SET THE 
46T6          STO   0  AMXMSK(2)           [MONITORING FILE MASK
47#Q          ACROSS   READOPLN,1          [GET THE COMMAND LINE
47SB    #   
48#2    YBRKN                              [BREAK-IN(MOP OFF)   
48RL          DOWN     PCTDIS,1            [RELEASE PERIPHERAL  
48W9 ...      FSHCODE  B,SNOKILLA   
48YS ...(   
493C ...      FSHKILL   
4962 ...SNOKILLA
498K ...)   
49?=          SUICIDE   
49QW    #   
4==G    #END
^^^^ ...70502062000100000000