| 1 | /***************************************************************************\r |
| 2 | spu.h - description\r |
| 3 | -------------------\r |
| 4 | begin : Wed May 15 2002\r |
| 5 | copyright : (C) 2002 by Pete Bernert\r |
| 6 | email : BlackDove@addcom.de\r |
| 7 | ***************************************************************************/\r |
| 8 | /***************************************************************************\r |
| 9 | * *\r |
| 10 | * This program is free software; you can redistribute it and/or modify *\r |
| 11 | * it under the terms of the GNU General Public License as published by *\r |
| 12 | * the Free Software Foundation; either version 2 of the License, or *\r |
| 13 | * (at your option) any later version. See also the license.txt file for *\r |
| 14 | * additional informations. *\r |
| 15 | * *\r |
| 16 | ***************************************************************************/\r |
| 17 | \r |
| 18 | #ifndef __P_SPU_H__\r |
| 19 | #define __P_SPU_H__\r |
| 20 | \r |
| 21 | struct SPUFreeze;\r |
| 22 | struct xa_decode;\r |
| 23 | \r |
| 24 | long CALLBACK SPUopen(void);\r |
| 25 | long CALLBACK SPUinit(void);\r |
| 26 | long CALLBACK SPUshutdown(void);\r |
| 27 | long CALLBACK SPUclose(void);\r |
| 28 | void CALLBACK SPUwriteRegister(unsigned long, unsigned short, unsigned int);\r |
| 29 | unsigned short CALLBACK SPUreadRegister(unsigned long, unsigned int);\r |
| 30 | void CALLBACK SPUregisterCallback(void (*cb)(int));\r |
| 31 | void CALLBACK SPUregisterScheduleCb(void (*cb)(unsigned int));\r |
| 32 | long CALLBACK SPUfreeze(unsigned int, struct SPUFreeze *, unsigned int);\r |
| 33 | void CALLBACK SPUasync(unsigned int, unsigned int);\r |
| 34 | \r |
| 35 | void CALLBACK SPUreadDMAMem(unsigned short * pusPSXMem,int iSize,unsigned int cycles);\r |
| 36 | void CALLBACK SPUwriteDMAMem(unsigned short * pusPSXMem,int iSize,unsigned int cycles);\r |
| 37 | \r |
| 38 | void CALLBACK SPUplayADPCMchannel(struct xa_decode *xap, unsigned int cycle, int is_start);\r |
| 39 | int CALLBACK SPUplayCDDAchannel(short *pcm, int bytes, unsigned int cycle, int is_start);\r |
| 40 | void CALLBACK SPUsetCDvol(unsigned char ll, unsigned char lr,\r |
| 41 | unsigned char rl, unsigned char rr, unsigned int cycle);\r |
| 42 | \r |
| 43 | // internal\r |
| 44 | void ClearWorkingState(void);\r |
| 45 | \r |
| 46 | #endif /* __P_SPU_H__ */\r |