aboutsummaryrefslogtreecommitdiff
path: root/plugins/dfsound/registers.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/dfsound/registers.c')
-rw-r--r--plugins/dfsound/registers.c4
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: