;
; WSPATCH.ASM - Patch file to Customize WS.COM for Morrow MDT20 keyboard.
;               This file can be adapted for patching Wordstar 3.0 to
;		various keyboards.
;
; R. Cameron    April 2, 1984.
;
;**********************************************************
;
; Key Definitions.
;
; This section contains one symbolic name for each unique key on the
; Morrow keyboard.
;
; Fixed Morrow Keys.
;
CUPKEY	EQU	0BH	; CTL-K
CDOWNKEY EQU	0AH	; CTL-J (=LF)
CLEFTKEY EQU	08	; CTL-H (=BACKSP)
CRIGHTKEY EQU	0CH	; CTL-L
CINSKEY EQU	16H	; CTL-V
CDELKEY	EQU	7	; CTL-G
LINSKEY EQU	0EH	; CTL-N
LDELKEY	EQU	19H	; CTL-Y
TABKEY	EQU	09	; CTL-I
RETURNKEY EQU	0DH	; CTL-M
DELKEY	EQU	7FH
F1KEY	EQU	01
F2KEY	EQU	02
F3KEY	EQU	17H
F4KEY	EQU	04
F5KEY	EQU	05
F6KEY	EQU	18H
F7KEY	EQU	1AH
HOMEKEY	EQU	1EH
ESCKEY	EQU	1BH
;
; Available Control keys which do not conflict with above.
;
NULLKEY	EQU	00	; CTL-@
CTLCKEY	EQU	03
CTLFKEY	EQU	06
CTLOKEY	EQU	0FH
CTLPKEY	EQU	10H
CTLQKEY	EQU	11H
CTLRKEY	EQU	12H
CTLSKEY	EQU	13H
CTLTKEY	EQU	14H
CTLUKEY	EQU	15H
CTLBKSL	EQU	1CH	; CTL-\
CTLRBRK	EQU	1DH	; CTL-]
CTLUS	EQU	1FH	; CTL-_
;
;**********************************************************
;
; Logical key definitions.
;
; These are the logical key definitions to be used in Wordstar's
; "main menu" mode.
;
SUPKEY	EQU	F1KEY
SDWNKEY	EQU	F2KEY
WLEFTKEY EQU	F3KEY
WRIGHTKEY EQU	F4KEY
WDELKEY	EQU	F5KEY
AGAINKEY EQU	F6KEY
BLOCKKEY EQU	F7KEY
;
SCRUP1KEY EQU	CTLRKEY
SCRDN1KEY EQU	CTLCKEY
INTRPTKEY EQU	CTLUKEY
HELPKEY EQU	CTLQKEY
ONSCRKEY EQU	CTLOKEY
QUICKKEY EQU	HOMEKEY
REFORMKEY EQU	CTLTKEY
PRINTKEY EQU	ESCKEY
;
;*************************************
;
; This is the table which maps keys to Wordstar functions. This
; table provides overlays for the key definitions; the spaces inbetween
; must remain free for the appropriate Wordstar vectors.
;
	ORG	481H
VTAB	DB	QUICKKEY
	ORG	485H
	DB	BLOCKKEY
	ORG	489H
	DB	ONSCRKEY
	ORG	48DH
	DB	HELPKEY
	ORG	491H
	DB	HELPKEY
	ORG	495H
	DB	CLEFTKEY	; Was CTL-T
	ORG	499H
	DB	CLEFTKEY	; Was BACKSPACE
	ORG	49DH
	DB	CRIGHTKEY
	ORG	4A1H
	DB	WLEFTKEY
	ORG	4A5H
	DB	WRIGHTKEY
	ORG	4A9H
	DB	CDOWNKEY
	ORG	4ADH
	DB	CUPKEY
QUICKTAB ORG	4B1H
	DB	QUICKKEY
QLEFT	DB	CLEFTKEY
	DS	2
	DB	QUICKKEY
QRIGHT	DB	CRIGHTKEY
	DS	2
	DB	QUICKKEY
QSBOT	DB	'Z'-40H
	DS	2
	DB	QUICKKEY
QSTOP	DB	'W'-40H
	DS	2
; ORG 4C1H
	DB	QUICKKEY
QBLKTOP	DB	CUPKEY
	DS	2
	DB	QUICKKEY
QBLKBOT	DB	CDOWNKEY
	DS	2
	DB	QUICKKEY
QPREV1	DB	'P'	; Cursor to posn. before last command.
	DS	2
	DB	QUICKKEY
QPREV2	DB	'V'	; Cursor to last find or block. 
	DS	2
; ORG 4D1H
	DB	QUICKKEY
	DB	'0'
	DS	2
	DB	QUICKKEY
	DB	'1'
	DS	2
	DB	QUICKKEY
	DB	'2'
	DS	2
	DB	QUICKKEY
	DB	'3'
	DS	2
; ORG 4E1H
	DB	QUICKKEY
	DB	'4'
	DS	2
	DB	QUICKKEY
	DB	'5'
	DS	2
	DB	QUICKKEY
	DB	'6'
	DS	2
	DB	QUICKKEY
	DB	'7'
	DS	2
; ORG 4F1H
	DB	QUICKKEY
	DB	'8'
	DS	2
	DB	QUICKKEY
	DB	'9'
	DS	2
	DB	QUICKKEY
QFILTOP	DB	SUPKEY
	DS	2
	DB	QUICKKEY
QFILBOT	DB	SDWNKEY
	DS	2
; ORG 501H
	DB	QUICKKEY
QFIND	DB	'F'-40H
	DS	2
	DB	QUICKKEY
QFNDREP	DB	'X'-40H
	DS	2
	DB	QUICKKEY
QSPELL	DB	'L'-40H+80H	; Spelling check (not working).
	DS	2
; ORG	50DH
	DB	AGAINKEY	; Find/replace again
	DS	3
	DB	QUICKKEY
QSCRLUP	DB	SCRUP1KEY
	DS	2
	DB	QUICKKEY
QSCRLDN	DB	SCRDN1KEY
	DS	2
	ORG	519H
	DB	SCRDN1KEY
	ORG	51DH	
	DB	SCRUP1KEY
	ORG	521H
	DB	SUPKEY
	ORG	525H
	DB	SDWNKEY
	DS	3
	DB	DELKEY
	DS	3
	DB	DELKEY		; Alternate delete 1 left key (was CTL-_).	
	ORG	531H
	DB	CDELKEY
	ORG	535H
	DB	LDELKEY
	DS	3
	DB	QUICKKEY
QDELLFT	DB	DELKEY
	DS	2
	DB	QUICKKEY
	DB	DELKEY		; Alternate delete to left key (was CTL-_).
	DS	2
	DB	QUICKKEY
QDELEOL	DB	'Y'-40H
	ORG	545H
	DB	WDELKEY
	ORG	549H
	DB	CINSKEY
	ORG	54DH
	DB	REFORMKEY
	DS	3
	DB	QUICKKEY
QREPEAT	DB	QUICKKEY	; Repeat command key.
	ORG	555H
	DB	LINSKEY
	ORG	559H
	DB	TABKEY
	ORG	55DH
	DB	RETURNKEY
	ORG	561H
	DB	PRINTKEY
;
BLKTAB	ORG	565H
	DB	BLOCKKEY
BHIDE	DB	'H'-40H
	DS	2
	DB	BLOCKKEY
BMRKTOP	DB	CUPKEY
	DS	2Š	DB	BLOCKKEY
BMRKBOT	DB	CDOWNKEY
	DS	2
	DB	BLOCKKEY
	DB	'0'
	DS	2
; ORG	575H
	DB	BLOCKKEY
	DB	'1'
	DS	2
	DB	BLOCKKEY
	DB	'2'
	DS	2
	DB	BLOCKKEY
	DB	'3'
	DS	2
	DB	BLOCKKEY
	DB	'4'
	DS	2
; ORG	585H
	DB	BLOCKKEY
	DB	'5'
	DS	2
	DB	BLOCKKEY
	DB	'6'
	DS	2
	DB	BLOCKKEY
	DB	'7'
	DS	2
	DB	BLOCKKEY
	DB	'8'
	DS	2
; ORG	595H
	DB	BLOCKKEY
	DB	'9'
	DS	2
	DB	BLOCKKEY
BMOVE	DB	'M'-40H
	DS	2
	DB	BLOCKKEY
BCOPY	DB	'C'-40H
	DS	2
	DB	BLOCKKEY
BDEL	DB	'Y'-40H
	DS	2
; ORG	5A5H
	DB	BLOCKKEY
BMODESW	DB	'N'-40H		; Block mode toggle. 
	DS	2
	DB	BLOCKKEY
	DB	'Z'-40H
	DS	2
	DB	INTRPTKEY
	DS	3
	DB	BLOCKKEY
EXIT	DB	'X'-40H
	DS	2
; ORG	5B5H
	DB	BLOCKKEY
DONE	DB	'D'-40H
	DS	2
	DB	BLOCKKEY
SAVE	DB	'S'-40H
	DS	2
	DB	BLOCKKEY
QUIT	DB	'Q'-40H
	DS	2
	DB	BLOCKKEY
BLKREAD	DB	'R'-40H
	DS	2
; ORG	5C5H
	DB	BLOCKKEY
BWRITE	DB	'W'-40H
	DS	2
	DB	BLOCKKEY
FDEL	DB	'U'-40H
	DS	2
	DB	BLOCKKEY
TOGDIR	DB	'F'-40H
	DS	2
	DB	BLOCKKEY
FPRINT	DB	'P'-40H
	DS	2
; ORG	5D5H
	DB	BLOCKKEY
CHGLOG	DB	'L'-40H
	DS	2
	DB	BLOCKKEY
FCOPY	DB	'O'-40H
	DS	2
	DB	BLOCKKEY
FRENAME	DB	'E'-40H
	DS	2
; ORG 5E1H
ONSCRTAB EQU	$
	DB	ONSCRKEY
	DB	'L'-40H
	DS	2
	DB	ONSCRKEY
	DB	'R'-40H
	DS	2
	DB	ONSCRKEY
	DB	'I'-40H
	DS	2
	DB	ONSCRKEY
	DB	'N'-40H
	DS	2
; ORG 5F1H
	DB	ONSCRKEY
	DB	'F'-40H
	DS	2
	DB	ONSCRKEY
	DB	'W'-40H
	DS	2
	DB	ONSCRKEY
	DB	'J'-40H
	DS	2
	DB	ONSCRKEY
	DB	'V'-40H
	DS	2
; ORG 601H
	DB	ONSCRKEY
	DB	'D'-40H
	DS	2
	DB	ONSCRKEY
	DB	'T'-40H
	DS	2
	DB	ONSCRKEY
	DB	'P'-40H
	DS	2
	DB	ONSCRKEY
	DB	'E'-40H
	DS	2
; ORG 611H
	DB	ONSCRKEY
	DB	'H'-40H
	DS	2
	DB	ONSCRKEY
	DB	'G'-40H
	DS	2
	DB	ONSCRKEY
	DB	'X'-40H
	DS	2
	DB	ONSCRKEY
	DB	'C'-40H
	DS	2
; ORG 621H
	DB	ONSCRKEY
	DB	'S'-40H
	DS	2
; ORG 625H
HELPTAB DB	HELPKEY
HDOTCOM	DB	'D'-40H
	DS	2
	DB	HELPKEY
HSTATUS	DB	'S'-40H
	DS	2Š	DB	HELPKEY
HFLAGS	DB	'F'-40H
	DS	2
	DB	HELPKEY
HPLMARK	DB	'P'-40H
	DS	2
; ORG 635H
	DB	HELPKEY
HREFORM	DB	'T'-40H
	DS	2
	DB	HELPKEY
HMARGS	DB	'M'-40H
	DS	2
	DB	HELPKEY
HINFO	DB	'I'-40H
	DS	2
	DB	HELPKEY
HMOVE	DB	'V'-40H
	DS	2
; ORG 645H
	DB	HELPKEY
HRULER	DB	'R'-40H
	DS	2
	END
