IPCONE865

(George Source)

Macros used: ACROSS, BC, BS, BXU, CIPCM, CLCOUNT, COOR1, DCA, DFCLEAR, DFLOAD, DFSET, DOWN, DSCA, FPUT, FSHCODE, GEOERR, GETACT, GPERIIPC, IDENTITY, JBS, JDISENG, JENG, JIPCM, JIPCMN, JRESET, LFAILS, LGEOG, LGPERIS, LINKSET, LREPEATS, MBC, MENDAREA, MONOUT, OUTPACK, PAIR, R, RESETIPC, RINGACT, SEG, SEGENTRY, SIPCM, TIPCREP, TRACE

IPCONE865.txt
22FL          SEG      IPCONE,,JOHN BAILEY  
22^=    #   
23DW          SEGENTRY K1IPCONE,X1IPCONE
23YG          SEGENTRY K2IPCONE,X2IPCONE
24D6          SEGENTRY K3IPCONE,X3IPCONE
24XQ          SEGENTRY K4IPCONE,X4IPCONE
25CB          SEGENTRY K5IPCONE,X5IPCONE
25X2          SEGENTRY K7IPCONE,X7IPCONE
26BL          SEGENTRY K9IPCONE,X9IPCONE
26W=    #   
27*W    #     STORED WORDS  
27CS ...#   
27FQ ...      FSHCODE  AORB 
27HN ...(   
27KL ...SHFSLK  
27MJ ...      PAIR     FSHTRAND,10  
27PG ...)   
27RD ...#   
27TG    XOOX           #40000001
28SQ    RESBITS        #777700  
29S2    TIPBACT        +IPCA+IPCBX  
2=?L    XERR           +4                  [MAX NR OF ERRORS ALLOWED
2=R=    TMESSCODES     #04000040
2?=W                   #04000041
2?QG                   #04000042
2#=6                   #04000043
2#PQ                   #04000046
2*9B                   #03000047
2*P2                   #07000060
2B8L                   #07000061
2BN=                   #04000066
2C7W                   #03000067
2CMG                   #02000070
2D76 ...               #04000071
2DLQ                   #03000077
2DMY ...#   
2DP6 ...#   
2DQ# ...# COME HERE AFTER TIMING OUT ANY PERI   
2DRG ...# TIME OUT MUST MEAN OTHER SIDE IS DEAD 
2DSN ...# THUS DO A RESET AND TRY AGAIN 
2DTW ...XTIMEOUT
2DX4 ...      RESETIPC  
2DY= ...      BZE   0  NOPI 
2D^D ...      CALL  7  SWRC 
2F2L ...      BRN      RIP  
2F3S ...      BRN      NOPI 
2F52 ...      BRN      RIP  
3CC6    #     S/R TO WAIT FOR RESET STATUS TO CLEAR 
3CWQ    #     LINK IS CONTAINED IN X7   
3DBB    #     EXITS+2 WHEN RESET CLEAR,EXITS+1 IF TIMED-OUT,EXITS IF INOPERABLE 
3DW2    #     ON ENTRY : X1=FX1,X2=FX2=ADDRESS OF APPROPRIATE IPCA/IPCBX
3F*L    #   
3FT=    SWRC  SBX   7  FX1  
3G#W          LDX   0  CLEANCT  
3GSG          ADN   0  5000/K9  
3H#6          STO   0  IPCPTIME(2)         [TIME LIMIT  
3HRQ          SIPCM    RW                  ["WAITING FOR RESET CLEAR"   
3J?B    SW1   LDX   0  XOOX(1)  
3JR2          STO   0  CHAINADD(2)         [READY FOR EVENT 
3K=L          JDISENG  ,SW2                [GONE INOPERABLE 
3KQ=          JIPCM    TO,SW3              [WAITING TOO LONG
3L9W          JRESET   ,SW4                [RESET STATUS STILL SET  
3LPG    SW6   CIPCM    RW   
3M96          STOZ     IPCPTIME(2)  
3MNQ          NGNC  0  1
3N8B          ANDS  0  CHAINADD(2)  
3NN2          LDX   0  CHAINADD(2)  
3P7L          SBN   0  1
3PM=          BZE   0  SW5  
3Q6W          COOR1 
3QLG    SW5   ADX   7  FX1  
3R66          EXIT  7  2
3RKQ    SW4   COOR1 
3S5B          BRN      SW1  
3SK2    SW3   CIPCM    TO   
3T4L          SBN   7  1
3TJ=    SW2   SBN   7  1
3W3W          BRN      SW6  
5F#G    #     DEAL WITH ERROR IN MESSAGE SEQUENCE : 
5FS6    #     WAIT FOR RESET TO CLEAR   
5G?Q    #   
5GRB    X1IPCONE
5H?2    WHOOPS  
5HQL          TRACE    IPWRB(2),IPCONE1 
5J==          RESETIPC  
5JPW          BPZ   0  NOPS                [REJECTED(INOPERABLE)
5K9G          DFLOAD   ,ERCT,5             [ERROR COUNT 
5KP6          ADN   5  1
5L8Q          TXL   5  XERR(1)  
5LNB          BCC      RIPE                [TOO MANY ERRORS 
5M82          DFSET    ,ERCT,5             [STORE INCREMENTED COUNT 
5MML          CALL  7  SWRC                [WAIT FOR RESET TO CLEAR 
5N7=          BRN      RIPE                [WAIT BEYOND TIME LIMIT  
5NLW          BRN      NOPS                [INOPERABLE  
5P6G    #     SEND ERROR MESSAGE
5PL6    WH3 
5Q5Q          LDN   5  0                   [NO 'RESET ACCEPTED' MESSAGE --  
5QKB    WH5   LDX   0  TMESSCODES+12(1)    [RECEIVED YET
5R52          STO   0  IPWRB(2)            [HEADER  
5RJL          STOZ     IPWRB+1(2)          [NULL DIAGNOSTIC 
5S4=          NGS   0  IPWRB+2(2)          [NEGATIVE CHECKSUM   
5SHW          LDN   0  #11  
5T3G          DCA      ,DLA,0,MODE  
5TH6          LDN   0  3
5W2Q          DCA      ,DLA,0,COUNT 
5WGB          LDN   0  IPWRB(2) 
5X22          DCA      ,STO,0,CTSA  
5XFL          GPERIIPC ,2,CT
5X^= ...      TIPCREP  CT,XTIMEOUT,RIPF,NOPS,WH1   [AWAIT REPLY 
5YDW          BNZ   5  NEXTASK  
5YYG          SIPCM    R
5^D6          BRN      NEXTASK  
5^XQ    #     DEAL WITH POSSIBLE RESET ACCEPTED MESSAGE 
62CB    WH1   LDN   0  #12  
62X2          DSCA     ,DLA,0,MODE  
63BL          LDN   4  11   
63W=          DSCA     ,DLA,4,COUNT 
64*W          LDN   0  IPREB(2) 
64TG          DSCA     ,STO,0,CTSA  
65*6          GPERIIPC ,2,SP               [READ
65SQ ...      TIPCREP  SP,XTIMEOUT,RIPF,NOPS,,RIPE  
66#B          LDX   0  CPRW2(2) 
66S2          ANDN  0  #777 
67?L          SBX   4  0
67R=          LDN   7  IPREB(2) 
68=W          SMO      4
68QG          SUM   6  0                   [CALCULATE CHECKSUM  
69=6          BNZ   6  RIPE                [FAILED  
69PQ          LDX   0  IPREB(2) 
6=9B          ANDN  0  #77  
6=P2          SBN   0  #70  
6?8L          BZE   0  WH6                 [RESET ACCEPTED  
6?N=          SBN   0  1
6#7W          BZE   0  PINIT               [INITIALISE  
6#MG          SBN   0  6
6*76          BZE   0  RESA                [ERROR   
6*LQ          BRN      RIPE                [ANYTHING ELSE   
6B6B    WH6   LDN   5  1                   [NOTE RESET ACCEPTED 
6BL2          BRN      WH5                 [GO TO SEND ERROR MESSAGE
6C5L    #     DEAL WITH RESET SEQUENCES INITIATED   
6CK=    #     FROM THE OTHER END
6D4W    #   
6DJG    X3IPCONE
6F46    RESETA  
6FHQ          TRACE    IPWRB(2),IPCONE2 
6G3B          CALL  7  SWRC                [WAIT FOR RESET TO CLEAR 
6GH2          BRN      RIPE                [WAIT BEYOND TIME LIMIT  
6H2L          BRN      NOPS                [INOPERABLE  
6HG=    #     RESET IS NOW CLEAR : A'RESET ACCEPTED' MESSAGE
6H^W    #     MUST BE SENT TO INTERRUPT THE REMOTE PROCESSOR
6JFG          LDX   0  TMESSCODES+10(1) 
6J^6          STO   0  IPWRB(2)            [HEADER  
6KDQ          NGS   0  IPWRB+1(2)          [CHECKSUM
6KYB          LDN   0  #11  
6LD2          DCA      ,DLA,0,MODE  
6LXL          LDN   0  2
6MC=          DCA      ,DLA,0,COUNT 
6MWW          LDN   0  IPWRB(2) 
6NBG          DCA      ,STO,0,CTSA  
6NW6          GPERIIPC ,2,CT               [SEND RESET ACCEPTED MESSAGE 
6P*Q ...      TIPCREP  CT,XTIMEOUT,RIPF,NOPS,RESA2  
6PTB    RESA2 LDN   0  #12  
6Q*2          DSCA     ,DLA,0,MODE  
6QSL          LDN   4  11   
6R#=          DSCA     ,DLA,4,COUNT 
6RRW          LDN   0  IPREB(2) 
6S?G          DSCA     ,STO,0,CTSA  
6SR6          GPERIIPC ,2,SP               [READ ERROR  
6T=Q ...      TIPCREP  SP,XTIMEOUT,RIPF,NOPS,,RIP   
6TQB          LDX   0  CPRW2(2) 
6W=2          ANDN  0  #777 
6WPL          SBX   4  0                   [NR OF WDS TRANSFERRED   
6X9=          LDN   7  IPREB(2) 
6XNW          SMO      4
6Y8G          SUM   6  0                   [CALCULATE CHECKSUM  
6YN6          BNZ   6  RIP                 [IF CHECKSUM FAIL,GIVE UP
6^7Q    #     FURTHER  INPUT CHECKS 
6^MB          LDCH  0  IPREB(2) 
7272          BXU   0  4,RIPE              [COUNT WRONG 
72LL    #     TEST MESSAGE TYPE 
736=          LDX   0  IPREB(2) 
73KW          ANDN  0  #77  
745G          SBN   0  #71  
74K6          BZE   0  PINIT               [INITIALISE  
754Q          SBN   0  6
75JB          BNZ   0  RIPE 
7642    RESA  LDX   0  IPREB(2) 
76HL          ANDN  0  #1000
773=          BZE   0  NEXTASK             [NOT GEORGE BROKEN   
773K ...      FSHCODE  A,SNOTA             [ FOR SHFS M/C A MUST CHECK THE  
773Y ...(                                  [ MESSAGE FROM PM IN M/C B   
774? ...      LDX   6  IPREB+1(2)   
774L ...      BZE   6  SNOTA2              [ J. IF THE NORMAL GEORGE DOWN MESS. 
774M ...      NGN   0  2                   [CODE -2 MEANS MAJOR ERROR   
774N ...      TXU   0  6
774P ...      BCS      NOD1              [PMMBRK MACRO  
774Q ...      '142   0  0                 [CODE -2 MEANS EXEC PM WANTED 
774R ...      BRN      NODUMP   
774S ...NOD1  NGN   0  3                  [CODE -3 MEANS GEORGE PM  
774T ...      BCS      NODUMP   
774W ...      GEOERR 1,IPCBDOWN            [STOP FORCED BY SLAVE
774X ...NODUMP  
774^ ...      JBS      SNOTA2,,FSHCLOSDOWN [ OR IF ALREADY INITIATED UNANT.CLOSE
775# ...      BC       ,FSHRUNNING         [ ELSE CLEAR LINK RUNNING BIT
775M ...      BS       ,FSHCLOSDOWN        [ AND SET CLOSEDOWN STARTED BIT  
775Q ...      MBC      ,JSVIRTMOPB,JSVIRTBACKB [CLEAR 'B' M/C VIRTUAL JOB SLOTS 
775T ...      BS       ,JSPREFERA   
7762 ...      FINDACTF 2,FX2,IPCA,FSHBPM,NOBPM,BPTR [ SEE IF ALREADY GOT /FSHBPM
776* ...      BRN      SGOTBPM             [ J. IF WE HAVE ELSE 
776N ...NOBPM   
7773 ...      GETACT   IPCA,FSHBPM         [ SET UP ACT TO CONTROL CLOSEDOWN
7775 ...#   
7777 ...#     IF THERE ARE TWO IPB'S, WE MAY BE INTERFERING WITH THE DATA   
7779 ...#     STRUCTURE FOR THE IPB ACTIVITIES BY CREATING THE /FSHBPM, SO  
777? ...#     WHEN IT IS SET UP, WE MOVE IT BEHIND BLANKET (OUT OF THE WAY!!)   
777* ...#   
777C ...      LDX   1  BPTR(2)             [ADDRESS OF /FSHBPM  
777F ...      LDN   2  BACT                [ADDRESS OF BLANKET  
777H ...      RINGACT  1,2                 [RE-SITE THE /FSHBPM 
777K ...      LDX   2  BACT+BPTR           [RESTORE POINTER TO /FSHBPM  
777M ...#   
777P ...      LINKSET  2,SHFSLK(1)         [ SET INITIAL LINK FSHTRAND,10   
7784 ...      BS       2,FSHBPMACTWT       [ MARK TO WAIT FOR OP. ACTION
778C ...      STO   6  ACOMMUNE1(2)        [ GIVE IT THE ACT/JOB NO OF CURRENT  
778Q ...      FPUT                         [ IN B AT BREAK AND START UP THE ACT 
7795 ...      BRN      SWAITGB2 
779D ...SGOTBPM                            [ ALREADY GOT /FSHBPM ACT SO 
779R ...      JBS      NOBPM,2,FSHBPMKILL  [ FIRST CHECK IF ITS ABOUT TO SUICIDE
77=6 ...      STO   6  ACOMMUNE1(2)        [ J. IF IT IS ELSE STORE ACT/JOB NO &
77=F ...      BC       2,FSHBPMLKCOM       [ CLEAR LK COMMAND MARKER & CARRY ON 
77=S ...SWAITGB2
77?7 ...#   
77?G ...#     AT THIS POINT WE NEED TO SET UP A QUIESCENT READ AND WAIT 
77?N ...#     FOR THE SECOND MESSAGE FROM PM IN 'B'.#   
77?W ...#   
77#4 ...      SIPCM    Q                [SET QUIESCENT  
77#= ...      LDN   0  #12  
77#D ...      DSCA     ,DLA,0,MODE          [READ MODE  
77#L ...      LDN   4  11   
77#S ...      DSCA     ,DLA,4,COUNT          [11 WORDS  
77*2 ...      LDN   0  IPREB(2) 
77*8 ...      DSCA     ,STO,0,CTSA  
77*B ...      GPERIIPC ,2,SP
77*J ...      TIPCREP  SPQ,TOPM,RESETA,TOPM,,TOPM   
77*X ...#   
77B= ...TOPM
77BK ...      BRN      RIPF 
77BY ...SNOTA2                             [ SECOND MESSAGE FROM PM IN 'B'  
77C? ...      FINDACTF 2,FX2,IPCA,FSHBPM,PMGONE,BPTR  [ FIND THE /FSHBPM AND
77CL ...      BC       2,FSHBPMACTWT       [ CLEAR 'WT FOR OP. ACTION' MARKER   
77CR ...PMGONE  
77C^ ...      LDX   2  FX2  
77D# ...SNOTA   
77DM ...)   
77F2 ...      FSHCODE  B,SNOTB             [ FOR SHFS M/C B MUST BREAK AS SOON  
77F* ...(                                  [ IT DETECTS PM ENTERED ON M/C A 
77FN ...      GEOERR   1,ZOMBIE            [ SO GEOERR !!!  
77G3 ...SNOTB   
77GB ...)   
77GW          SIPCM    GB   
782G          DFCLEAR  ,RGM 
78G6          DFCLEAR  ,IDENT1  
78^Q          DFCLEAR  ,IDENT2  
79FB          BRN      RIP  
79^2          BRN      NEXTASK  
7=DL    #     DEAL WITH INITIALISE MESSAGE RECEIVED 
7=Y= ...PINIT DOWN     IPCONF,1         [DOWN TO CLEAR UP   
7?CW    X9IPCONE
7?XG          LDX   0  IPREB(2) 
7#C6          ANDN  0  #1000
7#WQ          BZE   0  PI2                 [NOT GEORGE  
7*BB          DFSET    ,RGM                [NOTE REMOTE GEORGE  
7*W2          LDX   0  IPREB+1(2)   
7B*L          DFSET    ,IDENT1,0           [STORE IDENTITY OF REMOTE GEORGE 
7BT=          LDX   0  IPREB+2(2)   
7C#W          DFSET    ,IDENT2,0
7CSG    PI2   LDX   0  TMESSCODES+11(1)    [HEADER  
7D#6          ORN   0  #1000
7DRQ          STO   0  IPWRB(2) 
7F?B          LDX   0  IDENTITY            [IDENTITY
7FR2          STO   0  IPWRB+1(2)   
7G=L          LDX   0  IDENTITY+1   
7GQ=          STO   0  IPWRB+2(2)   
7H9W          LDN   7  IPWRB(2) 
7HPG          SUM   6  3
7J96          NGS   6  IPWRB+3(2)          [CHECKSUM
7JNQ          LDN   0  4
7K8B          DCA      ,DLA,0,COUNT 
7KN2          LDN   0  #11  
7L7L          DCA      ,DLA,0,MODE  
7LM=          LDN   0  IPWRB(2) 
7M6W          DCA      ,STO,0,CTSA  
7MLG          GPERIIPC ,2,CT               [SEND INITIALISE RESPONSE
7MW# ...      TIPCREP  CT,XTIMEOUT,RIPF,NOPI,RIPE   
7N66          JIPCM    DS,PI1              [J IF DIALOGUE SUSPENDED 
7P5B          BRN      NEXTASK  
7PK2    PI1   JIPCMN   SM,PI3   
7Q4L          LGEOG    ,4   
7QJ=          OUTPACK  4,1,GEOPER   
7R3W          MONOUT   IPCDR               [OUTPUT DIALOGUE RESUMED MESSAGE 
7RHG          CIPCM    SM   
7S36    PI3   CIPCM    DS                  [CLEAR'DIALOGUE SUSPENDED'   
7SGQ          CIPCM    GB                  [ETC 
7T2B          CIPCM    ER   
7TG2          CIPCM    AO   
7T^L          BRN      NEXTASK  
7WF=    #     TIMED-OUT ENTRY POINT 
7WYW    #   
7XDG    X5IPCONE
7XY6          TRACE    IPWRB(2),IPCONE3 
7YCQ          CIPCM    TO   
7YXB          STOZ     IPCPTIME(2)  
7^C2          JENG     ,WHOOPS  
7^WL          BRN      NOPS 
82B=    #     MAJOR DISASTER SECTION
82TW    #   
83*G    #              ENTRY POINT FOR SUSPENDED DIALOGUE   
83T6    #   
84#Q    RIPF  RESETIPC  
84SB          BZE   0  NOPI 
85#2          CALL  7  SWRC 
85RL          BRN      RIP  
86?=          BRN      NOPI 
86QW          BRN      RIP  
87=G    RIPE  SIPCM    ER   
87Q6    X7IPCONE
889Q    RIP   SIPCM    DS                  [SET 'DIALOGUE SUSPENDED' MARKER 
88PB          TRACE    IPWRB(2),IPCONE4 
8992          DFCLEAR  ,ERCT               [CLEAR ERROR COUNT   
89NL          SIPCM    SM   
8=8= ...      DOWN     IPCONF,1         [DOWN TO CLEAR UP   
8=MW          LGEOG    ,4   
8?7G          OUTPACK  4,1,GEOPER   
8?M6          LGPERIS  ,4   
8#6Q          OUTPACK  4,1,TRANSCT  
8#LB          LREPEATS ,4   
8*62          BZE   4  PIX  
8*KL          OUTPACK  4,1,REPEATS  
8B5=          CLCOUNT  ,REPEAT  
8BJW    PIX   LFAILS   ,4   
8C4G          BZE   4  PIY  
8CJ6          OUTPACK  4,1,FAILCT   
8D3Q          CLCOUNT  ,FAIL
8DHB    PIY   MONOUT   IPCDS               [OUTPUT DIALOGUE SUSPENDED MESSAGE   
8F32          JRESET   ,RI2 
8FGL          BRN      RI1  
8G2=    RI2   ACROSS   IPCSTART,7   
8GFW    #              ENTRY POINT FOR WAITING FOR THE OTHER END TO 
8G^G    #              INITIALISE.  
8HF6    #              A READ IS PUT UP TO DETECT A RESET,OR READ THE   
8HYQ    #              MESSAGE  
8JDB    #              'DS' SHOULD BE SET ON ENTRY  
8JY2    #   
8KCL    X4IPCONE
8KX=          TRACE    IPWRB(2),IPCONE5 
8LBW    RI1   LDN   0  #12  
8LWG          DSCA     ,DLA,0,MODE  
8MB6          LDN   4  11   
8MTQ          DSCA     ,DLA,4,COUNT 
8N*B          LDN   0  IPREB(2) 
8NT2          DSCA     ,STO,0,CTSA  
8P#L          SIPCM    Q                   [SET QUIESCENT   
8PS=          GPERIIPC ,2,SP
8Q?W ...      TIPCREP  SPQ,RI1,RI2,NOP,,RI1 
8QRG          LDN   0  #77  
8R?6          ANDX  0  IPREB(2) 
8RQQ          SBN   0  #71  
8S=B          BNZ   0  RI1                 [NOT INITIALISE  
8SQ2          LDX   0  CPRW2(2) 
8T9L          ANDN  0  #777 
8TP=          SBX   4  0
8W8W          LDN   7  IPREB(2) 
8WNG          SMO      4
8X86          SUM   6  0                   [CALCULATE CHECKSUM  
8XMQ          BNZ   6  RI1                 [WRONG,SO IGNORE MESSAGE 
8Y7B          BRN      X9IPCONE 
8YM2    #     SET APPROPRIATE MARKER BEFORE DEALING WITH IPB INOPERABLE 
8^6L    NOPI  SIPCM    DS   
8^L=          BRN      NOP  
925W    NOPS  SIPCM    SI   
92KG    #     DEAL WITH IPB INOPERABLE  
9356    #   
93JQ    X2IPCONE
944B    NOP 
94J2          ACROSS   IPCOND,1 
953L    NEXTASK 
95H=          ACROSS   IPCON,1  
962W          MENDAREA 1023-0?,K99IPCONE
96GG    #END
^^^^ ...37134674000300000000
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1