spu: rework synchronization
[pcsx_rearmed.git] / libpcsxcore / plugins.h
index dfa8722..e6ac694 100644 (file)
@@ -184,14 +184,15 @@ typedef long (CALLBACK* SPUinit)(void);
 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
@@ -204,8 +205,8 @@ typedef struct {
        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
@@ -226,6 +227,7 @@ extern SPUreadDMAMem       SPU_readDMAMem;
 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