diff options
Diffstat (limited to 'plugins/dfsound/registers.c')
-rw-r--r-- | plugins/dfsound/registers.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/plugins/dfsound/registers.c b/plugins/dfsound/registers.c index c36c27e..ac495d6 100644 --- a/plugins/dfsound/registers.c +++ b/plugins/dfsound/registers.c @@ -191,6 +191,8 @@ void CALLBACK SPUwriteRegister(unsigned long reg, unsigned short val) break;
//-------------------------------------------------//
case H_SPUctrl:
+ if(!(spuCtrl & CTRL_IRQ))
+ spuStat&=~STAT_IRQ;
spuCtrl=val;
break;
//-------------------------------------------------//
@@ -214,7 +216,7 @@ void CALLBACK SPUwriteRegister(unsigned long reg, unsigned short val) //-------------------------------------------------//
case H_SPUirqAddr:
spuIrq = val;
- pSpuIrq=spuMemC+((unsigned long) val<<3);
+ pSpuIrq=spuMemC+(((unsigned long) val<<3)&~0xf);
break;
//-------------------------------------------------//
case H_SPUrvolL:
|