X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=plugins%2Fdfsound%2Fspu.h;h=d49d9033e9bb898b2726fde59f72b7a8b25730bd;hp=810ec07dec01183c986079255015d5b1210867ec;hb=38b8a211aad8d2c485ccf0c0cbb58d965aac3483;hpb=a3d87cd770ffb9b5bcbf519683ec7f29d67794e6 diff --git a/plugins/dfsound/spu.h b/plugins/dfsound/spu.h index 810ec07d..d49d9033 100644 --- a/plugins/dfsound/spu.h +++ b/plugins/dfsound/spu.h @@ -18,18 +18,29 @@ #ifndef __P_SPU_H__ #define __P_SPU_H__ -#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ -#define HTOLE16(x) __builtin_bswap16(x) -#define LE16TOH(x) __builtin_bswap16(x) -#else -#define HTOLE16(x) (x) -#define LE16TOH(x) (x) -#endif +struct SPUFreeze; +struct xa_decode; -void ClearWorkingState(void); -void CALLBACK SPUplayADPCMchannel(xa_decode_t *xap, unsigned int cycle, int is_start); +long CALLBACK SPUopen(void); +long CALLBACK SPUinit(void); +long CALLBACK SPUshutdown(void); +long CALLBACK SPUclose(void); +void CALLBACK SPUwriteRegister(unsigned long, unsigned short, unsigned int); +unsigned short CALLBACK SPUreadRegister(unsigned long, unsigned int); +void CALLBACK SPUregisterCallback(void (*cb)(int)); +void CALLBACK SPUregisterScheduleCb(void (*cb)(unsigned int)); +long CALLBACK SPUfreeze(unsigned int, struct SPUFreeze *, unsigned int); +void CALLBACK SPUasync(unsigned int, unsigned int); + +void CALLBACK SPUreadDMAMem(unsigned short * pusPSXMem,int iSize,unsigned int cycles); +void CALLBACK SPUwriteDMAMem(unsigned short * pusPSXMem,int iSize,unsigned int cycles); + +void CALLBACK SPUplayADPCMchannel(struct xa_decode *xap, unsigned int cycle, int is_start); int CALLBACK SPUplayCDDAchannel(short *pcm, int bytes, unsigned int cycle, int is_start); -void FeedXA(const xa_decode_t *xap); -void FeedCDDA(unsigned char *pcm, int nBytes); +void CALLBACK SPUsetCDvol(unsigned char ll, unsigned char lr, + unsigned char rl, unsigned char rr, unsigned int cycle); + +// internal +void ClearWorkingState(void); #endif /* __P_SPU_H__ */