typedef void* HWND;\r
#define CALLBACK\r
\r
-typedef long (*GPUopen)(unsigned long *, char *, char *);\r
-typedef long (*SPUopen)(void);\r
-typedef long (*PADopen)(unsigned long *);\r
-typedef long (*NETopen)(unsigned long *);\r
-typedef long (*SIO1open)(unsigned long *);\r
-\r
#else\r
\r
+#define WIN32_LEAN_AND_MEAN\r
#include <windows.h>\r
\r
-typedef long (CALLBACK* GPUopen)(HWND);\r
-typedef long (CALLBACK* SPUopen)(HWND);\r
-typedef long (CALLBACK* PADopen)(HWND);\r
-typedef long (CALLBACK* NETopen)(HWND);\r
-typedef long (CALLBACK* SIO1open)(HWND);\r
-\r
#endif\r
\r
+typedef long (CALLBACK *GPUopen)(unsigned long *, char *, char *);\r
+typedef long (CALLBACK *SPUopen)(void);\r
+typedef long (CALLBACK *PADopen)(unsigned long *);\r
+typedef long (CALLBACK *NETopen)(unsigned long *);\r
+typedef long (CALLBACK *SIO1open)(unsigned long *);\r
+\r
#include "spu.h"\r
\r
#include "psemu_plugin_defs.h"\r
typedef long (CALLBACK* GPUgetScreenPic)(unsigned char *);\r
typedef long (CALLBACK* GPUshowScreenPic)(unsigned char *);\r
typedef void (CALLBACK* GPUclearDynarec)(void (CALLBACK *callback)(void));\r
-typedef void (CALLBACK* GPUvBlank)(int);\r
+typedef void (CALLBACK* GPUvBlank)(int, int);\r
\r
// GPU function pointers\r
extern GPUupdateLace GPU_updateLace;\r
extern GPUgetScreenPic GPU_getScreenPic;\r
extern GPUshowScreenPic GPU_showScreenPic;\r
extern GPUclearDynarec GPU_clearDynarec;\r
-extern GPUvBlank GPU_vBlank; // unused\r
+extern GPUvBlank GPU_vBlank;\r
\r
// CD-ROM Functions\r
typedef long (CALLBACK* CDRinit)(void);\r
typedef long (CALLBACK* SPUshutdown)(void); \r
typedef long (CALLBACK* SPUclose)(void); \r
typedef void (CALLBACK* SPUplaySample)(unsigned char); \r
-typedef void (CALLBACK* SPUwriteRegister)(unsigned long, unsigned short);\r
+typedef void (CALLBACK* SPUwriteRegister)(unsigned long, unsigned short, unsigned int);\r
typedef unsigned short (CALLBACK* SPUreadRegister)(unsigned long);\r
typedef void (CALLBACK* SPUwriteDMA)(unsigned short);\r
typedef unsigned short (CALLBACK* SPUreadDMA)(void);\r
-typedef void (CALLBACK* SPUwriteDMAMem)(unsigned short *, int);\r
-typedef void (CALLBACK* SPUreadDMAMem)(unsigned short *, int);\r
+typedef void (CALLBACK* SPUwriteDMAMem)(unsigned short *, int, unsigned int);\r
+typedef void (CALLBACK* SPUreadDMAMem)(unsigned short *, int, unsigned int);\r
typedef void (CALLBACK* SPUplayADPCMchannel)(xa_decode_t *);\r
typedef void (CALLBACK* SPUregisterCallback)(void (CALLBACK *callback)(void));\r
+typedef void (CALLBACK* SPUregisterScheduleCb)(void (CALLBACK *callback)(unsigned int cycles_after));\r
typedef long (CALLBACK* SPUconfigure)(void);\r
typedef long (CALLBACK* SPUtest)(void);\r
typedef void (CALLBACK* SPUabout)(void);\r
xa_decode_t xa;\r
unsigned char *SPUInfo;\r
} SPUFreeze_t;\r
-typedef long (CALLBACK* SPUfreeze)(uint32_t, SPUFreeze_t *);\r
-typedef void (CALLBACK* SPUasync)(uint32_t);\r
+typedef long (CALLBACK* SPUfreeze)(uint32_t, SPUFreeze_t *, uint32_t);\r
+typedef void (CALLBACK* SPUasync)(uint32_t, uint32_t);\r
typedef int (CALLBACK* SPUplayCDDAchannel)(short *, int);\r
\r
// SPU function pointers\r
extern SPUplayADPCMchannel SPU_playADPCMchannel;\r
extern SPUfreeze SPU_freeze;\r
extern SPUregisterCallback SPU_registerCallback;\r
+extern SPUregisterScheduleCb SPU_registerScheduleCb;\r
extern SPUasync SPU_async;\r
extern SPUplayCDDAchannel SPU_playCDDAchannel;\r
\r