// generic defines\r
/////////////////////////////////////////////////////////\r
\r
+#if 0 //def __GNUC__\r
+#define noinline __attribute__((noinline))\r
+#define unlikely(x) __builtin_expect((x), 0)\r
+#else\r
+#define noinline\r
+#define unlikely(x) x\r
+#endif\r
+\r
#define PSE_LT_SPU 4\r
#define PSE_SPU_ERR_SUCCESS 0\r
#define PSE_SPU_ERR -60\r
// spu defines\r
////////////////////////////////////////////////////////////////////////\r
\r
-// sound buffer sizes\r
-// 400 ms complete sound buffer\r
-#define SOUNDSIZE 70560\r
-// 137 ms test buffer... if less than that is buffered, a new upload will happen\r
-#define TESTSIZE 24192\r
-\r
// num of channels\r
#define MAXCHAN 24\r
\r
-// ~ 1 ms of data\r
+// ~ FRAG_MSECS ms of data\r
// note: must be even due to the way reverb works now\r
#define FRAG_MSECS 2\r
#define NSSIZE ((44100 * FRAG_MSECS / 1000 + 1) & ~1)\r
unsigned int bRVBActive:1; // reverb active flag\r
unsigned int bNoise:1; // noise active flag\r
unsigned int bFMod:2; // freq mod (0=off, 1=sound channel, 2=freq channel)\r
- unsigned int bJump:1; // last decoded block jumped\r
+ unsigned int prevflags:3; // flags from previous block\r
\r
int iLeftVolume; // left volume\r
int iRightVolume; // right volume\r
\r
extern int iVolume;\r
extern int iXAPitch;\r
-extern int iSPUIRQWait;\r
-extern int iDebugMode;\r
-extern int iRecordMode;\r
extern int iUseReverb;\r
extern int iUseInterpolation;\r
// MISC\r
\r
-extern int iSpuAsyncWait;\r
+extern int had_dma;\r
+extern int decode_pos;\r
\r
extern SPUCHAN s_chan[];\r
extern REVERBInfo rvb;\r
extern uint32_t * XAStart;\r
extern uint32_t * XAEnd;\r
\r
-extern uint32_t XARepeat;\r
-extern uint32_t XALastVal;\r
-\r
extern uint32_t * CDDAFeed;\r
extern uint32_t * CDDAPlay;\r
extern uint32_t * CDDAStart;\r