frontend: update libpicofe, fix missed callbacks
[pcsx_rearmed.git] / libpcsxcore / plugins.h
index d080bae..d32c9e4 100644 (file)
@@ -31,11 +31,10 @@ extern "C" {
 \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
+#include "gpu.h"\r
 #include "decode_xa.h"\r
 \r
 int LoadPlugins();\r
@@ -58,20 +57,9 @@ typedef void (CALLBACK* GPUwriteDataMem)(uint32_t *, int);
 typedef uint32_t (CALLBACK* GPUreadStatus)(void);\r
 typedef uint32_t (CALLBACK* GPUreadData)(void);\r
 typedef void (CALLBACK* GPUreadDataMem)(uint32_t *, int);\r
-typedef long (CALLBACK* GPUdmaChain)(uint32_t *,uint32_t, uint32_t *);\r
+typedef long (CALLBACK* GPUdmaChain)(uint32_t *, uint32_t, uint32_t *, int32_t *);\r
 typedef void (CALLBACK* GPUupdateLace)(void);\r
-typedef void (CALLBACK* GPUmakeSnapshot)(void);\r
-typedef void (CALLBACK* GPUkeypressed)(int);\r
-typedef void (CALLBACK* GPUdisplayText)(char *);\r
-typedef struct {\r
-       uint32_t ulFreezeVersion;\r
-       uint32_t ulStatus;\r
-       uint32_t ulControl[256];\r
-       unsigned char psxVRam[1024*512*2];\r
-} GPUFreeze_t;\r
 typedef long (CALLBACK* GPUfreeze)(uint32_t, GPUFreeze_t *);\r
-typedef long (CALLBACK* GPUgetScreenPic)(unsigned char *);\r
-typedef long (CALLBACK* GPUshowScreenPic)(unsigned char *);\r
 typedef void (CALLBACK* GPUvBlank)(int, int);\r
 typedef void (CALLBACK* GPUgetScreenInfo)(int *, int *);\r
 \r
@@ -88,74 +76,18 @@ extern GPUwriteStatus   GPU_writeStatus;
 extern GPUwriteData     GPU_writeData;\r
 extern GPUwriteDataMem  GPU_writeDataMem;\r
 extern GPUdmaChain      GPU_dmaChain;\r
-extern GPUkeypressed    GPU_keypressed;\r
-extern GPUdisplayText   GPU_displayText;\r
-extern GPUmakeSnapshot  GPU_makeSnapshot;\r
 extern GPUfreeze        GPU_freeze;\r
-extern GPUgetScreenPic  GPU_getScreenPic;\r
-extern GPUshowScreenPic GPU_showScreenPic;\r
 extern GPUvBlank        GPU_vBlank;\r
 extern GPUgetScreenInfo GPU_getScreenInfo;\r
 \r
-// CD-ROM Functions\r
-typedef long (CALLBACK* CDRinit)(void);\r
-typedef long (CALLBACK* CDRshutdown)(void);\r
-typedef long (CALLBACK* CDRopen)(void);\r
-typedef long (CALLBACK* CDRclose)(void);\r
-typedef long (CALLBACK* CDRgetTN)(unsigned char *);\r
-typedef long (CALLBACK* CDRgetTD)(unsigned char, unsigned char *);\r
-typedef boolean (CALLBACK* CDRreadTrack)(unsigned char *);\r
-typedef unsigned char* (CALLBACK* CDRgetBuffer)(void);\r
-typedef unsigned char* (CALLBACK* CDRgetBufferSub)(int sector);\r
-typedef long (CALLBACK* CDRconfigure)(void);\r
-typedef long (CALLBACK* CDRtest)(void);\r
-typedef void (CALLBACK* CDRabout)(void);\r
-typedef long (CALLBACK* CDRplay)(unsigned char *);\r
-typedef long (CALLBACK* CDRstop)(void);\r
-typedef long (CALLBACK* CDRsetfilename)(char *);\r
+// CD-ROM\r
 struct CdrStat {\r
        uint32_t Type; // DATA, CDDA\r
        uint32_t Status; // same as cdr.StatP\r
        unsigned char Time_[3]; // unused\r
 };\r
-typedef long (CALLBACK* CDRgetStatus)(struct CdrStat *);\r
-typedef char* (CALLBACK* CDRgetDriveLetter)(void);\r
-struct SubQ {\r
-       char res0[12];\r
-       unsigned char ControlAndADR;\r
-       unsigned char TrackNumber;\r
-       unsigned char IndexNumber;\r
-       unsigned char TrackRelativeAddress[3];\r
-       unsigned char Filler;\r
-       unsigned char AbsoluteAddress[3];\r
-       unsigned char CRC[2];\r
-       char res1[72];\r
-};\r
-typedef long (CALLBACK* CDRreadCDDA)(unsigned char, unsigned char, unsigned char, unsigned char *);\r
-typedef long (CALLBACK* CDRgetTE)(unsigned char, unsigned char *, unsigned char *, unsigned char *);\r
-\r
-// CD-ROM function pointers\r
-extern CDRinit               CDR_init;\r
-extern CDRshutdown           CDR_shutdown;\r
-extern CDRopen               CDR_open;\r
-extern CDRclose              CDR_close; \r
-extern CDRtest               CDR_test;\r
-extern CDRgetTN              CDR_getTN;\r
-extern CDRgetTD              CDR_getTD;\r
-extern CDRreadTrack          CDR_readTrack;\r
-extern CDRgetBuffer          CDR_getBuffer;\r
-extern CDRgetBufferSub       CDR_getBufferSub;\r
-extern CDRplay               CDR_play;\r
-extern CDRstop               CDR_stop;\r
-extern CDRgetStatus          CDR_getStatus;\r
-extern CDRgetDriveLetter     CDR_getDriveLetter;\r
-extern CDRconfigure          CDR_configure;\r
-extern CDRabout              CDR_about;\r
-extern CDRsetfilename        CDR_setfilename;\r
-extern CDRreadCDDA           CDR_readCDDA;\r
-extern CDRgetTE              CDR_getTE;\r
 \r
-long CALLBACK CDR__getStatus(struct CdrStat *stat);\r
+int CDR__getStatus(struct CdrStat *stat);\r
 \r
 // SPU Functions\r
 typedef long (CALLBACK* SPUinit)(void);                                \r
@@ -205,101 +137,13 @@ extern SPUplayCDDAchannel  SPU_playCDDAchannel;
 extern SPUsetCDvol         SPU_setCDvol;\r
 \r
 // PAD Functions\r
-typedef long (CALLBACK* PADconfigure)(void);\r
-typedef void (CALLBACK* PADabout)(void);\r
-typedef long (CALLBACK* PADinit)(long);\r
-typedef long (CALLBACK* PADshutdown)(void);    \r
-typedef long (CALLBACK* PADtest)(void);                \r
-typedef long (CALLBACK* PADclose)(void);\r
-typedef long (CALLBACK* PADquery)(void);\r
-typedef long (CALLBACK* PADreadPort1)(PadDataS*);\r
-typedef long (CALLBACK* PADreadPort2)(PadDataS*);\r
-typedef long (CALLBACK* PADkeypressed)(void);\r
-typedef unsigned char (CALLBACK* PADstartPoll)(int);\r
-typedef unsigned char (CALLBACK* PADpoll)(unsigned char, int *);\r
-typedef void (CALLBACK* PADsetSensitive)(int);\r
-\r
-// PAD function pointers\r
-extern PADconfigure        PAD1_configure;\r
-extern PADabout            PAD1_about;\r
-extern PADinit             PAD1_init;\r
-extern PADshutdown         PAD1_shutdown;\r
-extern PADtest             PAD1_test;\r
-extern PADopen             PAD1_open;\r
-extern PADclose            PAD1_close;\r
-extern PADquery            PAD1_query;\r
-extern PADreadPort1        PAD1_readPort1;\r
-extern PADkeypressed       PAD1_keypressed;\r
-extern PADstartPoll        PAD1_startPoll;\r
-extern PADpoll             PAD1_poll;\r
-extern PADsetSensitive     PAD1_setSensitive;\r
-\r
-extern PADconfigure        PAD2_configure;\r
-extern PADabout            PAD2_about;\r
-extern PADinit             PAD2_init;\r
-extern PADshutdown         PAD2_shutdown;\r
-extern PADtest             PAD2_test;\r
-extern PADopen             PAD2_open;\r
-extern PADclose            PAD2_close;\r
-extern PADquery            PAD2_query;\r
-extern PADreadPort2        PAD2_readPort2;\r
-extern PADkeypressed       PAD2_keypressed;\r
-extern PADstartPoll        PAD2_startPoll;\r
-extern PADpoll             PAD2_poll;\r
-extern PADsetSensitive     PAD2_setSensitive;\r
-\r
-// NET Functions\r
-typedef long (CALLBACK* NETinit)(void);\r
-typedef long (CALLBACK* NETshutdown)(void);\r
-typedef long (CALLBACK* NETclose)(void);\r
-typedef long (CALLBACK* NETconfigure)(void);\r
-typedef long (CALLBACK* NETtest)(void);\r
-typedef void (CALLBACK* NETabout)(void);\r
-typedef void (CALLBACK* NETpause)(void);\r
-typedef void (CALLBACK* NETresume)(void);\r
-typedef long (CALLBACK* NETqueryPlayer)(void);\r
-typedef long (CALLBACK* NETsendData)(void *, int, int);\r
-typedef long (CALLBACK* NETrecvData)(void *, int, int);\r
-typedef long (CALLBACK* NETsendPadData)(void *, int);\r
-typedef long (CALLBACK* NETrecvPadData)(void *, int);\r
-\r
-typedef struct {\r
-       char EmuName[32];\r
-       char CdromID[9];        // ie. 'SCPH12345', no \0 trailing character\r
-       char CdromLabel[11];\r
-       void *psxMem;\r
-       GPUshowScreenPic GPU_showScreenPic;\r
-       GPUdisplayText GPU_displayText;\r
-       PADsetSensitive PAD_setSensitive;\r
-       char GPUpath[256];      // paths must be absolute\r
-       char SPUpath[256];\r
-       char CDRpath[256];\r
-       char MCD1path[256];\r
-       char MCD2path[256];\r
-       char BIOSpath[256];     // 'HLE' for internal bios\r
-       char Unused[1024];\r
-} netInfo;\r
-\r
-typedef long (CALLBACK* NETsetInfo)(netInfo *);\r
-typedef long (CALLBACK* NETkeypressed)(int);\r
+long PAD1_readPort(PadDataS *);\r
+unsigned char PAD1_startPoll(int);\r
+unsigned char PAD1_poll(unsigned char, int *);\r
 \r
-// NET function pointers \r
-extern NETinit               NET_init;\r
-extern NETshutdown           NET_shutdown;\r
-extern NETopen               NET_open;\r
-extern NETclose              NET_close; \r
-extern NETtest               NET_test;\r
-extern NETconfigure          NET_configure;\r
-extern NETabout              NET_about;\r
-extern NETpause              NET_pause;\r
-extern NETresume             NET_resume;\r
-extern NETqueryPlayer        NET_queryPlayer;\r
-extern NETsendData           NET_sendData;\r
-extern NETrecvData           NET_recvData;\r
-extern NETsendPadData        NET_sendPadData;\r
-extern NETrecvPadData        NET_recvPadData;\r
-extern NETsetInfo            NET_setInfo;\r
-extern NETkeypressed         NET_keypressed;\r
+long PAD2_readPort(PadDataS *);\r
+unsigned char PAD2_startPoll(int);\r
+unsigned char PAD2_poll(unsigned char, int *);\r
 \r
 #ifdef ENABLE_SIO1API\r
 \r
@@ -384,7 +228,6 @@ int padToggleAnalog(unsigned int index);
 \r
 extern void pl_gun_byte2(int port, unsigned char byte);\r
 extern void plat_trigger_vibrate(int pad, int low, int high);\r
-extern void plat_get_psx_resolution(int *xres, int *yres);\r
 \r
 #ifdef __cplusplus\r
 }\r