X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=plugins%2Fdfsound%2Fregisters.c;h=e65d112af6e6aff9d8fdd65478258527510730da;hp=210adb2d5ace930862cb83a6cfdb865ede1f5ab3;hb=63a4f6b6a3b0315590cd3009df2c92480ed2d98b;hpb=3154bfab51566cbaa5bce3965d4c915bfb1b4f53 diff --git a/plugins/dfsound/registers.c b/plugins/dfsound/registers.c index 210adb2d..e65d112a 100644 --- a/plugins/dfsound/registers.c +++ b/plugins/dfsound/registers.c @@ -57,7 +57,7 @@ void CALLBACK SPUwriteRegister(unsigned long reg, unsigned short val, if (val == 0 && (r & 0xff8) == 0xd88) return; - do_samples_if_needed(cycles); + do_samples_if_needed(cycles, 0); if(r>=0x0c00 && r<0x0d80) // some channel info? { @@ -362,16 +362,9 @@ static void SoundOn(int start,int end,unsigned short val) { if((val&1) && regAreaGet(ch,6)) // mmm... start has to be set before key on !?! { - // do this here, not in StartSound - // - fixes fussy timing issues - s_chan[ch].bStop=0; s_chan[ch].pCurr=spu.spuMemC+((regAreaGet(ch,6)&~1)<<3); // must be block aligned s_chan[ch].pLoop=spu.spuMemC+((regAreaGet(ch,14)&~1)<<3); - s_chan[ch].prevflags=2; - spu.dwNewChannel|=(1<>=1) // loop channels { - if(val&1) // && s_chan[i].bOn) mmm... + if(val&1) { - s_chan[ch].bStop=1; + s_chan[ch].ADSRX.State = ADSR_RELEASE; // Jungle Book - Rhythm 'n Groove // - turns off buzzing sound (loop hangs)