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