;
; Written by:
;                         Kirk De Haan
;                        2595 Flory Dr.
;                      San Jose,Ca.  95121
;
;
;
;
;
;
; 950FUNC.ASM - PROGRAMS THE FUNCTION KEYS ON TELEVIDEO EQUIPMENT,
;               INCLUDING THE FOLLOWING:
;
;                      TS-800A
;                      TS-802
;                      TS-802H
;                      ALL TERMINALS
;
;
; This program will load the function keys of any of the above 
; listed terminals and systems. All that is neccesary is to add
; the escape code that you desire. All escape codes listed in the
; user manuals will work with no problem. 
;
;                                 Kirk De Haan
;
;
;
; Equates
;
BDOS	EQU	0005H	;BDOS ENTRY
PSTRING	EQU	09H	;PRINT STRING
ESC	EQU	1BH	;ESCAPE
CR	EQU	0DH	;CARRIAGE RETURN
LF	EQU	0AH	;LINE FEED
CNTLY	EQU	19H	;^Y
CNTLP	EQU	10H	;^P
CNTLC	EQU	03H	;^C
;
;
	ORG	0100H
;
;
START	MVI	C,PSTRING
	LXI	D,MSG
	CALL	BDOS
	RET
;
;
;
MSG	EQU	$
;
;
; Insert your particular escape code here. Put it in the form
; of DB just as if you were inserting an actual message. This 
; data will be sent to the terminal the same as any ASCII string.
; The following is an example of the escape code sequence for
; loading the function keys.
;
; 	DB	ESC,'|11TEST',CR,CNTLY
;
; This will program key F1 to print TEST (with carriage return) locally
; and to the system processor.
; Refer to your users manual for a complete list of codes. 
;
;
;                      ON SCREEN LABELS
;
;
; If you wish to incorporate labels for your function keys insert
; the 'labels' in place of XXXXX in the code below. This code will
; setup the user line and line 24. Line 24 will be locked out, 
; therefore it will reduce your terminal to 23 x 80. If you do not
; want the labels simply insert ';' in column 1.
;
;
;                          UNSHIFTED
;
;
	DB	ESC,'f',ESC,'G4'
	DB	' '
	DB	'XXXXX'	;F1
	DB	'  '
	DB	'XXXXX'	;F2
	DB	'  '
	DB	'XXXXX'	;F3
	DB	'  '
	DB	'XXXXX'	;F4
	DB	'  '
	DB	'XXXXX' ;F5
	DB	'  '
	DB	'XXXXX' ;F6
	DB	'  '
	DB	'XXXXX'	;F7
	DB	'  '
	DB	'XXXXX' ;F8
	DB	'  '
	DB	'XXXXX' ;F9
	DB	'  '
	DB	'XXXXX' ;F10
	DB	'  '
	DB	'XXXXX'	;F11
	DB	CR
	DB	ESC,'g'
;
;
;                           SHIFTED
;
;
	DB	ESC,'=7 ',ESC,'G<'
	DB	' '
	DB	'XXXXX' ;F1
	DB	'  '
	DB	'XXXXX' ;F2
	DB	'  '
	DB	'XXXXX'	;F3
	DB	'  '
	DB	'XXXXX'	;F4
	DB	'  '
	DB	'XXXXX'	;F5
	DB	'  '
	DB	'XXXXX'	;F6
	DB	'  '
	DB	'XXXXX'	;F7
	DB	'  '
	DB	'XXXXX'	;F8
	DB	'  '
	DB	'XXXXX'	;F9
	DB	'  '
	DB	'XXXXX' ;F10
	DB	'  '
	DB	'XXXXX' ;F11
	DB	ESC,'!1'
;
;
;
; The next bytes clear the screen of the garbage printed and
; indicate the end of the string. DO NOT REMOVE IT!!
;
	DB	ESC,'*$'	
;
;
	END	0100H
