X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=plugins%2Fdfsound%2Fexternals.h;fp=plugins%2Fdfsound%2Fexternals.h;h=7935cb99fea38875e5bebe2e782333df6e5afb51;hp=909639926bc35de62e0db4c6cbaaa837f4531f25;hb=3154bfab51566cbaa5bce3965d4c915bfb1b4f53;hpb=d618a2409c80f627a43c89791ce3f7bc38a48648 diff --git a/plugins/dfsound/externals.h b/plugins/dfsound/externals.h index 90963992..7935cb99 100644 --- a/plugins/dfsound/externals.h +++ b/plugins/dfsound/externals.h @@ -165,96 +165,83 @@ typedef struct int nFB_SRC_A0, nFB_SRC_A1, nFB_SRC_B0, nFB_SRC_B1; } REVERBInfo; -/////////////////////////////////////////////////////////// -// SPU.C globals /////////////////////////////////////////////////////////// -#ifndef _IN_SPU - // psx buffers / addresses -extern unsigned short regArea[]; -extern unsigned short spuMem[]; -extern unsigned char * spuMemC; -extern unsigned char * pSpuIrq; -extern unsigned char * pSpuBuffer; +typedef struct +{ + unsigned short spuCtrl; + unsigned short spuStat; -#define regAreaGet(ch,offset) \ - regArea[((ch<<4)|(offset))>>1] + unsigned int spuAddr; + unsigned char * spuMemC; + unsigned char * pSpuIrq; -// user settings + unsigned int cycles_played; + int decode_pos; + int decode_dirty_ch; + unsigned int bSpuInit:1; + unsigned int bSPUIsOpen:1; -extern int iVolume; -extern int iXAPitch; -extern int iUseReverb; -extern int iUseInterpolation; -// MISC + unsigned int dwNoiseVal; // global noise generator + unsigned int dwNoiseCount; + unsigned int dwNewChannel; // flags for faster testing, if new channel starts + unsigned int dwChannelOn; // not silent channels + unsigned int dwChannelDead; // silent+not useful channels -extern int decode_pos; + unsigned char * pSpuBuffer; + short * pS; -extern SPUCHAN s_chan[]; -extern REVERBInfo rvb; + void (CALLBACK *irqCallback)(void); // func of main emu, called on spu irq + void (CALLBACK *cddavCallback)(unsigned short,unsigned short); + void (CALLBACK *scheduleCallback)(unsigned int); -extern unsigned short spuCtrl; -extern unsigned short spuStat; -extern unsigned short spuIrq; -extern unsigned int spuAddr; -extern int bSpuInit; -extern unsigned int dwNewChannel; -extern unsigned int dwChannelOn; -extern unsigned int dwPendingChanOff; -extern unsigned int dwChannelDead; + int * sRVBStart; -extern int SSumR[]; -extern int SSumL[]; -extern short * pS; + xa_decode_t * xapGlobal; + unsigned int * XAFeed; + unsigned int * XAPlay; + unsigned int * XAStart; + unsigned int * XAEnd; -extern void (CALLBACK *cddavCallback)(unsigned short,unsigned short); + unsigned int * CDDAFeed; + unsigned int * CDDAPlay; + unsigned int * CDDAStart; + unsigned int * CDDAEnd; -extern unsigned int cycles_played; + unsigned int XARepeat; + unsigned int XALastVal; -void do_samples(unsigned int cycles_to); -void schedule_next_irq(void); - -#define do_samples_if_needed(c) \ - do { \ - if ((int)((c) - cycles_played) >= 16 * 768) \ - do_samples(c); \ - } while (0) + int iLeftXAVol; + int iRightXAVol; -#endif + int pad[32]; + unsigned short regArea[0x400]; + unsigned short spuMem[256*1024]; +} SPUInfo; /////////////////////////////////////////////////////////// -// XA.C globals +// SPU.C globals /////////////////////////////////////////////////////////// -#ifndef _IN_XA +#ifndef _IN_SPU -extern xa_decode_t * xapGlobal; +extern SPUInfo spu; +extern SPUCHAN s_chan[]; +extern REVERBInfo rvb; -extern uint32_t * XAFeed; -extern uint32_t * XAPlay; -extern uint32_t * XAStart; -extern uint32_t * XAEnd; +void do_samples(unsigned int cycles_to); +void schedule_next_irq(void); -extern uint32_t * CDDAFeed; -extern uint32_t * CDDAPlay; -extern uint32_t * CDDAStart; -extern uint32_t * CDDAEnd; +#define regAreaGet(ch,offset) \ + spu.regArea[((ch<<4)|(offset))>>1] -extern int iLeftXAVol; -extern int iRightXAVol; +#define do_samples_if_needed(c) \ + do { \ + if ((int)((c) - spu.cycles_played) >= 16 * 768) \ + do_samples(c); \ + } while (0) #endif -/////////////////////////////////////////////////////////// -// REVERB.C globals -/////////////////////////////////////////////////////////// - -#ifndef _IN_REVERB - -extern int * sRVBPlay; -extern int * sRVBEnd; -extern int * sRVBStart; - -#endif