File: VT50.PA of Tape: OS8/OS8-V3D/al-4693d-sa-os8-v3d-3
(Source file text) 

			/ VT50 HARD COPY OPTION HANDLER
			/
			/
			/
			/
			/
			/
			/ COPYRIGHT (C) 1975
			/ DIGITAL EQUIPMENT CORPORATION,MAYNARD, MASS.
			/
			/
			/
			/
			/ THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE
			/ ONLY ON A SINGLE COMPUTER SYSTEM AND MAY BE COPIED
			/ ONLY WITH THE INCLUSION OF THE ABOVE COPYRIGHT
			/ NOTICE. THIS SOFTWARE, OR ANY OTHER COPIES
			/ THEREOF, MAY NOT BE PROVIDED OR OTHERWISE MADE 
			/ AVAILABLE TO ANY OTHER PERSION EXCEPT FOR USE ON
			/ SUCH SYSTEM AND TO ONE WHO AGREES TO THESE
			/ LICENSE TERMS.  TITLE TO AND OWNERSHIP OF THE
			/ SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC.
			/
			/
			/
			/ THE INFORMATION IN THIS DOCUMENT IS SUBJECT
			/ TO CHANGE WITHOUT NOTICE AND SHOULD NOT BE
			/ CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
			/ CORPORATION.
			/
			/
			/
			/ DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR
			/ RELIABILITY OF ITS SOFTWARE ON EQUIPMENT
			/ WHICH IS NOT SUPPLIED BY DEC.
			/
			/
			/
			//
			/
			/
			/
			/
			/ SR,JG	DATE 4/8/75
			/
			/
	*0		/ LOCATION FOR BUILD
	-1
	DEVICE VT50;DEVICE LST;0;AUTOPT&177;ZBLOCK 2
			/
			/
	*200
	AUTVERSION="A&77
			/
			/
			/
AUTOPT,	AUTVERSION
	RDF		/ GET THE DATA FIELD
	TAD	TTYCIF	/ MAKE A CDF CIF INSTRUCTION
	DCA	TTYXIT	/ STORE IT FOR LATER
	TAD I	AUTOPT	/ GET FIELD OF BUFFER
	AND	TT70
	TAD	TTCDF	/ MAKE A CDF INST
	DCA	TTYCDF	/ SAVE IT
	TAD I	AUTOPT	/ GET BUFFER COUNTER
	AND	(3700
	CMA
	DCA	TTYWC	/ STORE IT IN WORD COUNT
	ISZ	AUTOPT	/
	TAD I	AUTOPT	/GET CURRENT ADDR.
	DCA	TTYCA	/ STORE IT
	ISZ	AUTOPT	/ SKIP BLOCK #
	ISZ	AUTOPT	/ LOOKING AT ERROR RETURN
TEM,
TTYCDF,	0
COOL,	JMS	CLSCRN	/ GO CLEAR SCREEN
	TAD	(136-33
	JMS	ESCAP	/ PRINT ESC CHAR
	JMP	TTKLG	/ START
NXTCHR,	TAD I	TTYCA	/ PICK UP BUFFER ADDRESS
	JMS	TTYPCH	/GO TO UNPACK + OUTPUT ROUTINE
	DCA	TTYGCH	/ SAVE HIGH ORDER BITS
	ISZ	TTYCA	/ BUMP BUFF. POINTER
TT7400,	7400
	JMS	TTYIN	/ GO TO ABORT ROUTINE
	TAD I	TTYCA	/ GET NEXT CHAR.
	JMS	TTYPCH
	CLL RTR
	RTR		/ FORM THE
	TAD	TTYGCH	/ THIRD
	CLL RTR		/ CHARACTER
	RTR
	JMS	TTYPCH	/ OUTPUT THIRD
	ISZ	TTYCA	/ BUMP POINTER
TT70,	70
L7600,	7600		/ CLA
TTKLG,	ISZ	TTYWC	/ BUMP THE COUNTR.
	JMP	NXTCHR	/ GO TO NEXT CHAR.
TTYRTN,	TAD	(137-33/ GET ESC CHARS.
	JMS	ESCAP	/ TURN ON COPYIER
	ISZ	AUTOPT	/ GET NORMAL RETURN ADDR
TTYXIT,	HLT		/ AND RETURN FIELDS
	DCA	COOL	/ KILL THE CLEAR SCREEN FUNCTION 
	JMP I	AUTOPT	/ AND LEAVE
TTYPCH,	0
	DCA	HOLD	/SAVE CHAR FOR CHECKS
	TAD	HOLD
	AND	(177	/ 
	TAD	(200-232	/ END OF BUFF
	SNA CLA
	JMP	TTYRTN	/ ^Z MEANS END OF BUFFER
	TAD	HOLD	/ IF NOT, THEN LEGAL CHAR.
	JMS	TTYPRNT	/ OUTPUT CHAR
	AND	TT7400
	STL
	JMP I	TTYPCH	/ SAVE HIGH BITS FOR 3RD CHAR.
TTYPRN,	0
	TLS		/ SEND CHAR.
	TSF		/  WAIT FOR FLAG ????
	JMP	.-1
	JMP I	TTYPRNT	/ RETURN
ESCAP,	0
	DCA	TEM	/ TEMP. STORAGE
	TAD	(33	/ GET ESC CHAR.
	JMS	TTYPRNT/ GO TO OUTPUT ROUTINE
	TAD	TEM	/ GET CHAR.
	JMS	TTYPRNT	/ GO TO OUTPUT
	CLA
	JMP I	ESCAP	/ GO BACK TO CALLING AGR.
TTYIN,	0
HERE,	TAD	L7600	/ SET A.C. FOR PARITY READ
	KRS		/ PARITY READ
	TAD	(-7603	/ IS IS A ^C ?
	SNA		/ NO
	JMP	CTRLC	/ YES, GET OUT OF HERE
	TAD	(203-221	/IS IT A ^Q ?
	SNA		/ NO
	JMP	CTRLQ	/ YES, GO BACK TO PRINTING
	TAD	(221-223/ IS IT A ^S ?
	SNA CLA
	JMP	HERE	/ YES, STALL !!!!!
	JMP I	TTYIN	/ ANYTHING ELSE
CTRLC,	JMS	CLSCRN	/ CLEAR SCREEN
	TAD	(137-33
	JMS	ESCAP	/ OUTPUT ESC CHAR.
	TAD	(-16	/ SET NULL COUNT
	DCA	TEM	/TEMPORARY LOC. FOR COUNTING
	JMS	TTYPRNT	/ FORCE THE SCREEN TO LISTEN
	ISZ	TEM	/COUNT NULLS
	JMP	.-2	/ DO IT 16 TIMES
TTCDF,	CDF 0		/ SET RETURN FIELD
	KCC		/ FLUSH INPUT BUFFER
	JMP I	L7600	/ RETURN TO OS/8 !!!!!!!!!!
CLSCRN,	0
	TAD	(110-33	/ SET HOME CHAR
	JMS	ESCAP	/ GO TO OUTPUT ROUTINE
	TAD	(112-33	/ SET CLEAR SCREEN CHAR
	JMS	ESCAP
	JMP I	CLSCRN	/ RETURN
CTRLQ,	KCC
	JMP I	TTYIN	/ CLEAR CHAR BEFORE GOING BACK
TTYCIF,	CDF CIF 0
TTYWC,	0
TTYCA,	0
TTYGCH,	0
HOLD,	0
$$$$$