spu: irq adjustments according to MiSTer
[pcsx_rearmed.git] / plugins / dfsound / registers.c
index e75f708..a8fb59e 100644 (file)
@@ -149,6 +149,8 @@ void CALLBACK SPUwriteRegister(unsigned long reg, unsigned short val,
       goto rvbd;\r
     //-------------------------------------------------//\r
     case H_SPUirqAddr:\r
+      //if (val & 1)\r
+      //  log_unhandled("w irq with lsb: %08lx %04x\n", reg, val);\r
       spu.pSpuIrq=spu.spuMemC+(((unsigned long) val<<3)&~0xf);\r
       goto upd_irq;\r
     //-------------------------------------------------//\r
@@ -505,10 +507,8 @@ static void SetPitch(int ch,unsigned short val)               // SET PITCH
  spu.s_chan[ch].sinc = NP << 4;\r
  spu.s_chan[ch].sinc_inv = 0;\r
  spu.SB[ch * SB_SIZE + 32] = 1; // -> freq change in simple interpolation mode: set flag\r
- if (val)\r
-  spu.dwChannelsAudible |= 1u << ch;\r
- else\r
-  spu.dwChannelsAudible &= ~(1u << ch);\r
+\r
+ // don't mess spu.dwChannelsAudible as adsr runs independently\r
 }\r
 \r
 ////////////////////////////////////////////////////////////////////////\r