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
// GPU function pointers\r
extern GPUupdateLace GPU_updateLace;\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* CDRstop)(void);\r
typedef long (CALLBACK* CDRsetfilename)(char *);\r
struct CdrStat {\r
- uint32_t Type;\r
- uint32_t Status;\r
- unsigned char Time[3];\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
extern CDRreadCDDA CDR_readCDDA;\r
extern CDRgetTE CDR_getTE;\r
\r
+long CALLBACK CDR__getStatus(struct CdrStat *stat);\r
+\r
// SPU Functions\r
typedef long (CALLBACK* SPUinit)(void); \r
typedef long (CALLBACK* SPUshutdown)(void); \r
typedef long (CALLBACK* SPUclose)(void); \r
typedef void (CALLBACK* SPUwriteRegister)(unsigned long, unsigned short, unsigned int);\r
-typedef unsigned short (CALLBACK* SPUreadRegister)(unsigned long);\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 *, unsigned int, int);\r
-typedef void (CALLBACK* SPUregisterCallback)(void (CALLBACK *callback)(void));\r
+typedef void (CALLBACK* SPUregisterCallback)(void (CALLBACK *callback)(int));\r
typedef void (CALLBACK* SPUregisterScheduleCb)(void (CALLBACK *callback)(unsigned int cycles_after));\r
typedef struct {\r
unsigned char PluginName[8];\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
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