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;
- //0 : No multitap between psx and pad
- //1 : multitap between psx and pad on port 1
- //2 : multitap between psx and pad on port 2
int portMultitap;
+ int requestPadIndex;
// status of buttons - every controller fills this field
unsigned short buttonStatus;
unsigned char Vib[2];
unsigned char VibF[2];
-
- unsigned char reserved[87];
+
+ //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;