X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libpcsxcore%2Fplugins.h;h=772452d09aa529164e722181cab6a5d39b4bca33;hb=a3d87cd770ffb9b5bcbf519683ec7f29d67794e6;hp=34f062e2e09991a9f5229d6cac5bcb5ed6d4de51;hpb=029e681c394691e626aab685eacad0610b6048ad;p=pcsx_rearmed.git diff --git a/libpcsxcore/plugins.h b/libpcsxcore/plugins.h index 34f062e2..772452d0 100644 --- a/libpcsxcore/plugins.h +++ b/libpcsxcore/plugins.h @@ -58,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); @@ -75,8 +75,8 @@ 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, int); +typedef void (CALLBACK* GPUgetScreenInfo)(int *, int *); // GPU function pointers extern GPUupdateLace GPU_updateLace; @@ -100,8 +100,8 @@ extern GPUmakeSnapshot GPU_makeSnapshot; extern GPUfreeze GPU_freeze; extern GPUgetScreenPic GPU_getScreenPic; extern GPUshowScreenPic GPU_showScreenPic; -extern GPUclearDynarec GPU_clearDynarec; extern GPUvBlank GPU_vBlank; +extern GPUgetScreenInfo GPU_getScreenInfo; // CD-ROM Functions typedef long (CALLBACK* CDRinit)(void); @@ -112,7 +112,7 @@ typedef long (CALLBACK* CDRgetTN)(unsigned char *); typedef long (CALLBACK* CDRgetTD)(unsigned char, 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); @@ -120,9 +120,9 @@ typedef long (CALLBACK* CDRplay)(unsigned char *); typedef long (CALLBACK* CDRstop)(void); typedef long (CALLBACK* CDRsetfilename)(char *); struct CdrStat { - uint32_t Type; - uint32_t Status; - unsigned char Time[3]; + uint32_t Type; // DATA, CDDA + uint32_t Status; // same as cdr.StatP + unsigned char Time_[3]; // unused }; typedef long (CALLBACK* CDRgetStatus)(struct CdrStat *); typedef char* (CALLBACK* CDRgetDriveLetter)(void); @@ -161,23 +161,24 @@ extern CDRsetfilename CDR_setfilename; extern CDRreadCDDA CDR_readCDDA; extern CDRgetTE CDR_getTE; +long CALLBACK CDR__getStatus(struct CdrStat *stat); + // SPU Functions 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, unsigned int); -typedef unsigned short (CALLBACK* SPUreadRegister)(unsigned long); -typedef void (CALLBACK* SPUwriteDMA)(unsigned short); -typedef unsigned short (CALLBACK* SPUreadDMA)(void); +typedef unsigned short (CALLBACK* SPUreadRegister)(unsigned long, unsigned int); 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 *); -typedef void (CALLBACK* SPUregisterCallback)(void (CALLBACK *callback)(void)); +typedef void (CALLBACK* SPUplayADPCMchannel)(xa_decode_t *, unsigned int, int); +typedef void (CALLBACK* SPUregisterCallback)(void (CALLBACK *callback)(int)); 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; @@ -185,25 +186,19 @@ typedef struct { unsigned char SPUPorts[0x200]; unsigned char SPURam[0x80000]; xa_decode_t xa; - unsigned char *SPUInfo; + unsigned char *unused; } SPUFreeze_t; typedef long (CALLBACK* SPUfreeze)(uint32_t, SPUFreeze_t *, uint32_t); typedef void (CALLBACK* SPUasync)(uint32_t, uint32_t); -typedef int (CALLBACK* SPUplayCDDAchannel)(short *, int); +typedef int (CALLBACK* SPUplayCDDAchannel)(short *, int, unsigned int, int); // SPU function pointers -extern SPUconfigure SPU_configure; -extern SPUabout SPU_about; extern SPUinit SPU_init; extern SPUshutdown SPU_shutdown; -extern SPUtest SPU_test; extern SPUopen SPU_open; extern SPUclose SPU_close; -extern SPUplaySample SPU_playSample; extern SPUwriteRegister SPU_writeRegister; extern SPUreadRegister SPU_readRegister; -extern SPUwriteDMA SPU_writeDMA; -extern SPUreadDMA SPU_readDMA; extern SPUwriteDMAMem SPU_writeDMAMem; extern SPUreadDMAMem SPU_readDMAMem; extern SPUplayADPCMchannel SPU_playADPCMchannel; @@ -225,7 +220,7 @@ typedef long (CALLBACK* PADreadPort1)(PadDataS*); typedef long (CALLBACK* PADreadPort2)(PadDataS*); typedef long (CALLBACK* PADkeypressed)(void); typedef unsigned char (CALLBACK* PADstartPoll)(int); -typedef unsigned char (CALLBACK* PADpoll)(unsigned char); +typedef unsigned char (CALLBACK* PADpoll)(unsigned char, int *); typedef void (CALLBACK* PADsetSensitive)(int); // PAD function pointers @@ -383,13 +378,18 @@ extern SIO1registerCallback SIO1_registerCallback; #endif -void CALLBACK clearDynarec(void); - void SetIsoFile(const char *filename); const char *GetIsoFile(void); boolean UsingIso(void); void SetCdOpenCaseTime(s64 time); +int padFreeze(void *f, int Mode); +int padToggleAnalog(unsigned int index); + +extern void pl_gun_byte2(int port, unsigned char byte); +extern void plat_trigger_vibrate(int pad, int low, int high); +extern void plat_get_psx_resolution(int *xres, int *yres); + #ifdef __cplusplus } #endif