MOPPM84

(George Source)

Macros used: BXE, BXGE, BXL, BXU, COORDINATE, DCA, DLCA, FINDLCA, FINDPEREC, FIXTRA, GLPERI, JLUNBUSY, JWRONG, LGEOG, LNLI, OUTMOP, PMCORES, READB, SEG, SEGENTRY, SUICIDE

MOPPM84.txt
22FL ...      SEG      MOPPM,,PHIL. TURNER  
23YG    #LIS  K0MOPPM>K0POST>K0ALLGEO   
248# ...      SEGENTRY K1MOPPM,Z1MOPPM  
24D6    #   
24XQ    #   
25CB    #DEF  PMERRCNT=5
25X2    #   
26BL    #   
2*P2    XCACT          +GENERAL/8:0 
2B8L    XHALFTOP       #77770000
2BN=    XMIN1          -1   
2C7W    SIGN           #40000000
2CMG    WORKWORD       0
2D76    XFX2           0                   [POINTER TO CURRENT ACTIVITY.
2DLQ    YFX2           0                   [POINTER TO LAST ACTIVE ACTIVITY.
2F6B    PCTTWMASK      #40404040           [DEFAULT FOR TW OUTPUT IS INTERFACE 4
2FL2    PCTADDRESS     #7420,#7430,#7400,#7410,#7440,#7450  
2G5L                   #7460,#7470,#7540,#7550,#7560,#7570  
2GK=    #   
2H4W    PINFORM 
2HJG    #HAL           A7020+INFORM,0   
2J46    MLIN
2JHQ    #HAL           AMXOR+ALINES,0   
2K3B    TENSECONDS     10*K9/1000          [TEN SECONDS.
2KH2    ONEDAY         3600*24/K9*1000  
2KSB ...      FIXTRA K50MOPPM   
2L5Q ...X50MP          +1*60*1000/K9        [CRUNCHTIME FOR EACH TRANSFER.  
2LC6 ...      FIXTRA K51MOPPM   
2LNG ...X51MP          +2*60*1000/K9        [CRUNCHTIME FOR WHOLE PM. ROUTINE.  
2L^W    MODEX          #40004   
2MFG    TOTALTIME      0
2M^6    XALPHA         #74  
2NDQ    XDELMAX        #40  
2NR7 ...#DEF  TABLELIMIT=ENDFIX 
2P5J ...YAMOP       +ADMULTACT-ADMP 
2PD2    #   
2PXL    OUTMOP         54H^3^*^-^*^ THE SYSTEM HAS TEMPORARILY CLOSED DOWN^*^-^8
2QC=    OUTPCT         52H^"^*^*^ THE SYSTEM HAS TEMPORARILY CLOSED DOWN^,^4^#  
2QWW    OUTCAN         16H^"  CANCEL^*^4^# [STX   CANCEL N/L DC4 ETX
2RBG    OUTENQ         #76247000,#76250000 [EOT (ADDRESS) ENQ   
2RW6    OUTLP          #76227634           [STX.FORMFEED   )MUST BE 
2S*Q    OUTEND         #76047623           [DC4 ETX        )IN THIS 
2STB    OUTTP          #76227673,#76737673 [STX DEL DEL DEL)ORDER.  
2T*2    #   
2TSL    #DEF  OUTTPX=OUTTP+31              [TP OUTPUT BUFFER = 32 WORDS (128CH.)
2W#=    #DEF  PCTDUSTBIN=OUTTPX+1          [OVERWRITE K1MOPPM WHEN FINISHED WITH
2WRW    #   
2X?G    #   
2XR6    Z1MOPPM 
2Y7L ...      LDX   3  FXPM1
2YJ6 ...      LDX   2  3
2YYL ...PM1   LDX   1  YAMOP(2) 
2^*6 ...PM1A   LDX   1  ADMP(1)             [GET NEXT MOP ACTIVITY. 
2^PL ...      BZE   1  START               [J. IF END OF LIST.  
3266 ...      PMCORES  1,START  
32GL ...      LDX   6  CPPTR(1) 
32X6 ...      PMCORES  6,PM1A   
33?L ...      STO   1  YAMOP(2) 
33N6          LGEOG    6,7  
347Q          FINDPEREC 1,APGEOG,7  
34MB          BXU   1  6,PM1               [J. UNLESS CPPTR POINTS TO DEV. LIST 
3572 ...      LDX   1  YAMOP(2) 
35LL    PM3   LDX   1  FPTR(1)  
366=          PMCORES  1,PM1
36KW          LDX   0  ATYPE(1) 
375G          BXGE  0  CACT,PM1            [J. IF NO ALINES BLOCK   
37K6 ...      SBX   0  MLIN(2)  
384Q          BNZ   0  PM3  
38JB          LNLI     6,7  
3942          SLL   7  2
39HL ...      STO   1  TOTALTIME(2)           [USE AS TEMPORARY DUMP.   
3=3=    PM4   ADX   1  7
3=GW          LDEX  0  A1+FOURTHWD(1)   
3?2G          LDCH  5  A1+FOURTHWD(1)   
3?G6          LDX   1  A1+BPTR(1)   
3?^Q          ERN   0  CONSMACH            [J. IF NOT MOP CONSOLE.  
3#FB          BNZ   0  PM11 
3#^2          ANDN  5  #20                 [J. IF NOT RINGED & NOT ATTACHED.
3*DL          ORX   5  1
3*Y=          BZE   5  PM10 
3BCW ...      LDN   4  MOPLEN-1(3)           [J. OUT IF NOT ENOUGH CORE LEFT.   
3BXG          BXGE  4  TABLELIMIT,START 
3CC6 ...      LDN   0  MOP(2)                 [LINK FOR MOP CONSOLE.
3CWQ    PM5   SRC   7  11                  [LINE NO.: 0 
3DBB ...      SBN   4  TABLE-1               [RELATIVE PTR. TO NEXT TABLE ENTRY.
3DW2          STO   7  XLINE(3) 
3F*L          STO   6  XDEV(3)             [DEVICE LIST POINTER.
3FT=          STO   4  XFPTR(3) 
3G#W ...      STO   3  YFX2(2)                [REMEMBER CURRENT ENTRY ADDRESS.  
3GSG          STO   0  XLINK(3) 
3H#6          SLC   7  9                   [LINE NUMBER.
3HRQ          FINDLCA  6,7  
3J?B          STO   1  X3(3)               [SAVE LCA ADDRESS.   
3JR2          LDX   3  4
3K=L          SLL   7  2
3KQ=    PM10  BZE   7  PM1                 [J. IF UNIPLEXER 
3L9W          SBN   7  4
3LPG          BZE   7  PM1                 [J. IF ALL LINES DEALT WITH  
3M96 ...      LDX   1  TOTALTIME(2) 
3MNQ          BRN      PM4  
3N8B    PM11  ERN   0  APCTMACH$CONSMACH   [J. IF NOT 7020. 
3NN2          BNZ   0  PM10 
3P7L ...      LDN   4  PCTLEN-1(3)           [J. IF NOT ENOUGH ROOM FOR 7020 ENT
3PM=          BXGE  4  TABLELIMIT,PM10  
3Q6W ...      LDX   0  PCTTWMASK(2)           [DEFAULT FOR TW IS INTERFACE 4
3QLG          STO   0  XOPMASK(3)          [ON ALL DROPS.   
3R66          STO   0  XOPMASK+1(3) 
3RKQ          STO   0  XOPMASK+2(3) 
3S5B ...      LDX   0  OUTENQ(2)              [SET UP ENQ BUFFER FOR POLL & SELE
3SK2          STO   0  XENQ(3)  
3T4L ...      LDX   0  OUTENQ+1(2)  
3TJ=          STO   0  XENQ+1(3)
3W3W          STOZ     XDROPPTR(3)         [START POLLING AT ADDRESS 0. 
3WHG          LDX   0  JTIME               [REMEMBER CURRENT TIME.  
3X36          STO   0  XTIME(3) 
3XGQ ...      LDN   0  NEXTDROP(2)            [LINK FOR PCT WHEN NO INTERFACE SE
3Y2B          BZE   1  PM5                 [J. IF NOT RINGED.   
3Y=8 ...      SRC   5  6
3YG2          BNG   5  PM5                 [J. IF RINGED BUT ATTACHED (ONLINE). 
3Y^L          SBN   1  A1                  [PTR. TO LCB.
3^F=          PMCORES  1,PM5               [J. IF NOT   
3^YW          LDEX  0  GENQ1(1)            [GET LAST ENQ ADDRESS SENT.  
42DG ...      ORX   0  OUTENQ(2)
42Y6          BXU   0  GENQ1(1),PM12       [J. IF DOESN'T LOOK VALID
43CQ          DEX   0  XENQ(3)             [OTHERWISE SAVE IT.  
43XB          LDX   0  GTIM(1)             [SAVE TIME PERI WAS INITIATED.   
44C2          BNG   0  PM12                [IF STILL (POSSIBLY) ACTIVE. 
44WL          STO   0  XTIME(3) 
45B=    PM12  LDX   1  BPTR(1)  
45TW          PMCORES  1,PM18              [J. IF CAN'T FIND INFORM BLOCK.  
46*G          LDX   0  ATYPE(1) 
46T6 ...      BXGE  0  XCACT(2),PM18
47#Q ...      SBX   0  PINFORM(2)   
47SB          BNZ   0  PM12 
48#2          LDN   4  APCTRLEN            [CHECK INFORM BLOCK LOOKS OK.
48RL          LDN   5  APCTSTAT-A1+1       [I.E. ALOGL CORRESPONDS TO NO. OF
49?=          MPA   4  APCTNUM(1)          [DROPS RECORDED IN APCTNUM, & LAST   
49QW          BXU   5  ALOGLEN(1),PM17     [ENTRY = -1. 
4==G          PMCORES  5,PM17   
4=Q6          SMO      5
4?9Q          NGX   0  A1-1(1)  
4?PB          BCT   0  PM17 
4#92          LDX   5  APCTNUM(1)          [LOOK THROUGH EACH DEFINED DROP. 
4#NL ...      STO   3  WORKWORD(2)  
4*8=    PM13  LDCH  4  APCTX(1)            [J. UNLESS CONSOLE OUTPUT INTERFACE  
4*MW          ERN   4  #10                 [IS NO. 2.   
4B7G          BNZ   4  PM16 
4BM6          LDX   0  APCTHADD(1)         [IS SO FIND TERMINAL ADDRESS NO. 
4C6Q          LDN   3  12   
4CLB    PM14  BXE   0  PCTADDRESS-1(3),PM15 
4D62          BCT   3  PM14 
4DKL          BRN      PM16                [IF POSSIBLE 
4F5=    PM15  SBN   3  1                   [AND OVERWRITE DEFAULT SETTING.  
4FJW          LDN   4  #10  
4G4G          SRC   3  2
4GJ6 ...      SMO      WORKWORD(2)  
4H3Q          DCH   0  XOPMASK(3)   
4HHB    PM16  ADN   1  APCTRLEN 
4J32          BCT   5  PM13                [J. FOR NEXT DROP.   
4JGL ...      LDX   3  WORKWORD(2)  
4K2= ...PM17  LDN   4  PCTLEN-1(3)           [RESET POINTER 
4KFW ...PM18  LDN   0  PCTACTIVE(2)           [AND LINK FOR STORING.
4K^G          BRN      PM5  
4LF6    #   
4LQG ...START TXU   3  FXPM1
4M3W ...      BCC      PMDIS
4M*= ...      LDX   1  FXPM1
4MLL ...      LDX   0  OUTEND(1)              [SET UP TP OUTPUT BUFFER. 
4N36 ...      LDX   2  FXPM1
4NCL          LDX   4  JTIME               [SET START TIME. 
4NX= ...      LDN   6  OUTTP+1(1)   
4PBW ...      LDN   7  OUTTP+2(1)   
4PWG ...      STO   0  OUTTPX(1)
4QB6          MOVE  6  29   
4QTQ ...      SMO      YFX2(1)                [COMPLETE ACTIVITY LIST.  
4R*B ...      STO   2  XFPTR
4RT2 ...      STO   4  TOTALTIME(1) 
4S#L          BRN      XC3                 [ENTER THE TIME SHARER.  
4SS=    #   
4T?W ...#SKI  0?-PCTDUSTBIN-32&#40000000[PCTDUSTBIN - OVERWRITES K1MOPPM
4TRG ...#GAP  PCTDUSTBIN+32-0?       [IF WE HAVE TO READ IN ANY GASH BLOCK  
4W?6    #   
4WQQ    PMDIS LDN   1  2
4X=B    PMDS1 LDN   7  9(1) 
4XQ2          FINDPEREC 2,APFOTY,7,PMDS2
4Y9L          BNG   2  PMDS3
4YP=          JWRONG   2,PMDS2             [J. IF WRONGED.  
4^8W          DISENGPE 2                   [DIS EXTRACODE: CLEARS EVERYTHING UP.
4^NG          BRN      PMDS2
5286    PMDS3 BCT   1  PMDS1
52MQ ...      BRN      (JPMSEG) 
537B    #   
53M2    #   
546L    MODE40004   
54BD ...      SMO      FXPM1
54L=          LDX   1  MODEX
555W          BRN      MD1                     [CANCEL  
55KG    MODE4 LDN   1  4                       [SUPER CANCEL
5656    MD1   ADX   1  XLINE(2) 
574B          DCA      XDEV(2),STO,1,MODE   
57#8 ...      LDX   1  0
57J2          GLPERI   XDEV(2)             [ISSUE CANCEL PERI.  
583L ...      BRN      (1)          [EXIT.  
58H=    #   
592W    OUTPUT                             [SET UP & ISSUE WRITE PERI.  
59GG          DLCA     3,DLA,0,COUNT       [X0=COUNT, X5=BUFFER START ADDRESS,  
5=26          DLCA     3,STO,1,CTSA        [X7=LINK.
5=FQ          LDN   0  #11  
5=^B          DLCA     3,DLA,0,MODE 
5?F2          BRN      PERI 
5?YL    #   
5#D=    OUTIN DLCA     3,DLA,0,MODE        [SET UP & ISSUE WRITE/READ PERI. 
5#XW          DLCA     3,DLA,1,COUNT       [X0=WRITE MODE, X1=COUNT, X5=OUTPUT  
5*CG          DLCA     3,STO,5,CTSA        [BUFFER START ADDRESS, X7=LINK.  
5*X6          LDN   0  XSTATUS(2)   
5BBQ          LDN   1  2
5BWB          LDN   5  80   
5CB2    #   
5CTL    READB DLCA     3,STO,0,CTSA2       [FINISH SETTING UP & ISSUE DOUBLE PER
5D*=          DLCA     3,DLA,1,MODE2       [X0=START ADDRESS FOR 2ND. TRANSFER, 
5DSW          DLCA     3,DLA,5,COUNT2      [X1=MODE FOR 2ND. TRANSFER, X5=COUNT,
5F#G          LDN   0  XREP2(2)            [X7=LINK.
5FS6          DLCA     3,STO,0,CREP2
5G?Q    #   
5GRB    PERI  LDN   0  XREP1(2) 
5H?2          DLCA     3,STO,0,CREP 
5HQL          LDX   0  XLINE(2) 
5J==          DCA      XDEV(2),STO,0,MODE   
5JPW          GLPERI   XDEV(2)  
5K9G    #   
5KP6          LDX   0  JTIME               [REMEMBER WHEN TRANSFER(S) INITIATED.
5L8Q          STO   0  XTIME(2) 
5LNB    WAIT  COORDINATE                   [LET OTHER ACTIVITIES HAVE A GO. 
5M82    #   
5MML          LDXC  1  XREP1(2)            [J. UNLESS (1ST.) TRANSFER FINISHED. 
5N7=          BCS      WAITCHECK
5NLW          ADXC  1  1                   [J. IF TIMED-OUT,
5P6G          BCS      SCRUB
5PL6          SLC   1  4                   [OR INOPERABLE   
5Q5Q          BPZ   1  SCRUB
5QKB          ANDN  1  3
5R52          EXIT  6  0
5RJL    #   
5S4=    WAITCHECK   
5SHW          CALL  1  TIMECHECK           [CHECK WHETHER TRANSFER HAS LASTED   
5T3G          BRN      WAIT                [FOR TOO LONG - J. IF NOT.   
5TH6    #   
5W2Q    SCRUB JLUNBUSY 3,(7)               [OTHERWISE EXIT IF LINE IDLE,
5WGB          CALL  0  MODE4               [OTHERWISE CRUNCH ANY TRANSFERS STILL
5X22          EXIT  7  0                   [OUTSTANDING THEN EXIT.  
5XFL    #   
5X^=    READWAIT
5YDW          LDXC  0  XREP2(2)            [J. IF READ STILL BUSY.  
5YYG          BCS      WAITCHECK
5^D6          ADXC  0  0                   [J. IF TIMED-OUT,
5^XQ          BCS      (7)  
62CB          SLC   0  4                   [OR INOPERABLE.  
62X2          BPZ   0  (7)  
63BL          ANDN  0  3
63W=          SRC   0  1                   [J. IF READ IMPLEMENTED. 
64*W          BPZ   0  (5)  
64TG          EXIT  5  1                   [2ND. TRANSFER NOT IMPLEMENTED.  
65*6    #   
65SQ    TIMECHECK                          [CHECK WHETHER LINE HAS BEEN BUSY
66#B          LDX   0  JTIME               [FOR TOO LONG. X1=LINK.  
66S2          SBX   0  XTIME(2) 
67?L          BPZ   0  TODAY               [J. UNLESS WRAPPED ROUND THROUGH 
67HD ...      SMO      FXPM1
67R=          ADX   0  ONEDAY              [MIDNIGHT.   
685M ...TODAY SMO      FXPM1
68D4 ...      SBXC  0  K50MOPPM            [J. IF STILL O.K.
68QG          BCS      (1)  
69=6          EXIT  1  1                   [HAVE TO CRUNCH TRANSFER(S). 
69PQ    #   
6=9B    SENDENQ                            [POLL, SELECT OR SEND DATA. X7=LINK, 
6=P2          CALL  6  OUTIN               [X0=WRITE MODE, X1=COUNT, X5=OUTPUT  
6?8L          BZE   1  NERR1               [BUFFER START ADDRESS.   
6?N=          CALL  0  MODE40004           [EXIT 0 IF TIMED-OUT OR INOPERABLE,  
6#7W    NERR1 CALL  5  READWAIT            [EXIT 1 IF WRITE FAILED &/OR READ WAS
6#MG          BRN      NERR2               [NOT IMPLEMENTED, OR NO CHARS. READ I
6*76    XIT71 EXIT  7  1                   [OTHERWISE EXIT 2, WITH ERROR BIT
6*LQ    NERR2 LDEX  5  XREP2(2)            [IN B23 OF X0.   
6B6B          SBNC  5  80   
6BL2          BCC      XIT71
6C5L          EXIT  7  2
6CK=    #   
6D4W    READGASH                           [READ BLOCKS FROM SOURCE INTERFACE.  
6DJG          LDN   4  PMERRCNT            [X7=LINK, EXIT WHEN TIMED-OUT, INOPER
6F46    READ1 LDN   0  XSTATUS(2)          [(INCL. MULTIPLE ERRORS), OR EOT SEEN
6FHQ          LDN   1  #42  
6G3B          LDN   5  80   
6GH2          DLCA     3,STO,0,CTSA        [SET UP 1ST. PART OF DOUBLE READ.
6H2L          DLCA     3,DLA,1,MODE        [READ WITH "WARNING".
6HG=          DLCA     3,DLA,5,COUNT
6HQ4 ...      SMO      FXPM1
6H^W          LDN   0  PCTDUSTBIN   
6JFG          LDN   1  #22  
6J^6          LDN   5  128  
6KDQ          CALL  6  READB
6KYB          CALL  5  READWAIT            [WAIT FOR 2ND. PART TO FINISH.   
6LD2          BRN      READ2               [LONG BLOCK - J. TO CHECK FOR ERROR. 
6LXL          BNZ   1  READ3               [SHORT BLOCK - J. IF ERROR OR NOT IMP
6MC=          LDX   0  XSTATUS(2)          [GET 1ST. 2 CHARS. READ IN.  
6MWW          SRL   0  12   
6NBG          SBN   0  #7624               [READ AGAIN UNLESS EOT RECEIVED. 
6NW6          BNZ   0  READGASH 
6P*Q          EXIT  7  0
6PTB    #   
6Q*2    READ2 ANDN  0  1                   [J. TO READ ANOTHER BLOCK
6QSL          BZE   0  READGASH            [UNLESS ERROR SEEN.  
6R#=    READ3 BCT   4  READ1               [DO WE HAVE ANOTHER GO?  
6RRW          EXIT  7  0                   [NO - GIVE UP.   
6S?G    #   
6SR6    TERMSTATUS                         [DECODE STATUS REPLY TO POLL OR SELEC
6T=Q          LDX   1  2
6TQB          LDCH  5  XSTATUS(2)   
6W28 ...      SMO      FXPM1
6W=2          BXL   5  XALPHA,STAT1        [J. IF ALPHA TO SET UP ALPHA PAIR
6WPL          SLL   5  6                   [OTHERWISE USE 1ST. 2 CHARS IN BUFFER
6X9=          BCHX  1  STAT2
6XNW    STAT1 LDN   5  #7400
6Y8G    STAT2 LDCH  6  XSTATUS(1)   
6YN6          ORX   5  6
6^7Q          LDX   6  XENQ(2)             [CHECK AGAINST ADDRESS SENT IN ENQ.  
6^MB          ANDN  6  -1   
7272          BXU   5  6,(7)               [EXIT 7 0 IF WRONG ADDRESS.  
72LL          BCHX  1  £
736=          SRL   6  6                   [SAVE SHIFT. 
73KW          LDCH  5  XSTATUS(1)          [GET 1ST. STATUS CHARACTER.  
745G          ADN   7  1                   [STEP LINK ON BY 1.  
74*# ...      SMO      FXPM1
74K6          BXL   5  XALPHA,STAT5        [J. IF NO CHANGE IN SHIFT.   
754Q          LDX   6  5                   [SAVE NEW SHIFT. 
75JB          BCHX  1  STAT5               [J. TO GET 2ND. STATUS CHARACTER.
7642    #   
76HL    PRIPHSTATUS                        [DECODE STATUS REPLY IN DATA PHASE.  
773=          LDEX  1  XREP2(2)            [GET STATUS READ REPLY COUNT.
77GW          SBN   1  79                  [GET POINTER TO LAST 2 CHARS. READ IN
782G          BNG   1  STAT4               [J. UNLESS ONLY 1.   
78G6          LDCH  5  XSTATUS(2)          [MUST BE ALPHA.  
78^Q    STAT3 SBN   5  #40                 [CONVERT ALPHA SHIFT STATUS CHAR.
79FB          EXIT  7  0
79RR ...STAT4 SMO      FXPM1
7=68 ...      ERX   1  XMIN1
7=DL          SRC   1  2
7=Y=          ADX   1  2
7?CW          LDCH  6  XSTATUS(1)          [GET PENULTIMATE CHAR. - MAY BE SHIFT
7?XG          BCHX  1  STAT5               [IF NOT THEN DEFAULT GIVES ALPHA ANYH
7#C6    #   
7#WQ    STAT5 LDCH  5  XSTATUS(1)          [GET LAST CHAR - GIVES ACTUAL STATUS.
7*BB          SBNC  6  #75                 [J. IF ALPHA SHIFT.  
7*W2          BCS      STAT3
7B*L          BZE   6  (7)                 [J. IF BETA SHIFT - DO NO CONVERSION.
7BT=          SBN   5  #30                 [MUST BE DELTA SHIFT : CONVERSION
7C54 ...      SMO      FXPM1
7C#W          BXL   5  XDELMAX,(7)         [RULE SAY SUBTRACT #30 IF < #70  
7CSG          ADN   5  #34                 [ADD 4 OTHERWISE.
7D#6          EXIT  7  0
7DRQ    #   
7F?B    #   
7FR2    MOP   JLUNBUSY 3,MOP1   
7G=L          CALL  0  MODE4               [BASH IT IF BUSY 
7GQ=    MOP1  LDN   4  PMERRCNT 
7H9W    MOP2  LDN   0  55                  [SEND VALEDICTION.   
7HFN ...      SMO      FXPM1
7HPG          LDN   1  OUTMOP   
7H^# ...      SMO      FXPM1
7J96          LDN   7  SUICIDE             [LINK TO SUICIDE IF INOPERABLE.  
7JNQ          CALL  6  OUTPUT   
7K8B          BZE   1  SUICIDE             [J. IF IMPLEMENTED & NOT ERRORED: END
7KN2          BCT   4  MOP2                [J. TO REPEAT TRANSFER   
7L7L    SUICIDE                             [ACTIVITY FINISHED  
7LJL ...      LDX   1  FXPM1
7L^L ...      SMO      XFX2(1)                [J. TO END IF THIS WAS THE
7MBL ...      LDX   2  XFPTR               [LAST ACTIVITY,  
7MRL ...      BXE   2  XFX2(1),PMDIS
7N8L ...      SMO      YFX2(1)                [OTHERWISE JUST EXCLUDE THIS  
7NKQ          STO   2  XFPTR               [ACTIVITY FROM THE ACTIVITY LIST.
7P5B          BRN      XC1                 [RE-ENTER THE TIME SHARER.   
7PK2    XCOOR                              [CO-ORDINATOR
7PXC ...      LDX   1  FXPM1
7Q9S ...      LDX   2  XFX2(1)  
7QJ=          STO   0  XLINK(2)            [DUMP LINK.  
7R3W ...      STO   2  YFX2(1)                [REMEMBER THIS AS LAST ACTIVE ACTI
7RHG          LDN   0  3                   [AND X3-X7   
7S36          LDN   1  X3(2)
7SGQ          MOVE  0  5
7T2B          LDX   2  XFPTR(2)            [MOVE ON TO THE NEXT ACTIVITY ON LIST
7T=8 ...      LDX   1  FXPM1
7TG2    XC1   LDX   0  JTIME
7T^L ...      SBX   0  TOTALTIME(1) 
7WF=          BPZ   0  XC2  
7WYW ...      ADX   0  ONEDAY(1)
7XDG ...XC2   SBX   0  K51MOPPM(1)  
7XY6          BPZ   0  PMDIS               [J. IF 2 MINUTES HAVE ELAPSED
7YCQ ...XC3   STO   2  XFX2(1)  
7YXB          LDN   0  X3(2)
7^C2          LDN   1  3
7^WL          MOVE  0  5                   [RESTORE X3-X7   
82B=          LDX   0  XLINK(2) 
82TW          EXIT  0  0                   [JUMP TO LINK
83*G    #   
83T6    #   
84#Q    PCT0  COORDINATE
84SB    PCTACTIVE                          [ENTRY IF TERMINAL IS ACTIVE 
85#2          JLUNBUSY 3,PCT1              [J. IF NO BUSY TRANSFERS.
85RL          CALL  1  TIMECHECK           [WAIT FOR TRANSFER(S) TO FINISH. 
86?=          BRN      PCT0 
86QW          CALL  0  MODE4               [UNTERMINATED - SCRUB IT.
87=G          BRN      NEXTDROP            [J. TO POLL. 
87Q6    PCT1  LDX   6  XENQ(2)             [GET LAST ADDRESS SENT OUT.  
889Q          ANDN  6  7
88PB          BZE   6  NEXTDROP            [IF ZERO MUST HAVE BEEN POLL - QUIESC
8992          ANDN  6  1
89NL          BZE   6  SENDING             [IF EVEN MUST HAVE BEEN DOING OUTPUT,
8=8=    #                                  [OTHERWISE INPUT IS SELECTED.
8=D4 ...      LDX   1  FXPM1
8=MW          LDX   4  JTIME               [SET XTIME SO THAT WE WAIT FOR   
8?7G ...      ADX   4  K50MOPPM(1)            [AT MOST 10 SECS. TO SEE WHETHER  
8?M6 ...      SBX   4  TENSECONDS(1)          [TERMINAL IS SHOWING SIGNS OF 
8#6Q ...      BXL   4  ONEDAY(1),SAMEDAY      [ACTIVITY.
8#LB ...      SBX   4  ONEDAY(1)
8*62    SAMEDAY 
8*KL          STO   4  XTIME(2) 
8B5=    TESTACTIVE                         [THESE CHECKS WILL ONLY CURRENTLY
8BJW          LDCT  0  #200                [WORK ON WEST GORTON EXECUTIVES. 
8C4G          DLCA     3,ANDX,0,FLAG       [J. IF TIMED-OUT MARKER SET. 
8CJ6          BNZ   0  TWINCHECK
8D3Q          LDN   6  #140                [J. IF LOST INPUT, OR READ REQUEST SE
8DHB          DLCA     3,ANDX,6,FLAG
8F32          BNZ   6  READING  
8FGL          CALL  1  TIMECHECK           [CHECK WHETHER TO GIVE UP.   
8G2=          BRN      STILLINACT          [J. TO WAIT A LITTLE LONGER. 
8GFW          BRN      TWINCHECK           [GIVE UP AND POLL: EOT ALREADY RECEIV
8G^G    STILLINACT  
8H?X ...      LDX   1  FXPM1
8HL# ...      COORDINATE TESTACTIVE(1)        [WAIT & J.
8HYQ    READING                            [SOURCE INTERFACE SELECTED & SENDING.
8JDB          CALL  7  READGASH            [READ DATA UNTILL EOT IS SEEN.   
8JY2    TWINCHECK   
8KCL          LDX   4  XENQ(2)             [J. IF INTERFACE 5 (*TR) WAS SELECTED
8KX=          ANDN  4  4
8LBW          BNZ   4  NEXTDROP 
8LWG          LDX   7  XENQ(2)             [CONVERT TERMINAL ADDRESS (IN RANGE  
8MB6          LDX   1  XENQ(2)             [#7400 TO #7570) TO TERMINAL NUMBER  
8MTQ          ANDN  7  #140                [(IN RANGE 1 TO 12) MINUS 1. 
8N*B          ANDN  1  #170 
8NT2          BNZ   7  NLE4 
8P#L          ERN   1  #20  
8PS=    NLE4  ANDN  7  #100 
8Q?W          SRC   1  5
8QRG          BZE   7  NGE9 
8R?6          ERN   1  1
8RQQ    NGE9  SMO      2                   [GET TW OUTPUT MASK FOR THIS TERMINAL
8S=B          LDCH  0  XOPMASK(1)   
8SQ2          LDX   4  XENQ(2)             [SET UP INTERFACE BIT MASK FOR "PAIR"
8T9L          LDN   5  #40                 [OF SOURCE WHICH IS SELECTED.
8TP=          ANDN  4  2                   [TW INPUT INTERFACE IS 1 OR 3
8W8W          BNZ   4  TWIS4               [J. IF INTERFACE 3 SELECTED. 
8WNG          LDN   5  #10                 [INTERFACE 1 SELECTED.   
8X86    TWIS4 ANDX  5  0                   [IF NON ZERO THEN TW INPUT MUST HAVE 
8XMQ          BZE   5  NEXTDROP            [BEEN SELECTED   
8Y7B          SRL   5  1                   [SO SET MARKER SO WE OUTPUT "CANCEL".
8YM2          ORX   0  5
8^6L          BRN      SETOPMASK2   
8^L=    #   
925W    SENDING                            [ACCEPTOR INTERFACE SELECTED.
92*N ...      LDX   1  FXPM1
92KG          LDX   0  XENQ(3)             [CHECK WHETHER LP, TW OR TP. 
9356          ORN   0  6
93JQ ...      LDN   5  OUTLP(1)               [IF TW OR LP SEND FORM FEED TO CLE
944B          BXU   0  XENQ(2),NOTTP       [UP SO WE CAN SEND EOT.  
94J2 ...      LDN   5  OUTTP(1)               [IF TP SEND DELETES.  
953L    NOTTP LDN   0  1
95H=          LDN   1  128  
962W          CALL  7  SENDENQ             [OUTPUT CLEAN UP MESSAGE.
96GG          BRN      NEXTDROP            [LINE INOPERABLE - POLL. 
9726          BRN      SENDING             [NOT IMP. - REPEAT.  
97FQ          CALL  7  PRIPHSTATUS         [GET STATUS REPLIED. 
97^B          ANDN  5  1
98F2          BZE   5  NEXTDROP            [J. IF DEVICE INOPERABLE.
98YL          BZE   0  NEXTDROP            [J. IF O.K.  
99D=          BRN      SENDING             [ERROR - REPEAT. 
99XW    #   
9=CG    POLLERR 
9=X6          BCT   4  POLL                [POLL AGAIN IF NOT COUNTED OUT.  
9?BQ    PCTINOP 
9?WB          LDN   0  0                   [SET INOPERABLE MARKER FOR THIS DROP.
9#B2    SETOPMASK1  
9#TL          LDX   1  XDROPPTR(2)  
9**=    SETOPMASK2  
9*SW          SMO      2
9B#G          DCH   0  XOPMASK(1)          [SET STATUS FOR THIS DROP.   
9BS6          BCHX  1  NDRP3
9C?Q    NDRP1 BXU   1  XDROPPTR(2),NDRP2   [GET NEXT DROP, J. UNLESS BEEN RIGHT 
9CRB          LDN   6  #7620               [ROUND & NOTHING LEFT TO DO. 
9D?2          LDN   0  #11                 [SEND EOT & FINISH.  
9DQL          LDN   1  7
9F==          LDN   5  XENQ(2)  
9FPW          DSA   6  XENQ(2)  
9G9G          CALL  7  SENDENQ  
9GP6          BRN      SUICIDE  
9H8Q          BRN      SUICIDE  
9HNB          BRN      SUICIDE  
9J82    #   
9JML    SOPERR  
9K7=          BCT   4  SOP2                [ERROR ON SENDING DATA - POLL IF TOO 
9KLW    NEXTDROP                           [STEP ON TO THE NEXT DROP.   
9L6G    #   
9LL6          LDX   1  XDROPPTR(2)  
9M5Q    NDRP2 BCHX  1  £
9MKB    NDRP3 SBN   1  3
9N52          BZE   1  NDRP4
9NJL          ADN   1  3
9P4=    NDRP4 SMO      2                   [PICK UP THE "ACTIVE" SWITCH.
9PHW          LDCH  0  XOPMASK(1)   
9Q3G          BZE   0  NDRP1               [J. IF MARKED AS INOPERABLE. 
9QH6          STO   1  XDROPPTR(2)         [REMEMBER THIS DROP. 
9R2Q          SLC   1  2
9R=J ...      SMO      2
9RGB          LDX   0  PCTADDRESS(1)       [SET UP TERMINAL ADDRESS FOR THIS DRO
9S22          DSA   0  XENQ(2)  
9SFL          LDN   4  PMERRCNT 
9S^=    POLL  LDN   0  #11                 [SEND POLL MESSAGE FOR THIS DROP.
9TDW          LDN   1  7
9TYG          LDN   5  XENQ(2)  
9WD6          CALL  7  SENDENQ  
9WXQ          BRN      PCTINOP             [INOP.   
9XCB          BRN      POLLERR             [NOT IMP. ) TRY  
9XX2          BNZ   0  POLLERR             [ERROR    )  AGAIN?  
9YBL          CALL  7  TERMSTATUS          [GET TERMINAL STATUS.
9YW=          BRN      POLLERR             [ERROR IN STATUS BUFFER CONTENTS.
9^*W          BZE   5  NEXTDROP            [J. FOR NEXT DROP IF WAITING FOR TW I
9^TG          LDX   1  XDROPPTR(2)  
=2*6          SMO      2
=2SQ          LDCH  6  XOPMASK(1)          [GET TW INPUT/OUTPUT INTERFACE MASK. 
=3#B          LDX   0  6
=3S2          ANDN  0  #50                 [TW OUTPUT INTERFACE BIT.
=4?L          ANDX  0  5
=4R=          BNZ   0  SELECTOUTPT         [J. IF TW OUTPUT OPERABLE.   
=5=W          ANDN  6  #50                 [TW OUTPUT.  
=5QG          LDX   0  6
=6=6          SRL   6  1                   [TW INPUT.   
=6PQ          ANDX  6  5
=79B          BNZ   6  SELECTINPUT         [J. IF TW INPUT OPERABLE 
=7P2          ERN   0  #50                 [LP INTERFACE BIT.   
=88L          ANDX  0  5
=8N=          BZE   0  SETOPMASK2          [J. IF LP INOPERABLE - MARK DROP INOP
=97W    SELECTOUTPT                        [SELECT INTERFACE & SENT GOODBYE.
=9MG          ANDN  6  #24                 [REMEMBER TW INPUT SWITCH SETTING.   
==76          DEX   6  XENQ+1(2)
==LQ          ANDN  0  #40                 [GET INTERFACE NUMBER.   
=?6B          LDN   5  4
=?L2          BNZ   0  SOP1 
=#5L          LDN   5  2
=#K=    SOP1  ORS   5  XENQ(2)             [SET UP BUFFER FOR SELECTING OUTPUT. 
=*4W          LDN   4  PMERRCNT 
=*JG    SOP2  LDN   0  1
=B46          LDN   1  7
=BHQ          LDN   5  XENQ(2)  
=C3B          CALL  7  SENDENQ             [SELECT OUTPUT INTERFACE.
=CH2          BRN      NEXTDROP            [INOP.   
=D2L          BRN      SOPERR              [NOT IMP.
=DG=          CALL  7  TERMSTATUS          [GET PERIPHERAL STATUS.  
=D^W          BRN      SOPERR              [RUBBISH REPLY.  
=FFG          ANDN  5  1                   [J. IF DEVICE NOW INOPERABLE.
=F^6          BZE   5  NEXTDROP 
=GDQ          BNZ   0  SOPERR   
=GYB          LDEX  6  XENQ+1(2)           [J. IF TW INPUT MARK NOT SET.
=HD2          BZE   6  SENDGOODBYE  
=HXL    SENDCANCEL                         [SEND "CANCEL" TO TYPEWRITER IF JUST 
=JC=          LDN   0  1                   [RECEIVED AN INPUT MESSAGE.  
=JWW          LDN   1  17   
=K6N ...      SMO      FXPM1
=KBG          LDN   5  OUTCAN   
=KW6          CALL  7  SENDENQ  
=L*Q          BRN      NEXTDROP            [LINE INOP.  
=LTB          BRN      SENDCANCEL          [NOT IMP.
=M*2          CALL  7  PRIPHSTATUS         [GET PERIPHERAL STATUS   
=MSL          SRC   5  1                   [J. IF INOP. 
=N#=          BPZ   5  NEXTDROP 
=NRW          BNZ   0  SENDCANCEL          [J. IF LINE ERROR.   
=P?G          ANDN  5  2                   [J. IF DEVICE ERROR. 
=PR6          BZE   5  SENDCANCEL   
=Q=Q          LDX   0  XENQ+1(2)           [CLEAR TW INPUT MARKER IF OUTPUT O.K.
=QQB          ADXC  0  0                   [NOT PARTICULARLY INTERESTED IN V OR 
=R=2          BRN      SETOPMASK1   
=RPL    #                                  [SEND "THE SYSTEM HAS CLOSED DOWN" TO
=S9=    SENDGOODBYE                        [TW OR LP.   
=SNW          LDN   0  1
=T8G          LDN   1  53   
=TD# ...      SMO      FXPM1
=TN6          LDN   5  OUTPCT   
=W7Q          CALL  7  SENDENQ  
=WMB          BRN      NEXTDROP            [INOP
=X72          BRN      SENDGOODBYE         [NOT IMP.
=XLL          CALL  7  PRIPHSTATUS         [GET STATUS. 
=Y6=          SRC   5  1
=YKW          BPZ   5  NEXTDROP            [INOP.   
=^5G          BNZ   0  SENDGOODBYE         [ERROR.  
=^K6          ANDN  5  2                   [ERROR   
?24Q          BZE   5  SENDGOODBYE  
?2JB          BRN      PCTINOP             [FINISHED - MARK INOP. TO SAVE REPEAT
?342    #   
?3HL    SELECTINPUT                        [SELECT TW INPUT - HAVE TO READ FROM 
?43=          ANDN  6  #20                 [TW BEFORE OUTPUT INTERFACES WILL
?4GW          LDN   5  3                   [RESPOND.
?52G          BNZ   6  SINP1
?5G6          LDN   5  1                   [SET TW INPUT ADDRESS IN ENQ BUFFER. 
?5^Q    SINP1 LDN   4  PMERRCNT 
?6FB          ORS   5  XENQ(2)  
?6^2    SINP2 LDN   0  7
?7DL          LDN   1  XENQ(2)  
?7ND ...      SMO      FXPM1
?7Y=          LDN   7  NEXTDROP            [REPOLL IF IT GOES INOP. 
?8CW          CALL  6  OUTPUT              [SEND SELECTION MESSAGE. 
?8XG          BZE   1  READING             [J. IF WENT OUT O.K. 
?9C6          BCT   4  SINP2               [J. TO TRY AGAIN 
?9WQ          BRN      NEXTDROP            [OR NOT, AS THE CASE MAY BE. 
?=BB    #   
?=W2    #   
??*L    #SKI  ADEVELOP  
??T=    #GAP  20
?##W    #   
?#SG    #                                  [ACTIVITY FORMAT.
?*#6    TABLE   
?*RQ    XFPTR          +0   
?B?B    XLINK          +0   
?BR2    X3             +0   
?C=L    X4             +0   
?CQ=    X5             +0   
?D9W    X6             +0   
?DPG    X7             +0   
?F96    XREP1          +0   
?FNQ    XREP2          +0   
?G8B    XDEV           +0   
?GN2    XLINE          +0   
?H7L    XTIME          +0   
?HM=    #DEF  MOPLEN=XTIME+1
?J6W    XDROPPTR       +0   
?JLG    XOPMASK        +0,+0,+0 
?K66    XENQ           +0,+0
?KKQ    XSTATUS        +0   
?L5B    #DEF  PCTLEN=XSTATUS+21 
?LK2    #END
^^^^ ...23456667001900000000
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1