it's is not enough for Tron Bonne, so is not useful
if(s_chan[ch].ADSRX.EnvelopeVol<0) \r
{\r
s_chan[ch].ADSRX.EnvelopeVol=0;\r
- // don't stop if this chan can still cause irqs\r
- if(!(spuCtrl&0x40) || (s_chan[ch].pCurr > pSpuIrq && s_chan[ch].pLoop > pSpuIrq))\r
- //s_chan[ch].bOn=0;\r
- s_chan[ch].pCurr=(unsigned char *)-1;\r
+ // FIXME: don't stop if this chan can still cause irqs\r
+ //if(!(spuCtrl&0x40) || (s_chan[ch].pCurr > pSpuIrq && s_chan[ch].pLoop > pSpuIrq))\r
+ //s_chan[ch].bOn=0;\r
+ dwChannelOn&=~(1<<ch);\r
//s_chan[ch].bReverb=0;\r
//s_chan[ch].bNoise=0;\r
}\r