PSXSDK
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
psxspu.h
Go to the documentation of this file.
1 #ifndef _SPU_H
2 #define _SPU_H
3 
5 #define SPU_DATA_BASE_ADDR 0x1010
6 
7 #define SPU_MAXVOL 0x3FFF
8 
11 typedef struct
12 {
14  unsigned int version;
16  unsigned int data_size;
18  unsigned int sample_rate;
20  unsigned char name[16];
22  void *data;
24  unsigned int spu_addr;
26  char cur_voice;
27 }SsVag;
28 
36 void SsVoiceVol(int voice, unsigned short left, unsigned short right);
37 
44 void SsVoicePitch(int voice, unsigned short pitch);
45 
46 
53 void SsVoiceStartAddr(int voice, unsigned int addr);
54 
62 void SsVoiceADSRRaw(int voice, unsigned short level, unsigned short rate);
63 
70 void SsVoiceRepeatAddr(int voice, unsigned int addr);
71 
77 void SsKeyOn(int voice);
78 
84 void SsKeyOff(int voice);
85 
91 void SsKeyOnMask(int mask);
92 
98 void SsKeyOffMask(int mask);
99 
104 void SsWait(void);
105 
110 void SsInit(void);
111 
119 void SsUpload(void *addr, int size, int spu_addr);
120 
127 unsigned short SsFreqToPitch(int hz);
128 
135 int SsReadVag(SsVag *vag, void *data);
136 
144 void SsUploadVagEx(SsVag *vag, int spu_addr);
145 
146 
153 void SsUploadVag(SsVag *vag);
154 
163 void SsPlayVag(SsVag *vag, unsigned char voice, unsigned short vl,
164  unsigned short vr);
165 
171 void SsStopVag(SsVag *vag);
172 
177 void SsResetVagAddr(void);
178 
183 void SsEnableCd(void);
184 
189 void SsEnableExt(void);
190 
197 void SsCdVol(unsigned short left, unsigned short right);
198 
199 #endif