X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=plugins%2Fdfsound%2Fexternals.h;h=dd05a5ab776bcd3d6f089e49fc8dcef71ba9d5c9;hb=b49db14fe3ba571e5052eb3f60a1dfee3365f484;hp=5cd269e4be9858f762179100d8fa162bb6b1dec3;hpb=2daa7c1d0f27368d8f262b4c36e8e3294232d9ca;p=pcsx_rearmed.git diff --git a/plugins/dfsound/externals.h b/plugins/dfsound/externals.h index 5cd269e4..dd05a5ab 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,8 +117,14 @@ 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 - int iLeftVolume; // left volume - int iRightVolume; // right volume + unsigned int bNewPitch:1; // pitch changed + union { + struct { + int iLeftVolume; // left volume + int iRightVolume; // right volume + }; + int iVolume[2]; + }; ADSRInfoEx ADSRX; int iRawPitch; // raw pitch (0...3fff) } SPUCHAN; @@ -235,7 +244,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 +259,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 { \