notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix missed double resolution change
[pcsx_rearmed.git]
/
plugins
/
dfsound
/
registers.c
diff --git
a/plugins/dfsound/registers.c
b/plugins/dfsound/registers.c
index
e75f708
..
2f57749
100644
(file)
--- a/
plugins/dfsound/registers.c
+++ b/
plugins/dfsound/registers.c
@@
-149,6
+149,8
@@
void CALLBACK SPUwriteRegister(unsigned long reg, unsigned short val,
goto rvbd;
\r
//-------------------------------------------------//
\r
case H_SPUirqAddr:
\r
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
spu.pSpuIrq=spu.spuMemC+(((unsigned long) val<<3)&~0xf);
\r
goto upd_irq;
\r
//-------------------------------------------------//
\r
@@
-504,11
+506,9
@@
static void SetPitch(int ch,unsigned short val) // SET PITCH
spu.s_chan[ch].iRawPitch = NP;
\r
spu.s_chan[ch].sinc = NP << 4;
\r
spu.s_chan[ch].sinc_inv = 0;
\r
spu.s_chan[ch].iRawPitch = NP;
\r
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
+ spu.s_chan[ch].bNewPitch = 1;
\r
+
\r
+ // don't mess spu.dwChannelsAudible as adsr runs independently
\r
}
\r
\r
////////////////////////////////////////////////////////////////////////
\r
}
\r
\r
////////////////////////////////////////////////////////////////////////
\r