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

📄 joyos2.h

📁 SDL库 在进行视频显示程序spcaview安装时必须的库文件
💻 H
字号:
/*****************************************************************************//*                                                                           *//* COPYRIGHT    Copyright (C) 1995 IBM Corporation                           *//*                                                                           *//*    The following IBM OS/2 source code is provided to you solely for       *//*    the purpose of assisting you in your development of OS/2 device        *//*    drivers. You may use this code in accordance with the IBM License      *//*    Agreement provided in the IBM Device Driver Source Kit for OS/2. This  *//*    Copyright statement may not be removed.                                *//*                                                                           *//*****************************************************************************/#ifndef JOYOS2_H#define JOYOS2_H/****** GAMEPORT.SYS joystick definitions, start *****************************/#define GAME_VERSION    0x20           /* 2.0 First IBM version */#define GAMEPDDNAME     "GAME$   "#define IOCTL_CAT_USER	0x80#define GAME_PORT_GET	0x20		/* read GAMEPORT.SYS values */#define GAME_PORT_RESET 0x60		/* reset joystick mask with given value */#pragma pack(1)				/* pack structure size is 1 byte */typedef struct {			/* GAMEPORT.SYS structure */	USHORT	usJs_AxCnt;		/* Joystick_A X position */	USHORT	usJs_AyCnt;		/* Joystick_A Y position */	USHORT	usJs_BxCnt;		/* Joystick_B X position */	USHORT	usJs_ByCnt;		/* Joystick_B Y position */	USHORT	usJs_ButtonA1Cnt;	/* button A1 press count */	USHORT	usJs_ButtonA2Cnt;	/* button A2 press count */	USHORT	usJs_ButtonB1Cnt;	/* button B1 press count */	USHORT	usJs_ButtonB2Cnt;	/* button B2 press count */	UCHAR	ucJs_JoyStickMask;	/* mask of connected joystick pots */	UCHAR	ucJs_ButtonStatus;	/* bits of switches down */	ULONG	ulJs_Ticks;		/* joystick clock ticks */} GAME_PORT_STRUCT;#pragma pack()				/*reset to normal pack size *//****** GAMEPORT.SYS joystick definitions, end *******************************//****************************************************************************/#define GAME_GET_VERSION                0x01#define GAME_GET_PARMS                  0x02#define GAME_SET_PARMS                  0x03#define GAME_GET_CALIB                  0x04#define GAME_SET_CALIB                  0x05#define GAME_GET_DIGSET                 0x06#define GAME_SET_DIGSET                 0x07#define GAME_GET_STATUS                 0x10#define GAME_GET_STATUS_BUTWAIT         0x11#define GAME_GET_STATUS_SAMPWAIT        0x12/****************************************************************************//****************************************************************************/// bit masks for each axis#define JOY_AX_BIT      0x01#define JOY_AY_BIT      0x02#define JOY_A_BITS      (JOY_AX_BIT|JOY_AY_BIT)#define JOY_BX_BIT      0x04#define JOY_BY_BIT      0x08#define JOY_B_BITS      (JOY_BX_BIT|JOY_BY_BIT)#define JOY_ALLPOS_BITS (JOY_A_BITS|JOY_B_BITS)// bit masks for each button#define JOY_BUT1_BIT    0x10#define JOY_BUT2_BIT    0x20#define JOY_BUT3_BIT    0x40#define JOY_BUT4_BIT    0x80#define JOY_ALL_BUTS    (JOY_BUT1_BIT|JOY_BUT2_BIT|JOY_BUT3_BIT|JOY_BUT4_BIT)/****************************************************************************//****************************************************************************/// 1-D position struct used for each axistypedef SHORT   GAME_POS;       /* some data formats require signed values */// simple 2-D position for each joysticktypedef struct{        GAME_POS                x;        GAME_POS                y;}GAME_2DPOS_STRUCT;// struct defining the instantaneous state of both sticks and all buttonstypedef struct{        GAME_2DPOS_STRUCT       A;        GAME_2DPOS_STRUCT       B;        USHORT                  butMask;}GAME_DATA_STRUCT;// struct to be used for calibration and digital response on each axistypedef struct{        GAME_POS                lower;        GAME_POS                centre;        GAME_POS                upper;}GAME_3POS_STRUCT;/****************************************************************************//****************************************************************************/// status struct returned to OS/2 applications:// current data for all sticks as well as button counts since last readtypedef struct{        GAME_DATA_STRUCT        curdata;        USHORT                  b1cnt;        USHORT                  b2cnt;        USHORT                  b3cnt;        USHORT                  b4cnt;}GAME_STATUS_STRUCT;/****************************************************************************//****************************************************************************//* in use bitmasks originating in 0.2b */#define GAME_USE_BOTH_OLDMASK   0x01    /* for backward compat with bool */#define GAME_USE_X_NEWMASK      0x02#define GAME_USE_Y_NEWMASK      0x04#define GAME_USE_X_EITHERMASK   (GAME_USE_X_NEWMASK|GAME_USE_BOTH_OLDMASK)#define GAME_USE_Y_EITHERMASK   (GAME_USE_Y_NEWMASK|GAME_USE_BOTH_OLDMASK)#define GAME_USE_BOTH_NEWMASK   (GAME_USE_X_NEWMASK|GAME_USE_Y_NEWMASK)/* only timed sampling implemented in version 1.0 */#define GAME_MODE_TIMED         1       /* timed sampling */#define GAME_MODE_REQUEST       2       /* request driven sampling *//* only raw implemented in version 1.0 */#define GAME_DATA_FORMAT_RAW    1       /* [l,c,r]   */#define GAME_DATA_FORMAT_SIGNED 2       /* [-l,0,+r] */#define GAME_DATA_FORMAT_BINARY 3       /* {-1,0,+1} */#define GAME_DATA_FORMAT_SCALED 4       /* [-10,+10] */// parameters defining the operation of the drivertypedef struct{        USHORT                  useA;           /* new bitmasks: see above */        USHORT                  useB;        USHORT                  mode;           /* see consts above */        USHORT                  format;         /* see consts above */        USHORT                  sampDiv;        /* samp freq = 32 / n */        USHORT                  scale;          /* scaling factor */        USHORT                  res1;           /* must be 0 */        USHORT                  res2;           /* must be 0 */}GAME_PARM_STRUCT;/****************************************************************************//****************************************************************************/// calibration values for each axis://      - upper limit on value to be considered in lower range//      - centre value//      - lower limit on value to be considered in upper rangetypedef struct{        GAME_3POS_STRUCT        Ax;        GAME_3POS_STRUCT        Ay;        GAME_3POS_STRUCT        Bx;        GAME_3POS_STRUCT        By;}GAME_CALIB_STRUCT;/****************************************************************************//****************************************************************************/// struct defining the digital response values for all axestypedef struct{        GAME_3POS_STRUCT        Ax;        GAME_3POS_STRUCT        Ay;        GAME_3POS_STRUCT        Bx;        GAME_3POS_STRUCT        By;}GAME_DIGSET_STRUCT;/****************************************************************************/#endif

⌨️ 快捷键说明

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