extern "C" {
#endif
+// this can't be __stdcall like it was in PSEmu API as too many functions are mixed up
+#undef CALLBACK
+#define CALLBACK
+
// header version
#define _PPDK_HEADER_VERSION 3
long PADquery(void);
unsigned char PADstartPoll(int);
- unsigned char PADpoll(unsigned char);
+ unsigned char PADpoll(unsigned char, int *);
*/
+// No controller
+#define PSE_PAD_TYPE_NONE 0
// MOUSE SCPH-1030
#define PSE_PAD_TYPE_MOUSE 1
// NEGCON - 16 button analog controller SLPH-00001
typedef struct
{
- // controler type - fill it withe predefined values above
+ // controller type - fill it withe predefined values above
unsigned char controllerType;
+ int portMultitap;
+ int requestPadIndex;
+
// status of buttons - every controller fills this field
unsigned short buttonStatus;
// values are in range -128 - 127
unsigned char moveX, moveY;
- uint8_t Vib[2];
-
- volatile uint8_t VibF[2];
-
- unsigned char reserved[87];
+ unsigned char Vib[2];
+ unsigned char VibF[2];
+
+ //configuration mode Request 0x43
+ int configMode;
+
+ unsigned char txData[34];
+
+ unsigned char multitapLongModeEnabled;
+ unsigned char PadMode; // 0 : digital 1: analog
+ unsigned char cmd4dConfig[6];
+ unsigned char reserved[46];
+
+ //Lightgun values
+ int absoluteX,absoluteY;
} PadDataS;