X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=plugins%2Fdfsound%2Fexternals.h;h=fbf9d1819fc370f8e6c9a8e06e8c078fa87020ba;hp=5d72002b1e377196778add728cc8e1919a11e763;hb=efce366c5b6596b9542c4fe8c69695191dab5d5a;hpb=174c454a98a71475b72958c9f76293af7d6fb502 diff --git a/plugins/dfsound/externals.h b/plugins/dfsound/externals.h index 5d72002b..fbf9d181 100644 --- a/plugins/dfsound/externals.h +++ b/plugins/dfsound/externals.h @@ -21,6 +21,14 @@ // generic defines ///////////////////////////////////////////////////////// +#if 0 //def __GNUC__ +#define noinline __attribute__((noinline)) +#define unlikely(x) __builtin_expect((x), 0) +#else +#define noinline +#define unlikely(x) x +#endif + #define PSE_LT_SPU 4 #define PSE_SPU_ERR_SUCCESS 0 #define PSE_SPU_ERR -60 @@ -35,16 +43,10 @@ // spu defines //////////////////////////////////////////////////////////////////////// -// sound buffer sizes -// 400 ms complete sound buffer -#define SOUNDSIZE 70560 -// 137 ms test buffer... if less than that is buffered, a new upload will happen -#define TESTSIZE 24192 - // num of channels #define MAXCHAN 24 -// ~ 1 ms of data +// ~ FRAG_MSECS ms of data // note: must be even due to the way reverb works now #define FRAG_MSECS 2 #define NSSIZE ((44100 * FRAG_MSECS / 1000 + 1) & ~1) @@ -107,19 +109,16 @@ typedef struct int spos; int sinc; - unsigned char * pStart; // start ptr into sound mem unsigned char * pCurr; // current pos in sound mem unsigned char * pLoop; // loop ptr in sound mem unsigned int bStop:1; // is channel stopped (sample _can_ still be playing, ADSR Release phase) unsigned int bReverb:1; // can we do reverb on this channel? must have ctrl register bit, to get active - unsigned int bIgnoreLoop:1; // ignore loop bit, if an external loop address is used unsigned int bRVBActive:1; // reverb active flag unsigned int bNoise:1; // noise active flag unsigned int bFMod:2; // freq mod (0=off, 1=sound channel, 2=freq channel) + unsigned int prevflags:3; // flags from previous block - int iActFreq; // current psx pitch - int iUsedFreq; // current pc pitch int iLeftVolume; // left volume int iRightVolume; // right volume ADSRInfoEx ADSRX; @@ -199,19 +198,19 @@ extern unsigned char * spuMemC; extern unsigned char * pSpuIrq; extern unsigned char * pSpuBuffer; +#define regAreaGet(ch,offset) \ + regArea[((ch<<4)|(offset))>>1] + // user settings extern int iVolume; extern int iXAPitch; -extern int iUseTimer; -extern int iSPUIRQWait; -extern int iDebugMode; -extern int iRecordMode; extern int iUseReverb; extern int iUseInterpolation; // MISC -extern int iSpuAsyncWait; +extern int had_dma; +extern int decode_pos; extern SPUCHAN s_chan[]; extern REVERBInfo rvb; @@ -221,8 +220,6 @@ extern unsigned short spuCtrl; extern unsigned short spuStat; extern unsigned short spuIrq; extern unsigned long spuAddr; -extern int bEndThread; -extern int bThreadEnded; extern int bSpuInit; extern unsigned int dwNewChannel; extern unsigned int dwChannelOn; @@ -251,9 +248,6 @@ extern uint32_t * XAPlay; extern uint32_t * XAStart; extern uint32_t * XAEnd; -extern uint32_t XARepeat; -extern uint32_t XALastVal; - extern uint32_t * CDDAFeed; extern uint32_t * CDDAPlay; extern uint32_t * CDDAStart;