Google
 

Trailing-Edge - PDP-10 Archives - bb-bt99g-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