Trailing-Edge
-
PDP-10 Archives
-
bb-l014t-bm_tops20_v7_0_atpch20
-
autopatch/xdte10.c20
There are 6 other files named xdte10.c20 in the archive. Click here to see a list.
REP 38/1 ;20C1
COPYRIGHT (c) 1982,1981,1980, 1979
DIGITAL EQUIPMENT CORPORATION, maynard, mass.
WIT
COPYRIGHT (c) 1988,1982,1981,1980,1979
DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
REP 1/2 ;20C2
VDTE10=033 ;XDTE10 edit number
WIT
VDTE10=034 ;XDTE10 edit number
REP 30/2 ;20C3
.ENDR;.REPT 0
WIT
5(34) RCB 30-JAN-88 Update to handle 7.04's desire to autoconfigure
the DTEs on a -10. Basically, we allow QP2
handshaking even if we don't want it. We just
tell the -10 it was mistaken, and that we're
a QP1 DN60S front end.
.ENDR;.REPT 0
INS 52/6 ;20C4
;LINE USER TYPES FOR TOPS-10 INITIALIZATION:
DD.NOB=0 ;NOBODY (DEFAULT) -- RSX20F OR UNKNOWN
DD.ANF=1 ;ANF-10 (DN87S)
DD.DEC=2 ;DECNET (MCB)
DD.PRO=3 ;PROGRAM (DIAGNOSTIC OR DTELDR)
DD.IBM=4 ;DN60S
REP 3/14 ;20C5
.IF NE,FTP5
.ENABL LSB
S.INI0: ;initial protocol start exchange
WIT
S.INI0: ;initial protocol start exchange
.IF EQ,FTFEDV
REP 10/14 ;20C6
GOBACK
15$:
S.IN00: BIS #TO.INI,DTSTT ;yes - we are too
WIT
.IF EQ,FTP5
BIS #I..DBL,INTCND ;Restore our interrupt
NXTINT #S.IDLE ;To simulate old code
.ENDC ;.IF EQ,FTP5
GOBACK ;Re-dispatch or ignore
15$:
.IF EQ,FTP5
MOV DTENM(R3),R2 ;Our owned region address
EXAM R2,DTXTM3,5$ ;Read it from the ten
; BIC #PB.VER,DTXTM3 ;Clear comm. version
CLR DTXTM3 ;Clear comm. version (bug in DTESER?)
MOVB #DD.IBM,DTXTM2+1 ;Tell the ten we're a DN60S
CLR R2 ;This is our deposit window's base
DEPO R2,DTXTM3,5$,20$ ;Update this for the ten to see
22$=20$-2 ;Where the BCS 5$ lives
MOV DTEMYN(R3),R2 ;My to-10 section base
EXAM R2,DTXTM3,22$ ;Read it from the ten
BIC #TO.PRO,DTXTM2 ;We want to use old protocol
MOV DTDMYN(R3),R2 ;Get deposit address for this word
DEPO R2,DTXTM3,22$ ;Update it for the ten
.ENDC ;.IF EQ,FTP5
S.IN00:
15$: BIS #TO.INI,DTSTT ;yes - we are too
REP 18/14 ;20C7
NXTINT ;now he must agree that we agree
.DSABL LSB
WIT
.IF EQ,FTP5
GOBACK ;Start over (or go to S.IDLE)
.ENDC
.IF NE,FTP5
NXTINT ;now he must agree that we agree
INS 35/14 ;20C8
.ENDC ;.IF EQ,FTFEDV
REP 45/14 ;20C9
.ENABL LSB
TGHSTD: CALL TGHWAI
99$: GOBACK
WIT
TGHSTD: CALL TGHWAI
TGHSTX: GOBACK
REP 54/14 ;20C10
S.IDL1: CMPB DT10QC,TCSTFX+4 ;compare our queue count with -10's
BEQ 99$ ;if same, ignore
WIT
.IF EQ,FTFEDV
BIT #TO.INI,TCSTFX ;Doorbell to initialize?
BEQ S.IDL1 ;No, skip this
BIS #I..DBL,INTCND ;Yes, restore our interrupt
NXTINT #S.INI0 ;Set its proper handler
BR TGHSTX ;and dismiss
.ENDC ;.IF EQ,FTFEDV
S.IDL1: CMPB DT10QC,TCSTFX+4 ;compare our queue count with -10's
BEQ TGHSTX ;if same, ignore
DEL 62/14 ;20C11
.DSABL LSB
REP 112/14 ;20C12
BIS I..DBL,INTCND ;dummy up interrupt condition
WIT
BIS #I..DBL,INTCND ;dummy up interrupt condition
REP 238/14 ;20C13
BIS I..DBL,INTCND ;dummy up interrupt condition
WIT
BIS #I..DBL,INTCND ;dummy up interrupt condition
REP 61/15 ;20C14
.IF EQ,FTP5
SAVE #S.IDLE ;start idling
.IFF
SAVE #S.INI0 ;startup exchange required
.ENDC ;.IF EQ,FTP5
SAVE <#0,#0,#0,DTEPCA,#0,DTEBAD>;initialize state regs and return
MOV SP,STATSP ;save state machine stack pointer
MOV #S.IDLE,NXTPC ;save current (and next) state
WIT
SAVE <#S.INI0,#0,#0,#0,DTEPCA,#0,DTEBAD>;initialize state machine
MOV SP,STATSP ;save state machine stack pointer
MOV #S.INI0,NXTPC ;save current (and next) state
REP 48/18 ;20C15
.IIF NE,FTP5,INC R5 ;faker
WIT
.IIF EQ,FTFEDV,INC R5 ;faker
INS 97/18 ;20C16
MOV DLDPOF,DTENM(R5) ;STORE ADDRESS OF OUR OWNED AREA
SUM 206376