X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=plugins%2Fdfsound%2Fregisters.c;h=2f5774944b2fcc172bc0e5b69f6b57fc3db5225f;hb=e9309bb70db88afa3b7bda26268b981ded9fa547;hp=e75f70861882a43e5a5a3a331bbd839086727c58;hpb=7df2c03cc775292b1bcc2b2eb6486e2ae83faa87;p=pcsx_rearmed.git diff --git a/plugins/dfsound/registers.c b/plugins/dfsound/registers.c index e75f7086..2f577494 100644 --- a/plugins/dfsound/registers.c +++ b/plugins/dfsound/registers.c @@ -149,6 +149,8 @@ void CALLBACK SPUwriteRegister(unsigned long reg, unsigned short val, goto rvbd; //-------------------------------------------------// case H_SPUirqAddr: + //if (val & 1) + // log_unhandled("w irq with lsb: %08lx %04x\n", reg, val); spu.pSpuIrq=spu.spuMemC+(((unsigned long) val<<3)&~0xf); goto upd_irq; //-------------------------------------------------// @@ -504,11 +506,9 @@ static void SetPitch(int ch,unsigned short val) // SET PITCH spu.s_chan[ch].iRawPitch = NP; spu.s_chan[ch].sinc = NP << 4; spu.s_chan[ch].sinc_inv = 0; - spu.SB[ch * SB_SIZE + 32] = 1; // -> freq change in simple interpolation mode: set flag - if (val) - spu.dwChannelsAudible |= 1u << ch; - else - spu.dwChannelsAudible &= ~(1u << ch); + spu.s_chan[ch].bNewPitch = 1; + + // don't mess spu.dwChannelsAudible as adsr runs independently } ////////////////////////////////////////////////////////////////////////