From 68bed4bb89cdcda28e890591f3f5ce05882b0b6a Mon Sep 17 00:00:00 2001 From: João Silva Date: Wed, 25 Jan 2017 19:29:42 +0000 Subject: Recover sound after loading a savestate. --- source/soundux.c | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) (limited to 'source/soundux.c') diff --git a/source/soundux.c b/source/soundux.c index 9e71bae..a67ca6b 100644 --- a/source/soundux.c +++ b/source/soundux.c @@ -267,12 +267,7 @@ void S9xFixSoundAfterSnapshotLoad() SoundData.channels[i].needs_decode = true; S9xSetSoundFrequency(i, SoundData.channels[i].hertz); SoundData.channels [i].envxx = SoundData.channels [i].envx << ENVX_SHIFT; - SoundData.channels [i].next_sample = 0; - SoundData.channels [i].interpolate = 0; - SoundData.channels [i].previous [0] = (int32_t) SoundData.channels [i].previous16 [0]; - SoundData.channels [i].previous [1] = (int32_t) SoundData.channels [i].previous16 [1]; } - IAPU.Scanline = 0; } void S9xSetFilterCoefficient(int tap, int value) @@ -352,12 +347,9 @@ int S9xGetEnvelopeHeight(int channel) void S9xSetSoundFrequency(int channel, int hertz) // hertz [0~64K<<1] { - if (so.playback_rate) - { - if (SoundData.channels[channel].type == SOUND_NOISE) - hertz = NoiseFreq [APU.DSP [APU_FLG] & 0x1f]; - SoundData.channels[channel].frequency = (hertz * so.freqbase) >> 11; - } + if (SoundData.channels[channel].type == SOUND_NOISE) + hertz = NoiseFreq [APU.DSP [APU_FLG] & 0x1f]; + SoundData.channels[channel].frequency = (hertz * so.freqbase) >> 11; } void S9xSetSoundHertz(int channel, int hertz) @@ -765,12 +757,6 @@ void S9xMixSamples(uint16_t* buffer, int sample_count) int J; int I; - if (so.mute_sound) - { - memset(buffer, 0, sample_count * sizeof(buffer [0])); - return; - } - if (SoundData.echo_enable) memset(EchoBuffer, 0, sample_count * sizeof(EchoBuffer [0])); memset(MixBuffer, 0, sample_count * sizeof(MixBuffer [0])); -- cgit v1.2.3