summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author R. Belmont <rb6502@users.noreply.github.com>2010-05-01 21:10:46 +0000
committer R. Belmont <rb6502@users.noreply.github.com>2010-05-01 21:10:46 +0000
commit63e07ca81ef5fe0c421cb0aa86c78c68eeefe247 (patch)
tree478f8b486b3202a4e957e4ff3efb51d99c251db1
parent5840be5e21927f74f419835ab2b55e51df0df5bb (diff)
snes_snd: Rework SYMBOLS=1 fix to not destroy the output samples (no whatsnew)
-rw-r--r--src/mame/audio/snes_snd.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/mame/audio/snes_snd.c b/src/mame/audio/snes_snd.c
index 16f36959ba5..7d289d20471 100644
--- a/src/mame/audio/snes_snd.c
+++ b/src/mame/audio/snes_snd.c
@@ -126,7 +126,7 @@ static const int gauss[]=
static const int *const G1 = &gauss[256];
static const int *const G2 = &gauss[512];
static const int *const G3 = &gauss[255];
-static const int *const G4 = &gauss[511];
+static const int *const G4 = &gauss[0];
static const int mask = 0xFF;
@@ -588,7 +588,7 @@ static void dsp_update( running_device *device, short *sound_ptr )
the sum of the products of each input sample point with the value
of the bell-curve corresponding to that point. */
vl = vp->mixfrac >> 4;
- vr = ((G4[-vl] * vp->sampbuf[vp->sampptr]) >> 11 ) & ~1;
+ vr = ((G4[-vl-1] * vp->sampbuf[vp->sampptr]) >> 11 ) & ~1;
vr += ((G3[-vl] * vp->sampbuf[(vp->sampptr + 1) & 3]) >> 11) & ~1;
vr += ((G2[vl] * vp->sampbuf[(vp->sampptr + 2) & 3]) >> 11 ) & ~1;
@@ -614,7 +614,7 @@ static void dsp_update( running_device *device, short *sound_ptr )
vp->sampbuf[(vp->sampptr + 2) & 3],
G3[-vl],
vp->sampbuf[(vp->sampptr + 1) & 3],
- G4[-vl],
+ G4[-vl-1],
vp->sampbuf[vp->sampptr],
outx);
#endif