IPBSTARB867

(George Source)

Macros used: ACROSS, BXE, BXGE, CCERROR, CHAIN, COOR1, COOR3, DCA, DEMANDX, DERINGD, DISENGPER, DOWN, DSCA, EMPTY, ENRINGD, FINDACTFB, FON, FPUT, FREECORE, GEOERR, GEOPACK, GETACT, GPERI, GSPERI, HLSINFORM, HUNT2, HUNT2J, ICT, IDFTPSCN, IDFTPUPD, INFORMX, JANON, JENG, JSBUSY, JUNBUSY, JV7900, LAMOP, LGEOG, LINKSET, LOCK, LONGON1, LONGSET, MENDAREA, MFREEW, MHUNTW, MOVLONG, NAME, OFF, OUTBLOCN, OUTPACK, PAIR, READY, RESET, SEG, SEGENTRY, SETALLOC, SETNCORE, SETUPCORE, SETXCORE, SUICIDE, UNLOCK, VFREEW, YMOPOFF, YMOPON

IPBSTARB867.txt
22FL ...   SEG   IPBSTARB,,,,G269   
22^=    [  (C)  COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982  
23DW    #LIS  K0IPBSTARB>K0IPB>K0ALLGEO 
23NN ...#OPT G269 = 0   
23YG ...#SKI G269&1 
248# ...# WITH UGUG EDIT M269 (REMOTE LISTFILE DEBATCHERS)  
24D6    [   
24XQ          SEGENTRY  K4IPBSTARB,SK4IPBSTARB  
25CB          SEGENTRY  K5IPBSTARB,SK5IPBSTARB  
25X2          SEGENTRY  K7IPBSTARB,SK7IPBSTARB  
26BL    [   
26W=    [NOTE.      X3 = POINTER TO AMOP IPBIN ACTIVITY 
27*W    [   
27TG    # IF THE IPB/DCP BECOMES INOPERABLE WHILE THE SYSTEM IS TRYING TO USE IT
28*6    # THE IPB IS DISENGAGED AND THE INPUT ACTIVITY IS LEFT WITH A LINK TO   
28SQ    # K5IPBSTARB AND A -VE CHAINADD. ON SEEING THE ENGAGE BUTTON BLANKET
29#B    # RESTARTS THE ACTIVITY. A SCANNING ACTIVITY IS SET UP WITH A LINK TO   
29S2    # K7IPBSTARB, AND THIS CHECKS THE IDF AND ATTEMPTS TO START UP AGAIN.   
2=?L    #   
2=R=          SEGENTRY K8IPBSTARB,SK8IPBSTARB   
2?=W    # K8IPBSTARB IS USED BY THE AMSCAN ACTIVITY SET UP BY A "MOP ON" COMMAND
2?QG    # WHEN IT WISHES TO RESTART SYSTEM USE OF THE IPB.  
2#=6    #   
2#PQ    #UNS CRAMP<1$1  
2*9B    (   
2*P2    # K9IPBSTARB WILL (MARK 9?) BE USED BY THE AMSCAN ACTIVITY SET UP BY AN 
2B8L    # "UPDATE" COMMAND, TO OBTAIN A NEW CONFIGURATION REPORT FROM THE DCP.  
2BN=    )   
2C7W    #UNS CRAMP  
2CMG    (   
2D76          SEGENTRY K9IPBSTARB,SK9IPBSTARB   
2DLQ    # K9IPBSTARB IS USED BY THE AMSCAN ACTIVITY SET UP BY A "MOP ON,,NS"
2F6B    # COMMAND WHEN IT WISHES TO OBTAIN A NEW CONFIGURATION REPORT FROM THE  
2FL2    # DCP AND RESTART SYSTEM USE OF THE IPB.
2G5L    )   
2GK=    #   
2H4W    #   
2HJG          SEGENTRY K10IPBSTARB,SK10IPBSTAR  
2J46    # K10IPBSTARB IS FOR VIRTUAL 7900'S.
2JHQ    # IT WAITS IF NECESSARY FOR A VIRTUAL 7900 TO BECOME OPERABLE BEFORE
2K3B    # ATTEMPTING TO COMPLETE A MOP ON ACTION BY EMS OR MOP ON COMMAND . 
2KH2    # A WMC READ OLPA INDICATES WHEN THE VIRTUAL 7900 IS OPERABLE AND   
2L2L    # K10IPBSTART THEN SETS UP A SCANNING ACTIVITY W/ A LINK TO K11IPBSTART 
2LG=    # IT SIMULATES A K5 RESTART AND RUNS IN THE INPUT ACTIVITY .
2L^W    #   
2MFG          SEGENTRY K11IPBSTARB,SK11IPBSTAR  
2M^6    # K11IPBSTARB IS FOR VIRTUAL 7900'S .   
2NDQ    # IT CHECKS THE IDF  AND COMPLETES THE MOP ON ACTION .  
2NYB    # IT IS EQUIVALENT TO K7IPBSTARB
2PD2    # EXCEPT THAT THE SYSTEM SUPERVISORY SEGMENTS WILL BE OUTPUT LATER BY   
2PXL    # IPBOUT IN ORDER TO AVOID DUPLICATION OF V7900 LINK LEVEL CODE .   
2QC=    # IT RUNS IN AN AMSCAN ACTIVITY .   
2QGB ...#   
2QKG ...      SEGENTRY K12IPBSTARB,SK12STARB
2QNL ...#   
2QRQ ...#   
2QWW    PAIR3 PAIR     IPBIN,1  
2RBG    PAIR4 PAIR     IPBSTARB,5   
2RW6    PAIR5 PAIR     IPBSTARB,7   
2S*Q    PAIR6 PAIR     IPBSTARB,11  
2STB    #UNS  CCERROR   
2T*2    (   
2TSL    SCCA  SBX   5  FX1  
2W#=          CCERROR  6,7  
2WRW          ADX   5  FX1  
2X?G          EXIT  5  0
2XR6    SCCE  CALL  5  SCCA 
2^=2          BRN      REDOK
2^PL    REJO  LDN   6  CCREJECTOT   
329=          LDX   7  CPRW1(2) 
32NW          CALL  5  SCCA 
338G          BRN      ZINOP
33N6    )   
347Q    SEGINIT        #400:0   
34MB                   #020:0   
3572          SEGENTRY K50IPBSTARB  
35LL    #HAL  INPUSIZE+3,INPUSIZE+3 
366=    SEGGT          #02150000           [SUP. SEG. FOR GLOBAL TERMINATOR 
36KW    SEGCONFIG      #01140000
375G    #   
37K6    SEGCLOSE       #01110000
384Q    #   
38JB    V7900SSSBLK    [CONTENTS OF THE VIRTUAL 7900 SYSTEM SUPERVISORY SEGMENTS
3942                   [AMXOR/IOUT BLOCK
39HL                   0                   [IMOPTY  
3=3=                   #40000000           [IBSW
3=GW                   #03000000           ['INITIALISE' SS 
3?2G    #HAL           AVBUFFSIZE,AVBUFFSIZE[(INPUT AND OUTPUT BUFFER SIZES)
3?G6                   4HGEO3              [(PROGRAM NAME)  
3?^Q    #DEF  VSSSBLKLEN = 0? - V7900SSSBLK 
3#FB    VGTBLOCK                           [CONTAINS GLOBAL TERM FOR V7900  
3#^2                   0                         [IMOPTY
3*DL                   #40000000                 [IBSW  
3*Y=                   #02150000                 [SET GLOBAL TERM   
3BCW    #DEF  VSSSGTERM = 0? - VGTBLOCK 
3BXG                   0
3CC6    #DEF  VGTLEN = 0? - VGTBLOCK
3CWQ    #   
3DBB    XMASK          #74777776           [MASK OUT BITS 4,5 & 23  
3DW2    ZJINOP         +HUINOP  
3D^X ...               +JIPBCONF
3F5S ...               +JIPBINOPE   
3F9P ...ZJWARN         +JIPBWARN
3F*L    ZJMOP3         +JMOP3   
3FGS ...#SKI G269&1 
3FN2 ...ZZZZ           4HZZZZ   
3FT=    #UNS CRAMP  
3G#W    ZJMOP4      +JMOP4            [UNIT %A : MOP ON ABANDONED   
3GSG    ZJUPFAIL       +JUPFAIL 
3H#6    ZJUPOK         +JUPOK              [UNIT %A : UPDATE SUCCESSFUL 
3HRQ ...ZAHLOST        +GSEMBAHLOST 
3J?B    XIN             4HIN
3JH8 ...XOUT           4HOU00   
3JR2    #   
3K=L    [   
3KQ=    [   SUBROUTINE TO SAVE SPACE BY PUTTING GETACT MACRO IN SUBROUTINE  
3L9W    [   
3LPG    XGETACT 
3M96          SBX   7  FX1  
3MNQ          GETACT   AMSCAN,IPBTYPE,1 
3N8B          ADX   7  FX1  
3NN2          EXIT  7  0
3P7L    [   
3PM=    [   SUBROUTINE TO SAVE SPAVE
3Q6W    [   BY PUTTING SET UP OF AMXOR IOUT INTO A SUBROUTINE   
3QLG    [   
3R66    XSETIOUT
3RKQ          SBX   7  FX1  
3S5B ...      SETUPCORE  6,2,AMXOR,IOUT 
3SK2          ADX   7  FX1  
3T4L          EXIT  7  0
3TJ=    [   
3W3W    [     SUBROUTINE TO SAVE SPACE  
3WHG    [     BY PUTTING IDFTPSCN INTO A SUBROUTINE 
3X36    [   
3XGQ    XIDFSCN 
3Y2B          SBX   7  FX1  
3YG2          IDFTPSCN  XBI,XIDFA   
3Y^L          SETALLOC  
3^F=          ADN   7  1
3^YW    XIDFA   
42DG          ADX   7  FX1  
42Y6          EXIT  7  0
43CQ    #   
43XB    #     SUBROUTINE TO TEST IF AN IPB IS A VIRTUAL 7900 AND IF TRUE TO 
44C2    #     SET UP AN AMXOR/IOUT BLOCK CONTAINING THE SYSTEM SUPERVISORY  
44WL    #     SEGMENTS 'INITIALISE' AND 'SET GLOBAL TERMINATOR' AND TO SET UP   
45B=    #     AN INPUT BUFFER FOR THE INPUT ACTIVITY .  
45TW    #     THE SYSTEM SUPERVISORIES AMXOR/IOUT BLOCK WILL EVENTUALLY BE  
46*G    #     OUTPUT BY THE AMOP/IPBOUT ACTIVITY .  
46T6    #     ON ENTRY AND EXIT X3 -> THE IPB INPUT ACTIVITY
47#Q    #     EXITS+1 IF IPB IS NOT A VIRTUAL 7900, ELSE EXITS+0
47SB    #     HAVING COORDINATED WITH X6 & X7 UNDEFINED 
48#2    #     LINK IN X5
48RL    #   
49?=    SVIOUTINBF  
49QW          JV7900   CPPTR(3),SVSUPBLK
4==G          EXIT  5  1                   [IPB IS NOT A VIRTUAL 7900 : EXIT +1 
4=Q6    SVSUPBLK
4?9Q          SBX   5  FX1  
4?PB          LDN   6  VSSSBLKLEN   
4#92          CALL  7  XSETIOUT 
4#NL          LDN   6  V7900SSSBLK(1)   
4*8=          LDN   7  A1(2)
4*MW          MOVE  6  VSSSBLKLEN   
4B7G          LDN   6  VGTLEN   
4BM6          CALL  7  XSETIOUT 
4C6Q          LDN   6  VGTBLOCK(1)  
4CLB          LDN   7  A1(2)
4D62          MOVE  6  VGTLEN   
4DKL          LDX   6  GTERM               [MOVE IN THE GLOBAL TERMINATOR CHARS 
4F5=          STO   6  A1+VSSSGTERM(2)  
4FJW          LDN   6  AVBUFFSIZE          [SET UP INPUT BUFFER AND CHAIN   
4G4G          SETUPCORE 6,2,AMXOR,INBF,1   [AFTER THE INPUT ACTIVITY
4GJ6          CHAIN    2,3  
4H3Q          ADX   5  FX1                 [EXIT +0 
4HHB          EXIT  5  0
4J32    #   
4JGL    #   
4K2=    [   
4KFW    [   SUBROUTINES TO READ IN OR WRITE OUT 
4K^G    [   
4LF6    PERIN MHUNTW   3,AMXOR,INBF        [ENTRY FOR INPUT PERI
4LYQ          SEGENTRY K52IPBSTARB  
4MDB          LDN   5  INPUSIZE+3          [LENGTH OF INPUT TRANSFER.   
4MY2          LOCK  3   
4NCL          ADN   3  A1   
4NX=    #SKI  K6IPB>100-100 
4PBW          JSBUSY   ,PGE 
4PWG          DSCA     ,STO,3,CTSA  
4QB6          DSCA     ,STO,5,COUNT 
4QTQ          DSCA     ,DLA,7,MODE  
4R*B          LDN   5  0                   [SET INPUT SWITCH FOR WAIT1  
4RT2    PERAG GSPERI   ,2                  [ISSUE READ  
4S#L          BRN      PERY1
4SS=    #   
4T?W    PEROT LOCK  3                      [ENTRY FOR OUTPUT PERI   
4TRG          ADN   3  A1   
4W?6    #SKI  K6IPB>100-100 
4WQQ    (   
4X=B          JUNBUSY  ,PFREE   
4XQ2    PGE   GEOERR   1,CABUSY 
4Y9L    )   
4YP=    PFREE DCA      ,STO,3,CTSA  
4^8W          DCA      ,STO,5,COUNT 
4^NG          DCA      ,DLA,4,MODE  
5286          JANON    CPPTR(2),XIT61            [J. IF ANONYMOUS IF INOP   
52MQ    PEROG GPERI    ,2                  [ISSUE WRITE.
537B    PERY1 LDXC  0  CPRW1(2)            [REPLY WORD. 
53M2          BCC      WAIT2               [J. IF ALREADY FINISHED. 
546L          SLC   0  6
54L=          ANDN  0  3
555W          BZE   0  WAIT1               [J. IF DIRECT RESPONSE "ACCEPTED".   
55KG          ANDN  0  1
5656          BNZ   0  XIT61               [J. IF REJECTED - INOPERABLE.
56JQ          EXIT  6  0                   [REJECTED - OPERABLE.
574B    WAIT1 BZE   5  WAIT2               [AMOP/IPBIN IS IN FIXED CHAPTER AREA 
57J2          LOCK  2   
583L    WAIT2 SBX   6  FX1  
58H=    WAIT3 COOR1                        [WAIT FOR NOTIFICATION OF END OF PERI
592W          LDXC  0  CPRW1(2) 
59GG          BCS      WAIT3
5=26          SLC   0  5
5=FQ          ADX   6  1
5=^B          BPZ   0  XIT61               [J. IF INOPERABLE.   
5?F2          ANDN  0  #13  
5?YL          BZE   0  XIT63               [J. IF TRANFER O.K.  
5#D=          SRC   0  2
5#XW          BNG   0  XIT61
5*CG          SRC   0  2
5*X6          BNG   0  XIT62
5BBQ          EXIT  6  0
5BWB    XIT61 EXIT  6  1
5CB2    XIT62 EXIT  6  2
5CD4 ...XIT63   
5CD= ...      SBX   6  1
5CDD ...      BZE   5  XIT63D   
5CDL ...      STOZ     5
5CDS ...      LDX   2  IPBRING(2)   
5CF2 ...      SBN   2  IPBRING  
5CF8 ...      BRN      XIT63B   
5CFB ...XIT63D  
5CFJ ...      LDX   5  XIN(1)   
5CFQ ...      LDX   0  0(3) 
5CFY ...      DSA   0  5
5CG6 ...      STOZ     0
5CJ8 ...XIT63C  
5CL= ...      LDX  4   1(3) 
5CN# ...      BXE  4   XMSK1(1),XIT63A  
5CQB ...XIT63B  
5CQC ...      HUNT2J   2,AMXOR,AJOURN,,XJRN6
5CQD ...      LDN   0  486  
5CQF ...      SBX   0  IPBCOUNT(2)  
5CQG ...      BPZ   0  XJRN5
5CQH ...      LDX   0  IPBJRN   
5CQJ ...      BZE   0  XJRN4
5CQK ...      NAME     2,AMXOR,AMISC
5CQL ...      FINDACTFB 1,FX2,AMOP,AJOURN,,BPTR 
5CQM ...      LDX   4  1
5CQN ...      CHAIN    2,4  
5CQP ...      LDX   2  4
5CQQ ...      LDX   0  IPBSW(2) 
5CQR ...      BNG   0  XJRN2
5CQS ...      LDX   0  GSIGN
5CQT ...      STO   0  IPBSW(2) 
5CQW ...      FPUT  
5CQX ...XJRN2   
5CQY ...      SETNCORE 499,4,AMXOR,AJOURN   
5CQ^ ...      BNZ   5  XJRN3
5CR2 ...      LDX   2  IPBRING(2)   
5CR3 ...      SBN   2  IPBRING  
5CR4 ...      CHAIN    4,2  
5CR5 ...XJRN3   
5CR6 ...      LDX   2  4
5CR7 ...      SMO      FX2  
5CR8 ...      LDX   0  CPPTR
5CR9 ...      STO   0  IPBDATA+497(2)   
5CR= ...XJRN4   
5CR? ...      STOZ     IPBCOUNT(2)  
5CR# ...XJRN5   
5CR* ...      BNZ   5  XJRN55   
5CRB ...      LDX   5  XOUT(1)  
5CRC ...XJRN55  
5CRD ...      LDX   0  5
5CRF ...      LDN   5  IPBDATA(2)   
5CRG ...      ADX   5  IPBCOUNT(2)  
5CRH ...      SMO      5
5CRJ ...      STO   0  0
5CRK ...      LDX   0  1(3) 
5CRL ...      SMO      5
5CRM ...      STO   0  1
5CRN ...      LDN   0  2
5CRP ...      ADS   0  IPBCOUNT(2)  
5CRQ ...      LDX   2  FX2  
5CRR ...      ADX   6  FX1  
5CSD ...      EXIT 6   3                   [FOUND DATA  
5CST ...XJRN6   
5CT= ...      COOR3     #62 
5CTM ...      BNZ   5  XIT63B   
5CW4 ...      BRN      XIT63
5CWG ...XIT63A  
5CYJ ...      ADN  3   1                   [LOOK AT NEXT WORD OF DATA   
5D2L ...      SBN  0   2
5D4N ...      BZE  0   XIT63B              [FOUND 3 NULLS,NEXT WD MUST BE DATA  
5D6Q ...      ADN  0   3                   [RESTORE COUNT OF NULLS  
5D8S ...      BRN      XIT63C   
5D=W ...XMSK1 #01570000 
5D*=    #   
5DSW    ROUT1 SMO      FX2  
5F#G          LDX   3  IPBRING  
5FS6          SBN   3  IPBRING             [GET ADDRESS OF OTHER ACTIVITY.  
5G?Q ...      STO   0  ACC5(3)  
5GRB          SBX   5  1                   [DEDATUMISE OWN LINK.
5GYJ ...      MHUNTW   2,AMXOR,IOUT 
5H5Q ...      BRN      ROUT25   
5H?2    ROUT2 ADS   0  ACC5(3)             [STEP (OR SET) LINK IN OTHER ACTIVITY
5HQL ...ROUT25  
5J==          UNLOCK   2                   [UNLOCK THE BUFFER   
5JPW    ROUT3 LDX   2  3
5K9G          FPUT                         [ENLIST OTHER ACTIVITY.  
5KP6          COOR1                        [WAIT TO BE WOKEN.   
5L8Q    SK4IPBSTARB 
5LNB          ADX   5  1                   [EXIT TO LINK.   
5M82          EXIT  5  0
5MML    #   
5N7=    #     READ RUBBISH OR "READY" FOLLOWING INITIALISE COMMAND. 
5NLW    #   
5P6G    READY LDN   7  #12                 [END READ MODE FOR READY.
5PL6          BRN      RENM 
5Q5Q    READR LDN   7  2                   [READ MODE FOR RUBBISH   
5QKB    RENM  CALL  6  PERIN               [DO THE READ.
5R52          BRN      TINOP               [TREAT AS INOPERABLE IF REJECTED 
5RJL          BRN      TINOP               [OR INOPERABLE   
5S4=          BRN      TIMEO               [TIMED OUT : TRY TWICE   
5SHW          ANDN  7  #10  
5T3G          BZE   7  REDOK               [J. IF READ RUBBISH  
5TH6          LDCT  6  #014                [J. IF MESSAGE IS "READY" TO WAKE
5W2Q          ERX   6  1(3)                [UP THE E.M.S. ACTIVITY  
5WGB          BNZ   6  READY               [NOT "READY" : REPEAT READ   
5WJ2 ...      BCHX  3  £
5WKL ...      LDCH  6  2(3) 
5WM= ...      SBN   6  #45  
5WNW ...      BNZ   6  REDOK
5WQG ...      ANDX  3  BITS22LS 
5WS6 ...      LDCH  6  3(3) 
5WTQ ...      SBN   6  22   
5WXB ...      BZE   6  RWARN
5W^2 ...      ADN   6  1
5X2L ...      BNZ   6  REDOK
5X4= ...      LDN   4  1
5X5W ...      BRN      TIN1 
5X7G ...RWARN   
5X96 ...      LDX   3  2
5X=Q ...      LDX   4  ZJWARN(1)
5X#B ...      CALL  5  OGE  
5XB2 ...REDOK   
5XCL ...      MHUNTW   2,AMXOR,INBF 
5XFL          SMO      FX2  
5X^=          LDX   3  IPBRING  
5YDW          LDN   0  1                   [STEP LINK TO EXIT +1.   
5YYG          SBN   3  IPBRING  
5^D6          BRN      ROUT2               [WAKE E.M.S. ACTIVITY
5^XQ    TIMEO ERX   7  GSIGN               [TIMED OUT : TRY TWICE   
62CB          BNG   7  PERAG               [TRY AGAIN   
62X2          BRN      TINOP               [T.O. TWICE : TREAT AS INOPERABLE
63BL    #UNS  JPGLTER   
63W=    (   
64*W    [   
64TG    #  READ REPLY TO GLOBAL TERMINATOR SETTIMG  
65*6    [   
65SQ    RGTAK LDN   0  4
66#B          ORS   0  IPBSW(2)            [SET GLOBAL TERMINATOR APPLICABLE
66S2          LDN   7  #12                 [MODE
67?L          CALL  6  PERIN               [READ
67R=          BRN      REJOP               [REJECTED OPERABLE   
68=W          BRN      TINOP               [INOPERABLE  
68QG          BRN      PERAG               [TIMED OUT - TRY AGAIN   
69=6          LDN   7  #141 
69PQ          BRN      XCHREP   
6=9B    )   
6=P2    #   
6?8L    #     READ CONFIGURATION REPORT FOLLOWING CONFIGURATION REQUEST.
6?N=    #   
6#7W    RCONF LDN   7  2
6#MG          CALL  6  PERIN               [DO THE READ.
6*76          BRN      REJOP               [REJECTED - OPERABLE.
6*LQ          BRN      TINOP               [INOPERABLE. 
6B6B          BRN      PERAG               [TIMED OUT : TRY AGAIN   
6BL2          LDN   7  #154 
6C5L    XCHREP  
6CK=          LDX   6  1(3) 
6D4W          SRL   6  12   
6DJG          ERX   6  7                   [CHECK INITIAL REPLY 
6F46          SBN   7  #154                [CALL FOR CONFIG 
6FHQ          BZE   6  XCHB                [OK  
6G3B          ERN   6  #245$#141
6GH2          BNZ   6  SOSSS               [NOT ACKNOWLEDGE OR ILLEGSL  
6H2L          LDX   0  2(3) 
6HG=          SRL   0  12   
6H^W          SBN   0  #2114               [INVALID CODE - CONFIG. REPORT   
6JFG          BZE   7  XCHA                [J CONF. 
6J^6          SBN   0  1                   [INVALID CODE - GOBAL WERM.  
6KDQ    XCHA
6KYB          BNZ   0  SOSSS               [J. OTHER ILLEAGAL CODE  
6LD2          BZE   7  REDOK               [CALL FROM OK
6LXL          LDN   0  4
6MC=          ERS   0  IPBSW(2)            [CLEAR GOBAL TERM APPL.  
6MWW          BRN      REDOK
6NBG    XCHB  BZE   7  XCONF
6NW6          BRN      REDOK
6P*Q    SOSSS LDN   6  CCSSSWRONG           [ILLEGAL CODE NOT RECONIZED 
6PCN ...      BZE   7  SOSST
6PFL ...      LDX   7  1(3) 
6PHJ ...      CALL  5  SCCA 
6PKG ...      MHUNTW   3,AMXOR,INBF 
6PMD ...      ADN   3  A1   
6PPB ...      BRN      TINOP
6PR# ...SOSST   
6PTB          LDX   7  1(3)                [FIRST WD. OF SEG
6Q*2          BRN      SCCE 
6QSL    XCONF   
6R#=          LDX   7  2(3)                [LENGTH OF REPORT.   
6RRW    #UNS CRAMP  
6S?G    (   
6SR6          SBN   7  1
6T=Q          BZE   7  REDOK               [NULL CONFIGURATION REPORT   
6TQB          ADN   7  1                   [RESET LENGTH OF REPORT  
6W=2    )   
6WPL          STOZ     AWORK4(2)           [CURRENT POSITION IN OUTPUT BLOCK.   
782G    )   
78G6          LDN   4  2(3) 
78^Q          SETUPCORE 7,1,IDF,IREPORT    [SET UP BLOCK TO HOLD COMPLETE REPORT
79FB          NGX   3  CPRW1(2)            [FIND LENGTH OF THIS MESSAGE.
79^2          SEGENTRY K51IPBSTARB  
7=DL          ADN   3  INPUSIZE+1   
7=Y=          LDN   5  A1(1)
7?CW          ANDN  3  #7777               [MASK OUT OPERABLE BIT IN CHARACTER 0
7?XG          ADX   5  AWORK4(2)           [CURRENT POSITION IN OUTPUT BLOCK.   
7#C6          ADS   3  AWORK4(2)           [UPDATE OUTPUT POINTER.  
7#WQ    #SKI  K6IPB>99$99   
7*BB    (   
7*W2          BXGE  7  AWORK4(2),OKSIZ     [J. IF MESSAGE < LENGTH ANNOUNCED.   
7B*L    #UNS  CCERROR   
7BT=    #SKI
7C#W          GEOERR   1,BIGREPRT   
7CSG    #UNS  CCERROR   
7D#6    (   
7DRQ          LDN   6  CCBIGREPORT  
7F?B          BRN      SCCE                [REPORT ERROR
7FR2    )   
7G=L    OKSIZ   
7GQ=    )   
7H9W          MOVLONG   4,5,3   
7HPG          BXE   7  AWORK4(2),REPRT     [J. IF ALL RECEIVED. 
7J96          LDN   7  2
7JNQ          CALL  6  PERIN               [READ MORE.  
7K8B          BRN      REJOP               [REJECTED - OPERABLE.
7KN2          BRN      SINOP               [INOPERABLE. 
7L7L          BRN      PERAG               [TIMED OUT : TRY AGAIN   
7LM=          LDCT  0  #40                 [J. IF NOT CONTINUATION OF REPORT.   
7M6W          ANDX  0  0(3) 
7MLG          BZE   0  NCONT
7N66          LDN   4  1(3)                [SET POINTER FOR MOVE.   
7NKQ          NGX   3  CPRW1(2)            [FIND THE LENGTH OF THIS MESSAGE.
7P5B          MHUNTW   1,IDF,IREPORT       [RELOCATE THE OUTPUT BLOCK.  
7PK2          LDX   7  ALOGLEN(1)          [DECLARED REPORT LENGTH  
7Q4L          BUX   3  K51IPBSTARB  
7QJ=    #UNS  CCERROR   
7R3W    #SKI
7RHG    REJOP GEOERR   1,REJECTED          [TRANSFER REJECTED - OPERABLE.   
7S36    #UNS  CCERROR   
7SGQ    (   
7T2B    REJOP LDN   6  CCREJECTIN          [INPUT TRANSFER REJECTED OPERABLE
7TG2          LDX   7  CPRW1(2) 
7T^L          BRN      SCCE 
7WF=    )   
7WYW    #UNS  CCERROR   
7XDG    #SKI
7XY6    NCONT GEOERR   1,CONFIG'N          [CONFIGURATION REPORT < LENGTH GIVEN.
7YCQ    #UNS  CCERROR   
7YXB    (   
7^C2    NCONT LDN   6  CCNOCONTCR   
7^WL          LDX   7  0(3) 
82B=          BRN      SCCE 
82TW    )   
83*G    #   
83T6    #   
84#Q    REPRT LDX   3  IPBRING(2)          [RELOCATE THE "WRITING" ACTIVITY.
84SB          SBN   3  IPBRING  
85#2          CHAIN    1,3                 [THE E.M.S. ACTIVITY & WAKE IT UP.   
85RL          MHUNTW   2,AMXOR,INBF 
86?=          ADN   2  A1   
86QW          LDN   0  2                   [STEP LINK TO EXIT AT +2.
87=G          BRN      ROUT2
87Q6    #   
889Q    #UNS  CCERROR   
88PB    #SKI
8992    SINOP MFREEW   IDF,IREPORT         [FREE THE PARTLY FILLED REPORT BLOCK.
89NL    #UNS  CCERROR   
8=8=    (   
8=MW    SINOP VFREEW   IDF,IREPORT  
8?7G    )   
8?*Q ...TINOP   
8?J2 ...      LDN   4  0
8?Q= ...TIN1
8?YG ...      MHUNTW   3,AMXOR,INBF 
8#6Q          FREECORE 3                   [AMXOR/INBF BLOCK
8#LB          LDX   2  IPBRING(2)          [FIND THE "WRITING" ACTIVITY.
8*62          SBN   2  IPBRING  
8**S ...      ADS   4  AWORK2(2)
8*KL          FPUT                         [SET IT GOING.   
8B5=          DERINGD  IPBRING(2)          [CLEAR THE RING. 
8BJW          EMPTY    IPBRING(2)          [RESET OUR RING ELEMENTS.
8C4G    ZUNNO   
8CJ6          NGS   1  CHAINADD(2)         [MARK TO TELL BLANKET WE'RE ASLEEP.  
8D3Q          DISENGPER                    [DISENGAGE THE IPB.  
8DHB          COOR1                        [WAIT FOR RE-ENGAGEMENT. 
8F32    #   
8FGL    SK5IPBSTARB 
8G2=          JANON   ,ZUNNO
8GFW          LDX   0  IPBSW(2) 
8G^G          ANDX  0  BIT10               [BIT 10  
8HF6          BZE   0  ZUOK                [IDF CONTAONS UNIT INFO  
8HYQ          DOWN     IDFCHK,4            [INSERT INFO INTO IDF
8JDB    ZUOK
8JN8 ...      LONGON1  IPBMPWS,CPPTR(2) 
8JY2          CALL  7  XGETACT            [GET SCANNING ACTIVITY TO DO RESTART  
8KCL          LDX   3  BPTR(2)  
8KX=          LDX   4  CPPTR(2)            [ADDRESS OF IPB DEVICE LIST. 
8LBW          LINKSET  3,PAIR5(1)          [SET LINK TO K7IPBSTART  
8LWG          STO   4  CPPTR(3) 
8MB6          STO   2  ACC3(3)             [SAVE ADDRESS OF INPUT ACTIVITY. 
8MTQ          BRN      ROUT3               [J. TO SET IT ALL GOING AGAIN.   
8N*B    #   
8NT2    SK10IPBSTAR                        [RUNS IN A V7900 AMOP/IPBIN ACT  
8P#L    #   
8PS=    #              IF OR WHEN THE V7900 IS OPERABLE, SET UP AND FPUT A  
8Q?W    #              SCANNING ACTIVITY (AMSCAN/IPBTYPE) WITH A LINK TO K11
8QRG          JENG     ,VOPERABLE          [V7900 IS OPERABLE   
8R?6                                       [IE THE PROGRAM'S FIRST WMC READ 
8RQQ                                       [IS STORED   
8S=B    #              VIRTUAL 7900 INOPERABLE : REPORT FACT TO OPERTOR 
8SQ2          LGEOG    ,6                  [SET X6 = V7900 OPS UNIT NUMBER  
8T9L          LDX   4  ZJINOP(1)           [UNIT %A HAS BECOME INOPERABLE   
8TP=          CALL  5  OMES 
8W8W          JENG     ,VOPERABLE          [OPERABLE NOW
8WNG          NGS   1  CHAINADD(2)         [SET CHAINADD NEGATIVE TO SIMULATE   
8X86                                       [AN INOPERABLE (,MOPPED ON) 7900 TO  
8XMQ                                       [MOPCOM(AT LABEL UINOP)  
8Y7B          LDX   0  XMASK(1)            [UNSET 'BEING MOPPED ON/OFF' FLAGS   
8YM2          ANDS  0  IPBSW(2)            [IF SET AND WAKE UP ANY MOP ACTIVITY 
8^6L          FON      #30                 [WAITING FOR US .
8^L=          BRN      VIPBINSLEEP  
925W    #   
92KG    VOPERABLE                          [SIMULATE A K5IPBSTART RESTART   
9356          CALL  7  XGETACT            [SET UP SCANNNING ACTIVITY
93JQ                                       [NOTE IT IS NEVER LOCKED 
944B          LDX   5  CPPTR(2) 
94J2          LDX   2  BPTR(2)             [SET LINK TO K11IPBSCAN IN ACT   
953L          LINKSET  2,PAIR6(1)   
95H=          STO   5  CPPTR(2)            [SET DEVICE LIST PTR IN ACT  
962W          FPUT                         [SET ACT RUNNING TO COMPLETE MOP ON  
96GG          LDCT  0  #10                 [ENSURE "MOPPING OFF" FLAG IS UNSET  
9726          ORS   0  IPBSW(2)            [(SET IF V7900 WAS INITIALLY OPERABLE
97FQ          ERS   0  IPBSW(2)            [)AS PART OF THE K5 SIMULATION   
97^B          COOR1                        [WAIT FOR NEW LINK   
98F2    VIPBINSLEEP 
98YL          LDCT  0  #100                [MARK THIS INPUT ACTIVITY ASLEEP 
99D=          ORS   0  IPBSW(2) 
99XW          COOR1                        [WAIT TIL THE V7900 BECOMES OPERABLE 
9=CG                                       [(MOP OFF SIMPLY SETS CHAINADD +VE)  
9=X6          BRN      SK10IPBSTAR  
9?BQ    #   
9?WB    #    ###########################################################
9#B2    #   
9#TL    #     CODE ABOVE IS OBEYED IN AMOP/IPBIN ; BELOW IN EMS ACTIVITY.   
9**=    #   
9*SW    #    ###########################################################
9B#G    #   
9BS6    # SUBROUTINE TO ISSUE "INITIALISE" COMMAND AND CHECK THE REPLY (IF ANY).
9C?Q    #   
9CRB    START SBX   4  FX1  
9D?2          SEGENTRY K53IPBSTARB  
9DQL          LDN   5  INPUSIZE+3          [SET UP INPUT BUFFER AND CHAIN   
9F==          SETUPCORE 5,1,AMXOR,INBF,1   [AFTER THE INPUT ACTIVITY
9FPW          STO   4  AWORK3(2)           [SAVE LINK.  
9F^N ...      STOZ     AWORK2(2)
9G9G          CHAIN    1,3  
9GP6          ENRINGD  IPBRING(2),IPBRING(3)[RING IN THE IPBIN ACTIVITY(->X3)   
9H8Q    TINIT MHUNTW   3,AMXOR,IOUT 
9HNB          LDN   4  #15                 [END WRITE CANCEL READ MODE  
9J82          LDN   5  3                   [WORD COUNT  
9JML          CALL  6  PEROT               [OUTPUT THE "INITIALISE" MESSAGE 
9K7=          BRN      RUBSH               [J. TO READ RUBBISH IF REJECTED. 
9KLW          BRN      ZINOP               [INOPERABLE  
9L6G          BRN      PEROG               [REPEAT IF TIMED OUT 
9LL6          JANON   ,ZINOP               [OPERABLE BUT ANON UNIT NO SO
9MKB          LDN   0  READY               [SET LINK TO READ "READY".   
9N52          CALL  5  ROUT1               [WAKE UP INPUT ACTIVITY & AWAIT REPLY
9NJL          BRN      VINOP               [J. IF IT WENT INOPERABLE DURING READ
9P4=    #UNS  JPGLTER   
9PHW    (   
9Q3G          MHUNTW   3,AMXOR,IOUT 
9QH6          LDX   5  SEGGT(1)            [GLOBAL TERMINATOR SETTING   
9R2Q          STO   5  A1+1(3)  
9RGB          LDX   5  GTERM
9S22          STO   5  A1+2(3)  
9SFL          LDN   5  3                   [COUNT   
9S^=          LDN   4  #15                 [MODE
9TDW          CALL  6  PEROT               [SEND EEGMENT
9TYG    #UNS  CCERROR   
9WD6    #SKI
9WXQ          BRN      REJOP               [REJECTED OPERABLE   
9XCB    #UNS  CCERROR   
9XX2    (   
9YBL          BRN      REJO               [REJECTED OPERABLE
9YW=    )   
9^*W          BRN      ZINOP               [INOPERABLE  
9^TG          BRN      PEROG               [TIMED   
=2SQ          LDN   0  RGTAK               [LINK FOR INPUT ACTIVITY 
=3#B          CALL  5  ROUT1               [SWITCH ACTIVITIES   
=3S2          BRN   VINOP                  [INOPERABLE  
=4?L    )   
=4R=          SMO      AWORK3(2)           [OTHERWISE EXIT TO THE LINK + 1. 
=5=W          EXIT  1  1
=5QG    #   
=6=6 ...RUBSH   
=6PQ          LDN   0  READR               [DOING INITIALISE AGAIN. 
=79B          CALL  5  ROUT1               [WAIT FOR READ: RETURN IS TO "TINIT".
=7P2          BRN      VINOP               [INOP DURING READ
=88L          BRN      TINIT               [READ OK : TRY "INITIALISE" AGAIN
=8N=    #   
=97W    #     SUBROUTINE TO INFORM CONSOLE MESSAGE ; IPB GEOG NO IN X6 ;
=9MG    #     MESSAGE ADDRESS IN X4 ; CALL ON X5
==76    #   
==LQ    OGE   LGEOG    CPPTR(3),6          [GET GEOG NO.
=?6B    OMES  SBX   5  FX1  
=?L2          GEOPACK  6,6,6
=#5L          OUTPACK  6,1,GEOPER   
=#K=          INFORMX  ,4,1 
=*4W          ADX   5  FX1  
=*JG          EXIT  5  0
=B46    #   
=BHQ    # SUBROUTINE TO ISSUE "CLOSE DOWN" COMMAND TO THE DCP.  
=C3B    #   
=CH2    SHUT  SBX   6  1
=D2L          STO   6  AWORK3(2)           [SAVE LINK.  
=DG=          BRN      OFF  
=D^W    #   
=FFG    #   
=F^6    # SUBROUTINE TO ISSUE "CONFIGURATION REQUEST", USING THE REPLY TO UPDATE
=GDQ    # THE IDF, AND THEN CLOSE THE DCP. V IS SET ON EXIT IF REPORT OBTAINED. 
=GYB    #   
=HD2    UPDAT SBX   6  1
=HXL          STO   6  AWORK3(2)           [SAVE LINK.  
=JC=          MHUNTW   3,AMXOR,IOUT 
=JWW          LDX   5  SEGCONFIG(1)        [SET UP THE CONFIGURATION REQUEST.   
=KBG          STO   5  A1+1(3)  
=KW6          LDN   5  2                   [WORD COUNT. 
=L*Q          LDN   4  #15                 [MODE.   
=LTB          CALL  6  PEROT               [AND PERI IT TO THE IPB. 
=M*2    #UNS  CCERROR   
=MSL    #SKI
=N#=          BRN      REJOP               [REJECTED - OPERABLE.
=NRW    #UNS  CCERROR   
=P?G    (   
=PR6          BRN      REJO 
=Q=Q    )   
=QQB          BRN      ZINOP               [J. IF INOPERABLE.   
=R=2          BRN      PEROG               [TIMED OUT   
=S9=          LDN   0  RCONF               [SET LINK TO READ CONFIG. REPORT.
=SNW          CALL  5  ROUT1               [WAKE UP INPUT ACTIVITY & AWAIT REPLY
=T8G          BRN      VINOP               [J. IF IT WENT INOPERABLE DURING READ
=TN6          BRN      OFF                 [J. IF CONFIG. REPORT NOT FORTHCOMING
=W7Q          LDX   0  GSIGN               [SET B0 IN LINK (SETS V ON EXIT).
=WMB          ORS   0  AWORK3(2)
=X72          IDFTPUPD XBI                 [PASS THE REPORT TO THE IDF  
=X99 ...      SEGENTRY K91IPBSTARB  
=X?D ...      LDN   0  AHRETAIN 
=X*M ...      BZE   0  XNORE
=XCW ...      LDX   4  ZAHLOST(1)   
=XG5 ...      CALL  5  OGE  
=XJ# ...XNORE   
=XLL    #   
=Y6=    #UNS CRAMP<1$1  
=YKW    OFF   MHUNTW   3,AMXOR,IOUT        [RELOCATE THE OUTPUT BUFFER. 
=^5G    #UNS CRAMP  
=^K6    (   
?24Q    OFF   LDX   0  AWORK4(2)           [TEST FOR CLOSE DOWN SUPPRESSION FLAG
?2JB          STOC  0  AWORK4(2)           [LEAVING IT UNSET(NO INOPERABILITY)  
?342          BCS      NBACK               [WAS SET : SKIP CLOSE DOWN & EXIT
?3HL          MHUNTW   3,AMXOR,IOUT        [RELOCATE THE OUTPUT BUFFER  
?43=    )   
?4GW          LDX   5  SEGCLOSE(1)         [SET UP THE CLOSE DOWN MESSAGE.  
?52G          STO   5  A1+1(3)  
?5G6          LDN   4  #15                 [MODE
?5^Q          LDN   5  2                   [WORD COUNT  
?6FB          CALL  6  PEROT               [OUTPUT THE CLOSE DOWN MESSAGE.  
?6^2    #UNS  CCERROR   
?7DL    #SKI
?7Y=          BRN      REJOP               [REJECTED - OPERABLE.
?8CW    #UNS  CCERROR   
?8XG    (   
?9C6          BRN      REJO 
?9WQ    )   
?=BB          BRN      ZINOP               [J. IF INOPERABLE.   
?=W2          BRN      PEROG               [TIMED OUT   
??*L          CALL  6  UINOP               [CLEAR DOWN THE IPBIN.   
??T=          STOZ     CHAINADD(3)         [UNSET "WAKE ME UP" MARKER.  
?##W    #UNS CRAMP<1$1  
?#SG          ADX   1  AWORK3(2)
?*#6    #UNS CRAMP  
?*RQ    NBACK ADX   1  AWORK3(2)
?B?B          EXIT  1  0
?BR2    #   
?C=L    UINOP SBN   3  A1   
?CQ=          UNLOCK   3                   [OUTPUT BUFFER.  
?D9W          LDX   3  IPBRING(2)   
?DPG          SBN   3  IPBRING  
?F96          LINKSET  3,PAIR4(1)          [SET LINK IN IPBIN TO K5IPBSTART 
?FNQ          HUNT2    1,AMXOR,INBF,3      [FREE THE INPUT BUFFER.  
?G8B          FREECORE 1
?GN2          DERINGD  IPBRING(2)          [CLEAR THE RING. 
?H7L          EMPTY    IPBRING(2)          [RESET OUR RING ELEMENTS.
?HM=          NGS   1  CHAINADD(3)         [MARK IPBIN ASLEEP FOR BLANKET.  
?J6W          DISENGPER                    [DISENGAGE THE IPB.  
?JLG          EXIT  6  0
?K66    #   
?KKQ    ZINOP CALL  6  UINOP               [RESET THE IPBIN.
?KTJ ...VINOP   
?L5B    #UNS CRAMP  
?LK2    (   
?M4L ...      LDCT  0  #400 
?MJ=          ANDX  0  AWORK4(2)           [I.E. K9 ENTRY,UNSET "WAKE ME UP"
?N3W          ORS   0  CHAINADD(3)         [MARKER IF SET   
?NHG          ERS   0  CHAINADD(3)  
?SDG    )   
?^SB          ADX   1  AWORK3(2)
#2#2          EXIT  1  0
#2RL    #   
#3?=    #   
#3QW    # SUBROUTINE TO SET UP AN AMXOR/ADEVS BLOCK OF THE REQUIRED LENGTH  
#4=G    # AND CHAIN IT AFTER THE AMOP/IPBIN ACTIVITY.   
#4Q6    #   
#59Q    NDEVS SBX   4  1                   [RELATIVISE LINK.
#5PB          MHUNTW   1,IDF,IDENTIFIERS
#692          LDX   5  ALOGLEN(1)   
#69F ...#SKI G269&1 
#69Y ...(   
#6=C ...      SBN   5  1                   [ NO. OF IDENTIFIERS 
#6=W ...      LDN   7  0                   [ COUNT OF *LP'S 
#6?* ...XCT1  SMO      5
#6?S ...      LDEX  0  A1(1)
#6#? ...      SBN   0  3                   [ *LP IDENT. 
#6#Q ...      BNZ   0  XCT2 
#6*9 ...      ADN   7  2
#6*N ...XCT2  BCT   5  XCT1 
#6B7 ...#     NOW SET UP NEW BLOCK TYPE IUSER/BATCHC WITH A TWO-WORD
#6BL ...#     ... ENTRY FOR EACH REMOTE LP: IDENTIFIER,DEBATCHER WORD   
#6C5 ...      SETUPCORE 7,2,IUSER,BATCHC
#6CJ ...      LDX   6  ZZZZ(1)  
#6D3 ...      MHUNTW   1,IDF,IDENTIFIERS
#6DG ...      LDX   5  ALOGLEN(1)   
#6D^ ...      SBN   5  1
#6FD ...XSAT1 SMO      5
#6FX ...      LDEX  0  A1(1)
#6GB ...      SBN   0  3
#6GT ...      BNZ   0  XSAT2
#6H# ...      LDX   0  5
#6HR ...      ADX   0  A1(1)               [ IDENTIFIER NO. 
#6J= ...      STO   0  A1(2)
#6JP ...      STO   6  A1+1(2)             [ INITIALIZE ZZZZ
#6K8 ...      ADN   2  2
#6KM ...XSAT2 BCT   5  XSAT1
#6L6 ...      SBX   2  7                   [ RESET TO START OF BLOCK
#6LK ...      LDX   5  ALOGLEN(1)          [ REINSTATE X5   
#6M4 ...      CHAIN    2,3                 [ ONTO IPBIN ACTIVITY
#6MH ...)   
#6NL          LDX   6  5
#78=          SLL   5  2                   [SET UP THE IDENTIFIER ROUTING BLOCK.
#7MW          SETXCORE 5,1,AMXOR,ADEVS,,6,4 
#87G          LDCT  5  #40                 [SET THE "TO BE SCANNED" BIT.
#8M6          ADX   5  BIT9                [SET "CLOSED" BIT
#96Q          LDX   2  1
#9LB          NGN   7  A1                  [INITIALISE THE ROUTING BLOCK.   
#=62    RESET STOZ     A1+BPTR(2)   
#=KL          STO   7  A1+BSTART(2) 
#?5=          STO   5  A1+FOURTHWD(2)   
#?JW          ADN   2  4
##4G          SBN   7  4
##J6          BCT   6  RESET
#*3Q          MHUNTW   2,IDF,IDENTIFIERS
#*HB          LDX   0  A1(2)
#B32          STO   0  A1+FOURTHWD(1)      [STORE LOWEST IDENTIFIER NO.-1   
#BGL          CHAIN    1,3                 [CHAIN AFTER THE INPUT ACTIVITY. 
#C2=          SMO      4
#CFW          EXIT  1  0                   [EXIT TO LINK.   
#C^G    [   
#DF6    [   
#DYQ    [   
#FDB    SK11IPBSTAR                        [RUNS IN A V7900 AMSCAN/IPBTYPE ACT  
#FY2          LAMOP    ,3                  [SET X3 -> THE V7900 AMOP/IPBIN ACT  
#GCL    #              ENTER K7IPBSTART TO SET UP THE IDF/IDENTIFIERS BLOCK 
#GX=    #              AND TO DEAL WITH MOPPING ON/OFF INTERLOCKS THEN CALL 
#HBW    #              S/R SVIOUTINBF TO SET UP THE AMXOR/IOUT&AMXOR/INBF BLOCKS
#HWG    #              AND RETURN TO LABEL NSSCAN TO SET UP THE AMXOR/ADEVS BLK,
#JB6    #              SET THE INPUT ACT GOING AT K1IPBIN,AND EXIT TO K1IPBSCAN 
#JTQ    #   
#K*B    SK7IPBSTARB 
#KT2          CALL  7  XIDFSCN  
#L#L          BRN      XMOP 
#LS=          LDCT  0  #10  
#M?W          ANDX  0  IPBSW(3)            [J. IF ALREADY BEING MOPPED ON.  
#MRG          BNZ   0  SUIC 
#N?6          LDCT  0  #10  
#NQQ          ORS   0  IPBSW(3)            [SET "IPB BEING MOPPED ON" FLAG(B5)  
#P=B    #   
#PQ2    SK8IPBSTARB 
#Q9L          LDCT  7  #20                 [HAS THE "MOP OFF" BIT BEEN SET? 
#QP=          ANDX  7  IPBSW(3) 
#R8W          BNZ   7  XSET3
#RNG          CALL  5  SVIOUTINBF          [IF V7900,JUST SET UP BLKS(DON'T O/P)
#S86          BRN      NSSCAN              [V7900 : SKIP IPB INITIALISATION 
#SMQ          LDN   6  3
#T7B          CALL  7  XSETIOUT 
#TM2          LDN   6  SEGINIT(1)   
#W6L          LDN   7  A1(2)
#WL=          MOVE  6  3
#X5W          CALL  4  START
#XKG          BRN      XSET2
#Y56    NSSCAN  
#Y7P ...      OUTBLOCN 4
#Y=# ...      LDN   4  1
#Y#X ...      OUTPACK  4,1,SWITCH   
#YCG ...      LDX   4  ZJMOP3(1)
#YG5 ...      CALL  5  OGE  
#YJQ          CALL  4  NDEVS               [SET UP THE ADEVS BLOCK. 
#^4B          LDCT  7  #20                 [J. IF MOPPED OFF.   
#^J2          ANDX  7  IPBSW(3) 
*23L          BNZ   7  XSET1
*2H=    #SKI  ICT   
*32W          FON      ADEVLIN                 [START ACTIVITIES WAITING FOR ADE
*3GG          LINKSET  3,PAIR3(1)          [SET IPBIN'S LINK TO K1IPBIN 
*426          LDX   0  XMASK(1)            [UNSET THE MOPPING ON BIT, IF SET.   
*4FQ          LDX   2  3
*4^B          ANDS  0  IPBSW(3) 
*5F2          FPUT                         [AND SET IT GOING.   
*5YL          ACROSS   IPBSCAN,1           [GO TO START UP IDENTIFIERS. 
*6D=    #   
*6XW    XMOP  LDCT  7  #20                 [UNSET MOP OFF BIT, IF SET.  
*7CG          ANDX  7  IPBSW(3) 
*7X6          BZE   7  SUIC 
*8BQ          ERS   7  IPBSW(3) 
*8WB          BRN      XSET4
*9B2    #   
*9TL    #UNS CRAMP  
*=*=    (   
*=SW    SK9IPBSTARB 
*?#G          YMOPOFF  XBI,£               [MARK UNIT MOPPED OFF IN IDF 
*?S6          LDN   6  3
*#?Q          CALL  7  XSETIOUT            [SEND INITIALISE + GOBAL TERMINATOR  
*#RB          LDN   6  SEGINIT(1)          [SUPERVISORY SEGMENTS
**?2          LDN   7  A1(2)
**QL          MOVE  6  3
*B==          CALL  4  START
*BPW          BRN      NSINOP1             [INOPERABILITY DETECTED  
*C9G          LDCT  7  #400                [SET "SUPPRESS CLOSE DOWN" FLAG (B0  
*CP6          ORS   7  AWORK4(2)           [OF AWORK4) FOR UPDAT
*D8Q          CALL  6  UPDAT               [SEND CONFIGURATION REQUEST AND  
*DNB                                       [UPDATE THE IDF IF REPORT OBTAINED   
*F82          LDX   1  FX1  
*FML          LDX   7  AWORK4(2)
*G7=          ANDX  7  GSIGN
*GLW          BNZ   7  NSFAIL              [INOPERABILITY DETECTED & REPORTED   
*H6G          BVCR     NSFAIL              [UPDATE FAILED:NO CONFIG. REP. OPTION
*HL6                                       [OR A NULL CONFIGURATION REPORT GIVEN
*J5Q          LDX   4  ZJUPOK(1)           [REPORT UPDATE SUCCESSFUL
*JKB          CALL  5  OGE  
*K52          LDCT  7  #20  
*KJL          ANDX  7  IPBSW(3) 
*L4=          BNZ   7  XSET1               [MOPPING OFF : CLOSE DOWN UNIT   
*LHW          YMOPON   XBI,XSTAT,,IPBSW    [MARK UNIT MOPPED ON IN IDF  
*M3G          SETALLOC                     [MARK UNIT MOPPED ON IN DEVICE LIST  
*MH6    #SKI  JWPHASE4  
*N2Q    (   
*NGB          LGEOG    ,4                  [GEOGRAPHIC NUMBER   
*P22          ORN   4  #4000               [MOP ON  
*PFL          HLSINFORM XBI,MOP,,4         [INFORM HLS OF MOP EVENT 
*P^=    )   
*SX2          BRN      NSSCAN              [JOIN K8IPBSTART'S PATH  
*TBL    #   
*TW=    NSINOP1 
*W*W          LDX   1  FX1  
*WTG          LDN   7  0
*X*6          ADSC  7  CHAINADD(3)         [UNSET "WAKE ME UP" MARKER   
*XJY ...      LDX   2  2
*XSQ ...      LDX   2  FX2  
*Y#B ...      LDX   5  AWORK2(2)
*YS2 ...      SMO      5
*^?L          LDX   4  ZJINOP(1)           [REPORT UNIT HAS BECOME INOPERABLE   
*^R=          CALL  5  OGE  
B2=W          LDN   7  1                   [SET "INOP MESS SENT" FLAG   
B2QG          ORS   7  IPBSW(3) 
B3=6    NSFAIL  
B3PQ          LDX   4  ZJUPFAIL(1)         [REPORT UPDATE FAILED
B49B          CALL  5  OGE  
B4P2          LDX   4  ZJMOP4(1)           [REPORT MOP ON ABANDONED 
B58L          CALL  5  OGE  
B5N=          BNZ   7  XSET3               [INOPERABILITY REPORTED : SKIP "SHUT"
B67W    #   
B6MG    )   
B776    XSET1 CALL  6  SHUT                [CLOSE THE IPB DOWN AGAIN.   
B7LQ    #UNS CRAMP<1$1  
B86B          HUNT2    1,AMXOR,ADEVS,3     [FREE THE ROUTING BLOCK. 
B8L2    #UNS CRAMP  
B95L          HUNT2J   1,AMXOR,ADEVS,3,XSET3 [FREE ROUTING BLOCK IF IT EXISTS   
B9K=          FREECORE 1
B=4W          BRN      XSET3
B==^ ...XSET2   
B=F4 ...      LDX   2  FX2  
B=M7 ...SK12STARB   
B=T= ...      LDX   4  CPPTR(2) 
B?3* ...      LONGSET  IPBMPWS,SUIC,4   
B?9D ...      LDX   7  XMASK(1) 
B?CH ...      ORN   7  1
B?KL ...      ANDS  7  IPBSW(3) 
B?RP ...      FON      #30  
B?^S ...      LGEOG    CPPTR(2),6   
B#7X ...      GEOPACK  6,6,6
B#B2 ...      OUTPACK  6,1,GEOPER   
B#J5 ...      LDX   5  AWORK2(2)
B#Q8 ...      BNZ   5  XSET25   
B#Y? ...      JN7900E  3,XSET25 
B*6B ...      LDN   5  2
B*#F ...XSET25  
B*GJ ...      SMO      5
B*NM ...      LDX   4  ZJINOP(1)
B*WQ ...      LDN   5  1
BB4T ...      DEMANDX  5,4,,XBI,XSETD,1 
BB=Y ...      BRN      SUIC 
BBFG    XSET3 SMO      FX1  
BB^6          LDX   7  XMASK               [UNSET MOP OFF/ON BITS IF SET , TO   
BCDQ          ORN   7  1                   [(BUT DON'T CLEAR INOP MESS SENT BIT)
BCYB          ANDS  7  IPBSW(3)            [INDICATE ACTION FINISHED
BDD2    XSET4 FON      #30                 [WAKE UP ANYONE WAITING FOR US.  
BDXL    SUIC
BFC=          SUICIDE   
BFWW    XBI   GEOERR   1,BREAKIN!          [CANT HAVE BREAK-IN  
BGBG    #UNS CRAMP  
BGW6    XGEO
BH*Q    XSTAT GEOERR   1,WRSTATE           [IPB MOPPED ON/ONLINED/WRONGED   
BHTB          MENDAREA 50,K99IPBSTARB   
BJ*2    #END
^^^^ ...310045160009
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1