cdrom: change pause timing again
[pcsx_rearmed.git] / plugins / dfsound / spu.h
index 334c680..d49d903 100644 (file)
 #ifndef __P_SPU_H__\r
 #define __P_SPU_H__\r
 \r
-#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__\r
-#define HTOLE16(x) __builtin_bswap16(x)\r
-#define LE16TOH(x) __builtin_bswap16(x)\r
-#else\r
-#define HTOLE16(x) (x)\r
-#define LE16TOH(x) (x)\r
-#endif\r
+struct SPUFreeze;\r
+struct xa_decode;\r
 \r
-void ClearWorkingState(void);\r
-void CALLBACK SPUplayADPCMchannel(xa_decode_t *xap, unsigned int cycle, int is_start);\r
+long CALLBACK SPUopen(void);\r
+long CALLBACK SPUinit(void);\r
+long CALLBACK SPUshutdown(void);\r
+long CALLBACK SPUclose(void);\r
+void CALLBACK SPUwriteRegister(unsigned long, unsigned short, unsigned int);\r
+unsigned short CALLBACK SPUreadRegister(unsigned long, unsigned int);\r
+void CALLBACK SPUregisterCallback(void (*cb)(int));\r
+void CALLBACK SPUregisterScheduleCb(void (*cb)(unsigned int));\r
+long CALLBACK SPUfreeze(unsigned int, struct SPUFreeze *, unsigned int);\r
+void CALLBACK SPUasync(unsigned int, unsigned int);\r
+\r
+void CALLBACK SPUreadDMAMem(unsigned short * pusPSXMem,int iSize,unsigned int cycles);\r
+void CALLBACK SPUwriteDMAMem(unsigned short * pusPSXMem,int iSize,unsigned int cycles);\r
+\r
+void CALLBACK SPUplayADPCMchannel(struct xa_decode *xap, unsigned int cycle, int is_start);\r
 int  CALLBACK SPUplayCDDAchannel(short *pcm, int bytes, unsigned int cycle, int is_start);\r
+void CALLBACK SPUsetCDvol(unsigned char ll, unsigned char lr,\r
+               unsigned char rl, unsigned char rr, unsigned int cycle);\r
+\r
+// internal\r
+void ClearWorkingState(void);\r
 \r
 #endif /* __P_SPU_H__ */\r