X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libpcsxcore%2Fplugins.h;h=ac89d1ff43b16f947f3ee410efcb756f09b1b484;hb=6d75addfea5544b926d3924b1bd1e1d8ce9ffdb4;hp=f7f624877c8f873457d7be641f2c1130c48729c3;hpb=24de2dd4dbdd50e44c91c40ebbc7d59ee1c0ac9b;p=pcsx_rearmed.git diff --git a/libpcsxcore/plugins.h b/libpcsxcore/plugins.h index f7f62487..ac89d1ff 100644 --- a/libpcsxcore/plugins.h +++ b/libpcsxcore/plugins.h @@ -25,35 +25,17 @@ extern "C" { #endif #include "psxcommon.h" +#include "psemu_plugin_defs.h" //#define ENABLE_SIO1API 1 -#ifndef _WIN32 - -typedef void* HWND; -#define CALLBACK - -typedef long (*GPUopen)(unsigned long *, char *, char *); -typedef long (*SPUopen)(void); -typedef long (*PADopen)(unsigned long *); -typedef long (*NETopen)(unsigned long *); -typedef long (*SIO1open)(unsigned long *); - -#else - -#include - -typedef long (CALLBACK* GPUopen)(HWND); -typedef long (CALLBACK* SPUopen)(HWND); -typedef long (CALLBACK* PADopen)(HWND); -typedef long (CALLBACK* NETopen)(HWND); -typedef long (CALLBACK* SIO1open)(HWND); - -#endif +typedef long (CALLBACK *GPUopen)(unsigned long *, char *, char *); +typedef long (CALLBACK *SPUopen)(void); +typedef long (CALLBACK *PADopen)(unsigned long *); +typedef long (CALLBACK *NETopen)(unsigned long *); +typedef long (CALLBACK *SIO1open)(unsigned long *); #include "spu.h" - -#include "psemu_plugin_defs.h" #include "decode_xa.h" int LoadPlugins(); @@ -76,7 +58,7 @@ typedef void (CALLBACK* GPUwriteDataMem)(uint32_t *, int); typedef uint32_t (CALLBACK* GPUreadStatus)(void); typedef uint32_t (CALLBACK* GPUreadData)(void); typedef void (CALLBACK* GPUreadDataMem)(uint32_t *, int); -typedef long (CALLBACK* GPUdmaChain)(uint32_t *,uint32_t); +typedef long (CALLBACK* GPUdmaChain)(uint32_t *,uint32_t, uint32_t *); typedef void (CALLBACK* GPUupdateLace)(void); typedef long (CALLBACK* GPUconfigure)(void); typedef long (CALLBACK* GPUtest)(void); @@ -93,8 +75,7 @@ typedef struct { typedef long (CALLBACK* GPUfreeze)(uint32_t, GPUFreeze_t *); typedef long (CALLBACK* GPUgetScreenPic)(unsigned char *); typedef long (CALLBACK* GPUshowScreenPic)(unsigned char *); -typedef void (CALLBACK* GPUclearDynarec)(void (CALLBACK *callback)(void)); -typedef void (CALLBACK* GPUvBlank)(int); +typedef void (CALLBACK* GPUvBlank)(int, int); // GPU function pointers extern GPUupdateLace GPU_updateLace; @@ -118,8 +99,7 @@ extern GPUmakeSnapshot GPU_makeSnapshot; extern GPUfreeze GPU_freeze; extern GPUgetScreenPic GPU_getScreenPic; extern GPUshowScreenPic GPU_showScreenPic; -extern GPUclearDynarec GPU_clearDynarec; -extern GPUvBlank GPU_vBlank; // unused +extern GPUvBlank GPU_vBlank; // CD-ROM Functions typedef long (CALLBACK* CDRinit)(void); @@ -128,9 +108,9 @@ typedef long (CALLBACK* CDRopen)(void); typedef long (CALLBACK* CDRclose)(void); typedef long (CALLBACK* CDRgetTN)(unsigned char *); typedef long (CALLBACK* CDRgetTD)(unsigned char, unsigned char *); -typedef long (CALLBACK* CDRreadTrack)(unsigned char *); +typedef boolean (CALLBACK* CDRreadTrack)(unsigned char *); typedef unsigned char* (CALLBACK* CDRgetBuffer)(void); -typedef unsigned char* (CALLBACK* CDRgetBufferSub)(void); +typedef unsigned char* (CALLBACK* CDRgetBufferSub)(int sector); typedef long (CALLBACK* CDRconfigure)(void); typedef long (CALLBACK* CDRtest)(void); typedef void (CALLBACK* CDRabout)(void); @@ -184,17 +164,23 @@ typedef long (CALLBACK* SPUinit)(void); typedef long (CALLBACK* SPUshutdown)(void); typedef long (CALLBACK* SPUclose)(void); typedef void (CALLBACK* SPUplaySample)(unsigned char); -typedef void (CALLBACK* SPUwriteRegister)(unsigned long, unsigned short); +typedef void (CALLBACK* SPUwriteRegister)(unsigned long, unsigned short, unsigned int); typedef unsigned short (CALLBACK* SPUreadRegister)(unsigned long); typedef void (CALLBACK* SPUwriteDMA)(unsigned short); typedef unsigned short (CALLBACK* SPUreadDMA)(void); -typedef void (CALLBACK* SPUwriteDMAMem)(unsigned short *, int); -typedef void (CALLBACK* SPUreadDMAMem)(unsigned short *, int); -typedef void (CALLBACK* SPUplayADPCMchannel)(xa_decode_t *); +typedef void (CALLBACK* SPUwriteDMAMem)(unsigned short *, int, unsigned int); +typedef void (CALLBACK* SPUreadDMAMem)(unsigned short *, int, unsigned int); +typedef void (CALLBACK* SPUplayADPCMchannel)(xa_decode_t *, unsigned int, int); typedef void (CALLBACK* SPUregisterCallback)(void (CALLBACK *callback)(void)); +typedef void (CALLBACK* SPUregisterScheduleCb)(void (CALLBACK *callback)(unsigned int cycles_after)); typedef long (CALLBACK* SPUconfigure)(void); typedef long (CALLBACK* SPUtest)(void); typedef void (CALLBACK* SPUabout)(void); +typedef struct { + unsigned char PluginName[8]; + uint32_t PluginVersion; + uint32_t Size; +} SPUFreezeHdr_t; typedef struct { unsigned char PluginName[8]; uint32_t PluginVersion; @@ -204,9 +190,9 @@ typedef struct { xa_decode_t xa; unsigned char *SPUInfo; } SPUFreeze_t; -typedef long (CALLBACK* SPUfreeze)(uint32_t, SPUFreeze_t *); -typedef void (CALLBACK* SPUasync)(uint32_t); -typedef int (CALLBACK* SPUplayCDDAchannel)(short *, int); +typedef long (CALLBACK* SPUfreeze)(uint32_t, SPUFreeze_t *, uint32_t); +typedef void (CALLBACK* SPUasync)(uint32_t, uint32_t); +typedef int (CALLBACK* SPUplayCDDAchannel)(short *, int, unsigned int, int); // SPU function pointers extern SPUconfigure SPU_configure; @@ -226,6 +212,7 @@ extern SPUreadDMAMem SPU_readDMAMem; extern SPUplayADPCMchannel SPU_playADPCMchannel; extern SPUfreeze SPU_freeze; extern SPUregisterCallback SPU_registerCallback; +extern SPUregisterScheduleCb SPU_registerScheduleCb; extern SPUasync SPU_async; extern SPUplayCDDAchannel SPU_playCDDAchannel; @@ -399,8 +386,6 @@ extern SIO1registerCallback SIO1_registerCallback; #endif -void CALLBACK clearDynarec(void); - void SetIsoFile(const char *filename); const char *GetIsoFile(void); boolean UsingIso(void);