X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libpcsxcore%2Fplugins.h;h=132df90730fb18a4181a1211cc83032d7d299829;hb=HEAD;hp=5149d4682aa894dab497d9932c84e9a9a4efe93f;hpb=38b8a211aad8d2c485ccf0c0cbb58d965aac3483;p=pcsx_rearmed.git diff --git a/libpcsxcore/plugins.h b/libpcsxcore/plugins.h index 5149d468..d32c9e41 100644 --- a/libpcsxcore/plugins.h +++ b/libpcsxcore/plugins.h @@ -31,11 +31,10 @@ extern "C" { 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 "gpu.h" #include "decode_xa.h" int LoadPlugins(); @@ -58,23 +57,9 @@ 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 *); -typedef struct { - uint32_t ulFreezeVersion; - uint32_t ulStatus; - uint32_t ulControl[256]; - unsigned char psxVRam[1024*512*2]; -} GPUFreeze_t; 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 *); @@ -82,9 +67,6 @@ typedef void (CALLBACK* GPUgetScreenInfo)(int *, int *); 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; @@ -94,74 +76,18 @@ extern GPUwriteStatus GPU_writeStatus; extern GPUwriteData GPU_writeData; extern GPUwriteDataMem GPU_writeDataMem; extern GPUdmaChain GPU_dmaChain; -extern GPUkeypressed GPU_keypressed; -extern GPUdisplayText GPU_displayText; -extern GPUmakeSnapshot GPU_makeSnapshot; 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); -typedef long (CALLBACK* CDRshutdown)(void); -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 boolean (CALLBACK* CDRreadTrack)(unsigned char *); -typedef unsigned char* (CALLBACK* CDRgetBuffer)(void); -typedef unsigned char* (CALLBACK* CDRgetBufferSub)(int sector); -typedef long (CALLBACK* CDRconfigure)(void); -typedef long (CALLBACK* CDRtest)(void); -typedef void (CALLBACK* CDRabout)(void); -typedef long (CALLBACK* CDRplay)(unsigned char *); -typedef long (CALLBACK* CDRstop)(void); -typedef long (CALLBACK* CDRsetfilename)(char *); +// CD-ROM struct CdrStat { 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); -struct SubQ { - char res0[12]; - unsigned char ControlAndADR; - unsigned char TrackNumber; - unsigned char IndexNumber; - unsigned char TrackRelativeAddress[3]; - unsigned char Filler; - unsigned char AbsoluteAddress[3]; - unsigned char CRC[2]; - char res1[72]; -}; -typedef long (CALLBACK* CDRreadCDDA)(unsigned char, unsigned char, unsigned char, unsigned char *); -typedef long (CALLBACK* CDRgetTE)(unsigned char, unsigned char *, unsigned char *, unsigned char *); - -// CD-ROM function pointers -extern CDRinit CDR_init; -extern CDRshutdown CDR_shutdown; -extern CDRopen CDR_open; -extern CDRclose CDR_close; -extern CDRtest CDR_test; -extern CDRgetTN CDR_getTN; -extern CDRgetTD CDR_getTD; -extern CDRreadTrack CDR_readTrack; -extern CDRgetBuffer CDR_getBuffer; -extern CDRgetBufferSub CDR_getBufferSub; -extern CDRplay CDR_play; -extern CDRstop CDR_stop; -extern CDRgetStatus CDR_getStatus; -extern CDRgetDriveLetter CDR_getDriveLetter; -extern CDRconfigure CDR_configure; -extern CDRabout CDR_about; -extern CDRsetfilename CDR_setfilename; -extern CDRreadCDDA CDR_readCDDA; -extern CDRgetTE CDR_getTE; -long CALLBACK CDR__getStatus(struct CdrStat *stat); +int CDR__getStatus(struct CdrStat *stat); // SPU Functions typedef long (CALLBACK* SPUinit)(void); @@ -211,101 +137,13 @@ extern SPUplayCDDAchannel SPU_playCDDAchannel; extern SPUsetCDvol SPU_setCDvol; // PAD Functions -typedef long (CALLBACK* PADconfigure)(void); -typedef void (CALLBACK* PADabout)(void); -typedef long (CALLBACK* PADinit)(long); -typedef long (CALLBACK* PADshutdown)(void); -typedef long (CALLBACK* PADtest)(void); -typedef long (CALLBACK* PADclose)(void); -typedef long (CALLBACK* PADquery)(void); -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, int *); -typedef void (CALLBACK* PADsetSensitive)(int); - -// PAD function pointers -extern PADconfigure PAD1_configure; -extern PADabout PAD1_about; -extern PADinit PAD1_init; -extern PADshutdown PAD1_shutdown; -extern PADtest PAD1_test; -extern PADopen PAD1_open; -extern PADclose PAD1_close; -extern PADquery PAD1_query; -extern PADreadPort1 PAD1_readPort1; -extern PADkeypressed PAD1_keypressed; -extern PADstartPoll PAD1_startPoll; -extern PADpoll PAD1_poll; -extern PADsetSensitive PAD1_setSensitive; - -extern PADconfigure PAD2_configure; -extern PADabout PAD2_about; -extern PADinit PAD2_init; -extern PADshutdown PAD2_shutdown; -extern PADtest PAD2_test; -extern PADopen PAD2_open; -extern PADclose PAD2_close; -extern PADquery PAD2_query; -extern PADreadPort2 PAD2_readPort2; -extern PADkeypressed PAD2_keypressed; -extern PADstartPoll PAD2_startPoll; -extern PADpoll PAD2_poll; -extern PADsetSensitive PAD2_setSensitive; - -// NET Functions -typedef long (CALLBACK* NETinit)(void); -typedef long (CALLBACK* NETshutdown)(void); -typedef long (CALLBACK* NETclose)(void); -typedef long (CALLBACK* NETconfigure)(void); -typedef long (CALLBACK* NETtest)(void); -typedef void (CALLBACK* NETabout)(void); -typedef void (CALLBACK* NETpause)(void); -typedef void (CALLBACK* NETresume)(void); -typedef long (CALLBACK* NETqueryPlayer)(void); -typedef long (CALLBACK* NETsendData)(void *, int, int); -typedef long (CALLBACK* NETrecvData)(void *, int, int); -typedef long (CALLBACK* NETsendPadData)(void *, int); -typedef long (CALLBACK* NETrecvPadData)(void *, int); - -typedef struct { - char EmuName[32]; - char CdromID[9]; // ie. 'SCPH12345', no \0 trailing character - char CdromLabel[11]; - void *psxMem; - GPUshowScreenPic GPU_showScreenPic; - GPUdisplayText GPU_displayText; - PADsetSensitive PAD_setSensitive; - char GPUpath[256]; // paths must be absolute - char SPUpath[256]; - char CDRpath[256]; - char MCD1path[256]; - char MCD2path[256]; - char BIOSpath[256]; // 'HLE' for internal bios - char Unused[1024]; -} netInfo; - -typedef long (CALLBACK* NETsetInfo)(netInfo *); -typedef long (CALLBACK* NETkeypressed)(int); +long PAD1_readPort(PadDataS *); +unsigned char PAD1_startPoll(int); +unsigned char PAD1_poll(unsigned char, int *); -// NET function pointers -extern NETinit NET_init; -extern NETshutdown NET_shutdown; -extern NETopen NET_open; -extern NETclose NET_close; -extern NETtest NET_test; -extern NETconfigure NET_configure; -extern NETabout NET_about; -extern NETpause NET_pause; -extern NETresume NET_resume; -extern NETqueryPlayer NET_queryPlayer; -extern NETsendData NET_sendData; -extern NETrecvData NET_recvData; -extern NETsendPadData NET_sendPadData; -extern NETrecvPadData NET_recvPadData; -extern NETsetInfo NET_setInfo; -extern NETkeypressed NET_keypressed; +long PAD2_readPort(PadDataS *); +unsigned char PAD2_startPoll(int); +unsigned char PAD2_poll(unsigned char, int *); #ifdef ENABLE_SIO1API @@ -390,7 +228,6 @@ 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 }