Trailing-Edge
-
PDP-10 Archives
-
bb-bt99e-bb
-
dntty.c10
There is 1 other file named dntty.c10 in the archive. Click here to see a list.
REP 1/1 ;10C1
.SBTTL DNTTY - TERMINAL ROUTINES 21 AUG 84
WIT
.SBTTL DNTTY - TERMINAL ROUTINES 4 DEC 84
REP 8/1 ;10C2
VRTTY=111 ;FILE EDIT NUMBER
WIT
VRTTY=114 ;FILE EDIT NUMBER
REP 55/2 ;10C3
.BYTE 0 ;DB.EPL
SETLCB \NXTDH ;DB.LCB
WIT
.BYTE 0 ;DB.EPL
SETLCB \NXTDH
REP 52/4 ;10C4
SETLCB \<NXTDZ+<NDH11*20>> ;DB.LCB
WIT
SETLCB \NXTDZ
REP 48/6 ;10C5
.BYTE 0,0,0,0,0,0 ;DB.FIL
.BYTE 0 ;DB.EPL
SETLCB \NXTDH ;DB.LCB
WIT
.BYTE 0,0,0,0,0,0 ; DB.FIL
.BYTE 0 ;DB.EPL
SETLCB \NXTDH
REP 47/7 ;10C6
.BYTE 0,0,0,0,0,0 ;DB.FIL
.BYTE 0 ;DB.EPL
SETLCB \<NXTDZ+<NDH11*20>> ;DB.LCB
WIT
.BYTE 0,0,0,0,0,0 ; DB.FIL
.BYTE 0 ;DB.EPL
SETLCB \NXTDZ
DEL 43/15 ;10C7
BIC #DS.IST,@J ;LET THE -10 GENERATE THE XON
REP 14/25 ;10C8
1$: CMP #20,JIFFLG ;IF CLOCK LEVEL HAS RUN RECENTLY
BGE XMT.0 ; THEN IT'S OK TO RUN TERMINALS NOW
MOVB #3,DB.TIM(J) ;IF WE'VE BEEN TYING UP THE MACHINE
BIS #DS.ACT,@J ;FLAG THE LINE AS "ACTIVE"
5$: RTS PC ;BUT OTHERWISE SHUT IT DOWN
; (LETTING IRMA RESTART IT LATER)
WIT
1$: CMP #20,JIFFLG ;IF CLOCK LEVEL HAS RUN WITHIN
BGE XMT.0 ; THEN IT'S OK TO RUN
MOVB #3,DB.TIM(J) ;IF WE'VE BEEN TYING UP THE MACHINE
5$: RTS PC ;MAKE SURE IRMA CATCHES US SOON,
; AND SHUT DOWN THIS LINE
INS 25/31 ;10C9
BGE TYPE90 ;IF STILL POSITIVE TYPE IT
CLRB DB.COL(J) ;ELSE BACK TO COLUMN ZERO
DEL 16/34 ;10C10
CMPB #LCS.RU,LC.STA(R2) ;LINE O.K.?
BGT LRTS ;IF IT ISN'T, PUNT THE CHAR
CMPB #LCS.RC,LC.STA(R2) ;LINE O.K.?
BLT LRTS ;IF IT ISN'T, PUNT THE CHAR
INS 3/35 ;10C11
MOV DB.LCB(J),R2 ;GET POINTER TO LCB,
CMPB #LCS.RU,LC.STA(R2) ;LINE OK?
BGT LRTS ; IF IT ISN'T, PUNT THE CHAR
CMPB #LCS.RC,LC.STA(R2) ;LINE OK?
BLT LRTS ; IF IT ISN'T, PUNT THE CHAR
REP 15/41 ;10C12
MOV DB.LCB(J),R2 ; AND SAVE IT IN THE LCB
.IIF NE FT2741,PIOFF
MOV R1,-(P) ; SAVE SPEED
MOV R2,-(P) ; AND POINTER TO LCB
MOVB DB..LN(J),R2 ; FETCH THE DH11 LINE #
JINDEX JSR,DB.TYP(J),R3,DEVSPD
BCS 98$ ; CARRY CLEAR => GOOD NEWS
MOV (P)+,R2 ; SO GET THE SPEED WE TRIED FOR
MOV (P)+,LC.SPD(R2) ; AND PUT IN INTO LCB
BR 97$
98$: MOV (P)+,R2 ; GET BACK LCB POINTER
TST (P)+ ; POP OFF UN-USED SPEED
97$:
WIT
.IIF NE FT2741,PIOFF
MOVB DB..LN(J),R2 ; FETCH THE DH11 LINE #
JINDEX JSR,DB.TYP(J),R3,DEVSPD
BCS 98$ ; CARRY SET IS ERROR
MOV DB.LCB(J),R2 ; SUCCESS, GET ADDRESS OF LCB
MOV R1,LC.SPD(R2) ; AND PUT NEW ACTUAL SPEED IN LCB
98$:
DEL 1/42 ;10C13
SUM 76757