#endif\r
\r
#include "psxcommon.h"\r
+#include "psemu_plugin_defs.h"\r
\r
//#define ENABLE_SIO1API 1\r
\r
-#ifndef _WIN32\r
-\r
-typedef void* HWND;\r
-#define CALLBACK\r
-\r
-#else\r
-\r
-#define WIN32_LEAN_AND_MEAN\r
-#include <windows.h>\r
-\r
-#endif\r
-\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 *SIO1open)(unsigned long *);\r
\r
#include "spu.h"\r
-\r
-#include "psemu_plugin_defs.h"\r
#include "decode_xa.h"\r
\r
int LoadPlugins();\r
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);\r
+typedef long (CALLBACK* GPUdmaChain)(uint32_t *,uint32_t, uint32_t *);\r
typedef void (CALLBACK* GPUupdateLace)(void);\r
typedef long (CALLBACK* GPUconfigure)(void);\r
typedef long (CALLBACK* GPUtest)(void);\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* GPUclearDynarec)(void (CALLBACK *callback)(void));\r
typedef void (CALLBACK* GPUvBlank)(int, int);\r
+typedef void (CALLBACK* GPUgetScreenInfo)(int *, int *);\r
\r
// GPU function pointers\r
extern GPUupdateLace GPU_updateLace;\r
extern GPUfreeze GPU_freeze;\r
extern GPUgetScreenPic GPU_getScreenPic;\r
extern GPUshowScreenPic GPU_showScreenPic;\r
-extern GPUclearDynarec GPU_clearDynarec;\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* CDRclose)(void);\r
typedef long (CALLBACK* CDRgetTN)(unsigned char *);\r
typedef long (CALLBACK* CDRgetTD)(unsigned char, unsigned char *);\r
-typedef long (CALLBACK* CDRreadTrack)(unsigned char *);\r
+typedef boolean (CALLBACK* CDRreadTrack)(unsigned char *);\r
typedef unsigned char* (CALLBACK* CDRgetBuffer)(void);\r
-typedef unsigned char* (CALLBACK* CDRgetBufferSub)(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* SPUinit)(void); \r
typedef long (CALLBACK* SPUshutdown)(void); \r
typedef long (CALLBACK* SPUclose)(void); \r
-typedef void (CALLBACK* SPUplaySample)(unsigned char); \r
typedef void (CALLBACK* SPUwriteRegister)(unsigned long, unsigned short, unsigned int);\r
-typedef unsigned short (CALLBACK* SPUreadRegister)(unsigned long);\r
-typedef void (CALLBACK* SPUwriteDMA)(unsigned short);\r
-typedef unsigned short (CALLBACK* SPUreadDMA)(void);\r
+typedef unsigned short (CALLBACK* SPUreadRegister)(unsigned long, unsigned int);\r
typedef void (CALLBACK* SPUwriteDMAMem)(unsigned short *, int, unsigned int);\r
typedef void (CALLBACK* SPUreadDMAMem)(unsigned short *, int, unsigned int);\r
-typedef void (CALLBACK* SPUplayADPCMchannel)(xa_decode_t *);\r
+typedef void (CALLBACK* SPUplayADPCMchannel)(xa_decode_t *, unsigned int, int);\r
typedef void (CALLBACK* SPUregisterCallback)(void (CALLBACK *callback)(void));\r
typedef void (CALLBACK* SPUregisterScheduleCb)(void (CALLBACK *callback)(unsigned int cycles_after));\r
-typedef long (CALLBACK* SPUconfigure)(void);\r
-typedef long (CALLBACK* SPUtest)(void);\r
-typedef void (CALLBACK* SPUabout)(void);\r
+typedef struct {\r
+ unsigned char PluginName[8];\r
+ uint32_t PluginVersion;\r
+ uint32_t Size;\r
+} SPUFreezeHdr_t;\r
typedef struct {\r
unsigned char PluginName[8];\r
uint32_t PluginVersion;\r
unsigned char SPUPorts[0x200];\r
unsigned char SPURam[0x80000];\r
xa_decode_t xa;\r
- unsigned char *SPUInfo;\r
+ unsigned char *unused;\r
} SPUFreeze_t;\r
typedef long (CALLBACK* SPUfreeze)(uint32_t, SPUFreeze_t *, uint32_t);\r
typedef void (CALLBACK* SPUasync)(uint32_t, uint32_t);\r
-typedef int (CALLBACK* SPUplayCDDAchannel)(short *, int);\r
+typedef int (CALLBACK* SPUplayCDDAchannel)(short *, int, unsigned int, int);\r
\r
// SPU function pointers\r
-extern SPUconfigure SPU_configure;\r
-extern SPUabout SPU_about;\r
extern SPUinit SPU_init;\r
extern SPUshutdown SPU_shutdown;\r
-extern SPUtest SPU_test;\r
extern SPUopen SPU_open;\r
extern SPUclose SPU_close;\r
-extern SPUplaySample SPU_playSample;\r
extern SPUwriteRegister SPU_writeRegister;\r
extern SPUreadRegister SPU_readRegister;\r
-extern SPUwriteDMA SPU_writeDMA;\r
-extern SPUreadDMA SPU_readDMA;\r
extern SPUwriteDMAMem SPU_writeDMAMem;\r
extern SPUreadDMAMem SPU_readDMAMem;\r
extern SPUplayADPCMchannel SPU_playADPCMchannel;\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);\r
+typedef unsigned char (CALLBACK* PADpoll)(unsigned char, int *);\r
typedef void (CALLBACK* PADsetSensitive)(int);\r
\r
// PAD function pointers\r
\r
#endif\r
\r
-void CALLBACK clearDynarec(void);\r
-\r
void SetIsoFile(const char *filename);\r
const char *GetIsoFile(void);\r
boolean UsingIso(void);\r
void SetCdOpenCaseTime(s64 time);\r
\r
+int padFreeze(void *f, int Mode);\r
+\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
#endif\r