 
;		      **** DRAFT--Not Final ****
;		         ZCPR 3.3 System TCAP
;
; Version for the Visual 50 in the Hazeltine emulation mode using
;		Escape as a lead in character.
;
; Copyright 1985, 1986 by Richard Conn, Dennis Wright, and Echelon, Inc.
;                        All Rights Reserved
;
; Note on Padding:
;		All entries which have an asterisk (like, *) following
;		their one-line explanation have delays which may be
;		variable.
; Note on Definition:
;	        If a function is not available for a particular terminal,
;               its string should be 0 and its delay should be 0 (if it has
;               a delay).
;
;
; Section 1: Basic Terminal Characteristics
;
;	YU	Single Character Generated by Uparrow Key on Keyboard
;	YD	Single Character Generated by Downarrow Key on Keyboard
;	YL	Single Character Generated by Leftarrow Key on Keyboard
;	YR	Single Character Generated by Rightarrow Key on Keyboard
;		Note: If no arrow keys or arrow keys generate more than
;		one character (like VT100), then use WordStar convention
;		for these codes: YU=^E, YD=^X, YL=^S, YR=^D
;
;	CL	Clear Screen String (has a delay which may be variable);
;		cursor is placed in home position (upper left corner) when
;		this sequence is complete
;
;	CM	Cursor Motion String (see explanation of codes in the Manual)
;
;	CE	Clear to End of Line String; cursor is left at original
;		position when this sequence is complete
;
;	SO	Begin Highlighting (Reverse Video or Dim); no character
;		positions on the screen are used by this sequence (ie, cursor
;		does not move after this sequence is complete)
;	SE	End Highlighting (return to Normal display intensity); no
;		character positions on the screen are used by this sequence
;
;	TI	Initialize Terminal String; it is preferred that nothing be
;		output to the screen by this sequence, but no output is not
;		required
;	TE	Deinitialize Terminal String; it is preferred that nothing
;		be output to the screen by this sequence
;
envor2:
	db	'Visual 50/Hazel '	; Name of Terminal (16 chars)
	db	'E'-'@'			; YU (YU = Cursor UP)
	db	'X'-'@'			; YD (YD = Cursor DOWN)
	db	'D'-'@'			; YL (YL = Cursor LEFT)
	db	'S'-'@'			; YR (YR = Cursor RIGHT)
	db	15			; CL Delay (CL = Clear Screen)*
	db	0			; CM Delay (CM = Cursor Motion)
	db	2			; CE Delay (CE = Clear to EOL)
	db	1bh,'\'-'@',0		; CL String
	db	1bh,'Q'-'@','%r%.%.',0	; CM String
	db	1bh,'O'-'@',0		; CE String
	db	1bh,'Y'-'@',0		; SO String (SO = Stand Out Mode)
	db	1bh,'_'-'@',0		; SE String (SE = End Stand Out Mode)
	db	0			; TI String (TI = Terminal Init)
	db	0			; TE String (TE = Terminal Deinit)
;
;	Section 2: Business Graphics
;
;  The following strings are used to create graphics symbols.
; If your terminal does not support business graphics, make (GO) and (GE)
; a non-zero non-printable character that has no effect on your
; terminal and use ASCII characters like '*' to replace the graphics
; characters.  Recommended character values are indicated in [], like [*].
; An alternate recommendation using '.' and ':' will be made with release
; of ZCPRB3.
;
	db	0			; GO Delay (GO = Graphics On)
	db	0			; GE Delay (GE = Graphics End)
	db	1bh,'F',0		; GO  - Graphics on string
	db	1bh,'G',0		; GE  - Graphics end string
	db	's',0			; GULC - Upper left corner [*]
	db	'l',0			; GURC - Upper right corner [*]
	db	'e',0			; GLLC - Lower left corner [*]
	db	'm',0			; GLRC - Lower right corner [*]
	db	'`',0			; GHL  - Horizontal line [-]
	db	'a',0			; GVL  - Vertical line [|]
	db	'*',0			; GFB  - Full block [*]
 	db	'#',0			; GHB  - Hashed block [#]
	db	'd',0			; GUI  - Upper intersect [+]
	db	'c',0			; GLI  - Lower intersect [+]
	db	'b',0			; GIS  - Intersection [+]
	db	'o',0			; GRTI - Right intersect [+]
	db	'n',0			; GLTI - Left intersect [+]
;
;	Section 3: Windowing
;
;     The following environmental data must be present if window 
; routines are to be used.  GCM (Graphic Character Mask) contains
; any bits that are not used by on screen graphics characters. 
; GCD (Graphics Chararacter Difference) are the bits that are 
; stripped (by the terminal) from a sent graphics character to
; form the on screen graphics character. 
;
	db	00h  			; GCM - Graphic character mask byte
	db	00h  			; GCD - Graphic char difference bit(s)
;
; The next string can be either a terminal control code or an
; address of a user supplied subroutine.  If a user supplied routine
; is to be used set the U1 address accordingly.  Remember if an
; address is placed here and both bytes of the address are 00h,
; then the RAT string will be used.  If the RAT string is null the RSP
; string will be used.  At least one of these two functions must be
; available for window routines, RAT is prefered.
;
; If a RAT user supplied routine is to be used it must return the
; characters as follows:
;
; RAT - Read character at cursor position must return the character
;       at the current cursor position in the (A) register.
;
;
 	db	1bh,'!','P'-'@',0	; RAT - Read char at current cursor
					;       position
;	db	0			; Zero if using RSP
;
; Set the following address non-zero if user supplied RAT subroutine
; is to be used.
;
	dw	0			; U1  - Use user supplied RAT routine
;
	db	0			; RSP - Read screen page
;
; If RSP is to be used the following two bytes must be defined; if not,
; make them zero.
;
 	db	00h			; ELM - End of line mark
	db	00h			; EPM - End of screen mark
;
; These bytes are the screen codes sent by the terminal at the end of
; each line (ELM) and end of page (EPM).  Some terminals like the WYSE 50
; may have graphics character codes that are the same as the ELM or EPM
; codes.  In this case an alternative graphic character must be used.
;
;	Section 4: Extended Terminal Characteristics
;	           (More to be added in banked ZCPRB3 256-byte version)
;
;	CD	Clear to End of Display; the cursor is not moved by this
;		action
;	KL	Keyboard Lock; the keys on the keyboard are made inoperative
;	KU	Keyboard Unlock; the keys on the keyboard are made operative
;
;	CDO	Cursor Display Off; Cursor is no longer displayed, no
;		character positions on the screen are used by this sequence
;	CDE	Cursor Display Enable; Cursor is displayed, no character
;		positions on the screen are used by this sequence
;
	db	10			; CD Delay (CD = Clear to End Display)*
	db	1bh,'k',0		; CD String
	db	1bh,'U'-'@',0		; KL String (KL = Keyboard Lock)
	db	1bh,'F'-'@',0		; KU String (KU = Keyboard Unlock)
	db	1bh,'m',0		; CDO String (Cursor Display Off)
	db	1bh,'X',0		; CDE String (Cursor Display Enable)
;
	ds	80H-($-envor2)		; Make exactly 80H bytes long
;
; End of ZCPR 3.3 TCAP
;
	END
