xref: /csrg-svn/sys/vax/uba/qvreg.h (revision 49567)
1*49567Sbostic /*-
2*49567Sbostic  * Copyright (c) 1982, 1986 The Regents of the University of California.
3*49567Sbostic  * All rights reserved.
434549Smarc  *
5*49567Sbostic  * %sccs.include.redist.c%
634549Smarc  *
7*49567Sbostic  *	@(#)qvreg.h	7.1 (Berkeley) 05/09/91
8*49567Sbostic  */
9*49567Sbostic 
10*49567Sbostic /*
1134549Smarc  *	derived from: @(#)qvreg.h	1.3 (ULTRIX) 8/21/85
1234549Smarc  */
1334549Smarc 
1434549Smarc /*
1534541Smarc  * QVSS definitions.
1634541Smarc  */
1734541Smarc struct qvdevice {
1834541Smarc 	unsigned short	qv_csr;		/* csr				*/
1934541Smarc 	unsigned short	qv_xcur;	/* cursor x-position		*/
2034541Smarc 	unsigned short	qv_mouse;	/* mouse position		*/
2134541Smarc 	unsigned short	qv_spare1;
2234541Smarc 	unsigned short	qv_crtaddr;	/* crt controller address reg	*/
2334541Smarc 	unsigned short	qv_crtdata;	/* crt controller data register	*/
2434541Smarc 	unsigned short	qv_intdata;	/* int controller data register	*/
2534541Smarc 	unsigned short	qv_intcsr;	/* int controller command/status*/
2634541Smarc 	unsigned short	qv_dummy[8];
2734541Smarc 	unsigned short	qv_uartmode;	/* uart mode			*/
2834541Smarc 	unsigned short	qv_uartstatus;	/* uart status			*/
2934541Smarc 	unsigned short	qv_uartcmd;	/* uart command			*/
3034541Smarc 	unsigned short	qv_uartdata;	/* uart data			*/
3134541Smarc 	unsigned short	qv_spare2;
3234541Smarc 	unsigned short	qv_uartintstatus; /* uart interrupt status	*/
3334541Smarc };
3434541Smarc 
3534541Smarc 
3634541Smarc /*
3734541Smarc  * csr bit definations
3834541Smarc  */
3934541Smarc #define	QV_19INCH	0x1
4034541Smarc #define QV_VIDEO_ENA	0x4
4134541Smarc #define QV_CUR_MODE	0x8
4234541Smarc #define QV_VIDEO_LP	0x10
4334541Smarc #define QV_TEST_BIT	0x20
4434541Smarc #define QV_INT_ENABLE	0x40
4534541Smarc #define QV_CURSOR_ON	0x80
4634541Smarc #define QV_MOUSE_ANY	0x700
4734541Smarc #define QV_MOUSE_A	0x100
4834541Smarc #define QV_MOUSE_B	0x200
4934541Smarc #define QV_MOUSE_C	0x400
5034541Smarc #define QV_MEM_BANK	0x7800
5134541Smarc 
5234541Smarc /*
5334541Smarc  * Lk201 keyboard
5434541Smarc  */
5534541Smarc #define LK_UPDOWN 	0x86		/* bits for setting lk201 modes */
5634541Smarc #define LK_AUTODOWN 	0x82
5734541Smarc #define LK_DOWN 	0x80
5834541Smarc #define LK_DEFAULTS 	0xd3		/* reset (some) default settings */
5934541Smarc #define LK_AR_ENABLE 	0xe3		/* global auto repeat enable */
6034541Smarc #define LK_CL_ENABLE 	0x1b		/* keyclick enable */
6134541Smarc #define LK_KBD_ENABLE 	0x8b		/* keyboard enable */
6234541Smarc #define LK_BELL_ENABLE 	0x23		/* the bell */
6334541Smarc #define LK_LED_ENABLE 	0x13		/* light led */
6434541Smarc #define LK_LED_DISABLE 	0x11		/* turn off led */
6534541Smarc #define LK_RING_BELL 	0xa7		/* ring keyboard bell */
6634541Smarc #define LED_1 		0x81		/* led bits */
6734541Smarc #define LED_2 		0x82
6834541Smarc #define LED_3 		0x84
6934541Smarc #define LED_4 		0x88
7034541Smarc #define LED_ALL 	0x8f
7134541Smarc #define LK_KDOWN_ERROR	0x3d		/* key down on powerup error */
7234541Smarc #define LK_POWER_ERROR 	0x3e		/* keyboard failure on powerup test */
7334541Smarc #define LK_OUTPUT_ERROR	0xb5		/* keystrokes lost during inhibit */
7434541Smarc #define LK_INPUT_ERROR 	0xb6		/* garbage command to keyboard */
7534541Smarc #define LK_LOWEST	0x56		/* lowest significant keycode */
7634541Smarc #define LK_DIV6_START	0xad		/* start of div 6 */
7734541Smarc #define LK_DIV5_END	0xb2		/* end of div 5 */
7834541Smarc 
7934541Smarc /*
8034541Smarc  * Keycodes for special keys and functions
8134541Smarc  */
8234541Smarc #define SHIFT	0xae
8334541Smarc #define LOCK	0xb0
8434541Smarc #define REPEAT	0xb4
8534541Smarc #define CNTRL	0xaf
8634541Smarc #define ALLUP	0xb3
8734541Smarc 
88