X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=plugins%2Fdfsound%2Fexternals.h;h=b63ac3c4e38f7edca64f3697a08ac9e5fb5fc49e;hb=e81f182da0bed2ff8ea00abb8d0a5b0a3ae59fbb;hp=c038ea3124a61098018f5ac94297f73e3b2a1ac3;hpb=5e719deac77b5c90eec87ea147b2bdbc30c53153;p=pcsx_rearmed.git diff --git a/plugins/dfsound/externals.h b/plugins/dfsound/externals.h index c038ea31..b63ac3c4 100644 --- a/plugins/dfsound/externals.h +++ b/plugins/dfsound/externals.h @@ -24,6 +24,9 @@ // generic defines ///////////////////////////////////////////////////////// +//#define log_unhandled printf +#define log_unhandled(...) + #ifdef __GNUC__ #define noinline __attribute__((noinline)) #define unlikely(x) __builtin_expect((x), 0) @@ -114,6 +117,7 @@ typedef struct unsigned int bFMod:2; // freq mod (0=off, 1=sound channel, 2=freq channel) unsigned int prevflags:3; // flags from previous block unsigned int bIgnoreLoop:1; // Ignore loop + unsigned int bNewPitch:1; // pitch changed int iLeftVolume; // left volume int iRightVolume; // right volume ADSRInfoEx ADSRX; @@ -197,14 +201,14 @@ typedef struct 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 dwChannelsAudible; // not silent channels unsigned int dwChannelDead; // silent+not useful channels unsigned char * pSpuBuffer; short * pS; void (CALLBACK *irqCallback)(void); // func of main emu, called on spu irq - void (CALLBACK *cddavCallback)(unsigned short,unsigned short); + void (CALLBACK *cddavCallback)(short, short); void (CALLBACK *scheduleCallback)(unsigned int); xa_decode_t * xapGlobal; @@ -235,7 +239,9 @@ typedef struct unsigned short regArea[0x400]; } SPUInfo; -#define regAreaGet(ch,offset) \ +#define regAreaGet(offset) \ + spu.regArea[((offset) - 0xc00)>>1] +#define regAreaGetCh(ch, offset) \ spu.regArea[((ch<<4)|(offset))>>1] /////////////////////////////////////////////////////////// @@ -248,6 +254,7 @@ extern SPUInfo spu; void do_samples(unsigned int cycles_to, int do_sync); void schedule_next_irq(void); +void check_irq_io(unsigned int addr); #define do_samples_if_needed(c, sync) \ do { \