X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=libpcsxcore%2Fplugins.h;h=132df90730fb18a4181a1211cc83032d7d299829;hp=b7af7c3a4f0195fc6332fa8835b78d52ca30c3b7;hb=HEAD;hpb=f6eb0b1c75fd9103a1ad18aed5d00aa0c41fa24e diff --git a/libpcsxcore/plugins.h b/libpcsxcore/plugins.h index b7af7c3a..4054bf67 100644 --- a/libpcsxcore/plugins.h +++ b/libpcsxcore/plugins.h @@ -58,11 +58,8 @@ 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, uint32_t *); +typedef long (CALLBACK* GPUdmaChain)(uint32_t *, uint32_t, uint32_t *, int32_t *); typedef void (CALLBACK* GPUupdateLace)(void); -typedef long (CALLBACK* GPUconfigure)(void); -typedef long (CALLBACK* GPUtest)(void); -typedef void (CALLBACK* GPUabout)(void); typedef void (CALLBACK* GPUmakeSnapshot)(void); typedef void (CALLBACK* GPUkeypressed)(int); typedef void (CALLBACK* GPUdisplayText)(char *); @@ -76,14 +73,12 @@ typedef long (CALLBACK* GPUfreeze)(uint32_t, GPUFreeze_t *); typedef long (CALLBACK* GPUgetScreenPic)(unsigned char *); typedef long (CALLBACK* GPUshowScreenPic)(unsigned char *); typedef void (CALLBACK* GPUvBlank)(int, int); +typedef void (CALLBACK* GPUgetScreenInfo)(int *, int *); // GPU function pointers extern GPUupdateLace GPU_updateLace; extern GPUinit GPU_init; extern GPUshutdown GPU_shutdown; -extern GPUconfigure GPU_configure; -extern GPUtest GPU_test; -extern GPUabout GPU_about; extern GPUopen GPU_open; extern GPUclose GPU_close; extern GPUreadStatus GPU_readStatus; @@ -100,6 +95,7 @@ extern GPUfreeze GPU_freeze; extern GPUgetScreenPic GPU_getScreenPic; extern GPUshowScreenPic GPU_showScreenPic; extern GPUvBlank GPU_vBlank; +extern GPUgetScreenInfo GPU_getScreenInfo; // CD-ROM Functions typedef long (CALLBACK* CDRinit)(void); @@ -118,9 +114,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); @@ -137,6 +133,7 @@ struct SubQ { }; typedef long (CALLBACK* CDRreadCDDA)(unsigned char, unsigned char, unsigned char, unsigned char *); typedef long (CALLBACK* CDRgetTE)(unsigned char, unsigned char *, unsigned char *, unsigned char *); +typedef long (CALLBACK* CDRprefetch)(unsigned char, unsigned char, unsigned char); // CD-ROM function pointers extern CDRinit CDR_init; @@ -158,35 +155,39 @@ extern CDRabout CDR_about; extern CDRsetfilename CDR_setfilename; extern CDRreadCDDA CDR_readCDDA; extern CDRgetTE CDR_getTE; +extern CDRprefetch CDR_prefetch; + +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* SPUwriteRegister)(unsigned long, unsigned short, unsigned int); -typedef unsigned short (CALLBACK* SPUreadRegister)(unsigned long); +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 *, unsigned int, int); -typedef void (CALLBACK* SPUregisterCallback)(void (CALLBACK *callback)(void)); +typedef void (CALLBACK* SPUregisterCallback)(void (CALLBACK *callback)(int)); typedef void (CALLBACK* SPUregisterScheduleCb)(void (CALLBACK *callback)(unsigned int cycles_after)); typedef struct { unsigned char PluginName[8]; uint32_t PluginVersion; uint32_t Size; } SPUFreezeHdr_t; -typedef struct { +typedef struct SPUFreeze { unsigned char PluginName[8]; uint32_t PluginVersion; uint32_t Size; 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 long (CALLBACK* SPUfreeze)(unsigned int, struct SPUFreeze *, unsigned int); +typedef void (CALLBACK* SPUasync)(unsigned int, unsigned int); typedef int (CALLBACK* SPUplayCDDAchannel)(short *, int, unsigned int, int); +typedef void (CALLBACK* SPUsetCDvol)(unsigned char, unsigned char, unsigned char, unsigned char, unsigned int); // SPU function pointers extern SPUinit SPU_init; @@ -203,6 +204,7 @@ extern SPUregisterCallback SPU_registerCallback; extern SPUregisterScheduleCb SPU_registerScheduleCb; extern SPUasync SPU_async; extern SPUplayCDDAchannel SPU_playCDDAchannel; +extern SPUsetCDvol SPU_setCDvol; // PAD Functions typedef long (CALLBACK* PADconfigure)(void); @@ -379,6 +381,9 @@ 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);