⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vsreg.h

📁 早期freebsd实现
💻 H
字号:
/* @(#)vsreg.h	7.1 (MIT) 6/5/86 */ /**************************************************************************** *									    * *  Copyright (c) 1983, 1984 by						    * *  DIGITAL EQUIPMENT CORPORATION, Maynard, Massachusetts.		    * *  All rights reserved.						    * * 									    * *  This software is furnished on an as-is basis and may be used and copied * *  only with inclusion of the above copyright notice. This software or any * *  other copies thereof may be provided or otherwise made available to     * *  others only for non-commercial purposes.  No title to or ownership of   * *  the software is hereby transferred.					    * * 									    * *  The information in this software is  subject to change without notice   * *  and  should  not  be  construed as  a commitment by DIGITAL EQUIPMENT   * *  CORPORATION.							    * * 									    * *  DIGITAL assumes no responsibility for the use  or  reliability of its   * *  software on equipment which is not supplied by DIGITAL.		    * * 									    * *									    * ****************************************************************************//*  * vsreg.h - VS100 Registers and Bits *  * Author:	Christopher A. Kent *		Digital Equipment Corporation *		Western Research Lab * Date:	Tue Jun 14 1983 */struct vsdevice{	u_short	vs_csr0;		/* Control and Status */	u_short	vs_csr1;		/* Interrupt Reason */	u_short	vs_csr2;		/* Keyboard Receive */	u_short	vs_csr3;		/* Function Parameter Low */	u_short	vs_csr4;		/* Function Parameter High */	u_short	vs_csr5;		/* Cursor Position X */	u_short	vs_csr6;		/* Cursor Position Y */	u_short	vs_csr7;		/* Interrupt Vector */	u_short	vs_csr8;		/* Spare 1 */	u_short	vs_csr9;		/* Spare 2 */	u_short	vs_csra;		/* Spare 3 */	u_short	vs_csrb;		/* Spare 4 */	u_short	vs_csrc;		/* Spare 5 */	u_short	vs_csrd;		/* Spare 6 */	u_short	vs_csre;		/* Spare 7 */	u_short	vs_csrf;		/* Interrupt Vector (2Bs) */};/*  * CSR0 - Control and Status */#define	VS_LNK_TRNS	0100000		/* Link Transition */#define	VS_LNK_AVL	0040000		/* Link Available */#define	VS_LNK_ERR	0020000		/* Link Error */#define	VS_XMIT_ON	0010000		/* Transmitter On */#define	VS_MNT_MODE	0004000		/* Maintenance Mode */#define	VS_CRC_DIS	0002000		/* CRC Disable */#define	VS_MNT_DONE	0001000		/* Maintenance Done */#define	VS_SPARE	0000400		/* Spare */#define	VS_OWN		0000200		/* Owner */#define	VS_IE		0000100		/* Interrupt Enable */#define	VS_FCN		0000076		/* Function Code */#define	VS_GO		0000001		/* GO! */struct vs_csr{    union{	u_short	_register;	struct{	    unsigned _go : 1;	    unsigned _function : 5;	    unsigned _ie : 1;	    unsigned _own : 1;	    unsigned _spare : 1;	    unsigned _mainDone : 1;	    unsigned _CRCdisable : 1;	    unsigned _mainMode : 1;	    unsigned _xmitOn : 1;	    unsigned _linkErr : 1;	    unsigned _linkAvail : 1;	    unsigned _linkTran : 1;	}_bits;    }_X;};#define	csr_reg		_X._register#define csr_go		_X._bits._go#define csr_ie		_X._bits._ie#define	csr_own		_X._bits._own#define	csr_mainDone	_X._bits._mainDone#define	csr_CRCdisable	_X._bits._CRCdisable#define csr_mainMode	_X._bits._mainMode#define	csr_xmitOn	_X._bits._xmitOn#define	csr_linkErr	_X._bits._linkErr#define	csr_linkAvail	_X._bits._linkAvail#define	csr_linkTran	_X._bits._linkTran/* Function Codes */#define	VS_INIT		01		/* Initialize Display */#define	VS_SEND		02		/* Send Packet */#define	VS_START	03		/* Start Microcode */#define	VS_ABORT	04		/* Abort Command Chain */#define	VS_PWRUP	05		/* Power Up Reset *//**/#define	VS_ENABBA	020		/* Enable BBA */#define	VS_DISBBA	021		/* Disable BBA */#define	VS_INFINITE	022		/* Inifinite Retries */#define	VS_FINITE	023		/* Finite Retries *//* amount to shift to get function code into right place */#define	VS_FCSHIFT	01/*  * CSR1 - Interrupt Reason */#define	vs_irr		vs_csr1#define	VS_ERROR	0100000		/* Any error */#define	VS_REASON	0077777		/* Reason Mask */#define	VSIRR_BITS \"\20\20ERROR\10PWRUP\6TABLET\5MOUSE\4BUTTON\3START\2DONE\1INIT"#define	VS_INT_US	0#define	VS_INT_ID	01#define	VS_INT_CD	02#define	VS_INT_SE	04#define	VS_INT_BE	010#define	VS_INT_MM	020#define	VS_INT_TM	040#define	VS_INT_PWR	0200struct vs_intr{    union{	u_short	 _register;		/* whole register */	struct{	    unsigned _reason : 14;	/* Reason bits */	    unsigned _diagnostic : 1;	/* Diagnostic Error bit */	    unsigned _error : 1;	/* Error bit */	}_bits;    }_X;};#define	intr_reg	_X._register#define	intr_reason	_X._bits._reason#define	intr_diagnostic	_X._bits._diagnostic	/* not in rev 2b */#define	intr_error	_X._bits._error/*  * CSR2 - Keyboard Receive */#define	vs_krr		vs_csr2#define	VS_KBDEV	0007000		/* Device mask */#define	VS_KBT		0000400		/* Transition direction */#define	VS_KBKEY	0000377		/* Key mask */struct vs_kbd{    union{	u_short	 _register;		/* whole register */	struct{	    unsigned _key : 8;		/* Key number */	    unsigned _transition : 1;	/* Transition direction */	    unsigned _device : 3;	/* Device */	    unsigned _x : 4;		/* Unused */	}_bits;    }_X;};#define	kbd_reg		_X._register#define	kbd_key		_X._bits._key#define	kbd_transition	_X._bits._transition#define	kbd_device	_X._bits._device#define	VS_KBTUP	0		/* up */#define	VS_KBTDOWN	1		/* down *//*  * CSR3/4 Function Parameter Address */#define	vs_pr1		vs_csr3#define	vs_pr2		vs_csr4struct vs_fparm{    union{	struct{	    u_short _plow;	/* low 16 bits of address */	    u_short _phigh;	/* high 16 bits of address */	}_parts;	caddr_t _pall;    }_X;};#define	fparm_low	_X._parts._plow#define	fparm_high	_X._parts._phigh#define	fparm_all	_X._pall/*  * CSR5/6 - Cursor position */#define	vs_cxr		vs_csr5#define	vs_cyr		vs_csr6/*  * CSR 7 - Interrupt vector in fiber cable machines */#define	vs_ivr		vs_csr7/*  * CSR 8 through 14 Spare */#define	vs_spr2		vs_csr8#define	vs_spr3		vs_csr9#define	vs_spr4		vs_csra#define	vs_spr5		vs_csrb#define	vs_spr6		vs_csrc#define	vs_spr7		vs_csrd#define	vs_spr8		vs_csre/*  * CSR 15 - Interrupt vector in rev 2B */#define	vs_ivr2		vs_csrf

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -