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
some random improvements
[pcsx_rearmed.git]
/
plugins
/
dfsound
/
spu.c
diff --git
a/plugins/dfsound/spu.c
b/plugins/dfsound/spu.c
index
f5edd3a
..
ec31b0c
100644
(file)
--- a/
plugins/dfsound/spu.c
+++ b/
plugins/dfsound/spu.c
@@
-595,24
+595,26
@@
make_do_samples(simple, , ,
static int do_samples_skip(int ch, int ns_to)
{
SPUCHAN *s_chan = &spu.s_chan[ch];
static int do_samples_skip(int ch, int ns_to)
{
SPUCHAN *s_chan = &spu.s_chan[ch];
+ int spos = s_chan->spos;
+ int sinc = s_chan->sinc;
int ret = ns_to, ns, d;
int ret = ns_to, ns, d;
- s
_chan->s
pos += s_chan->iSBPos << 16;
+ spos += s_chan->iSBPos << 16;
for (ns = 0; ns < ns_to; ns++)
{
for (ns = 0; ns < ns_to; ns++)
{
- s
_chan->spos += s_chan->
sinc;
- while (s
_chan->s
pos >= 28*0x10000)
+ s
pos +=
sinc;
+ while (spos >= 28*0x10000)
{
d = skip_block(ch);
if (d && ns < ret)
ret = ns;
{
d = skip_block(ch);
if (d && ns < ret)
ret = ns;
- s
_chan->s
pos -= 28*0x10000;
+ spos -= 28*0x10000;
}
}
}
}
- s_chan->iSBPos = s
_chan->s
pos >> 16;
- s_chan->spos
&=
0xffff;
+ s_chan->iSBPos = spos >> 16;
+ s_chan->spos
= spos &
0xffff;
return ret;
}
return ret;
}