diff --git a/BizHawk.Emulation/Sound/HuC6280PSG.cs b/BizHawk.Emulation/Sound/HuC6280PSG.cs index bbb08cb51c..f8109e32fe 100644 --- a/BizHawk.Emulation/Sound/HuC6280PSG.cs +++ b/BizHawk.Emulation/Sound/HuC6280PSG.cs @@ -167,7 +167,8 @@ namespace BizHawk.Emulation.Sound freq = channel.NoiseFreq; } - float adjustedWaveLengthInSamples = SampleRate / (channel.NoiseChannel ? freq/(float)channel.Wave.Length : freq); + + float adjustedWaveLengthInSamples = SampleRate / (channel.NoiseChannel ? freq/(float)(channel.Wave.Length*128) : freq); float moveThroughWaveRate = wave.Length / adjustedWaveLengthInSamples; int end = start + len; diff --git a/BizHawk.Emulation/Sound/Utilities/Waves.cs b/BizHawk.Emulation/Sound/Utilities/Waves.cs index 0241064548..427c71d347 100644 --- a/BizHawk.Emulation/Sound/Utilities/Waves.cs +++ b/BizHawk.Emulation/Sound/Utilities/Waves.cs @@ -23,7 +23,7 @@ PeriodicWave16 = new short[] { 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - NoiseWave = new short[0x2000]; + NoiseWave = new short[0x1000]; var rnd = new System.Random(unchecked((int)0xDEADBEEF)); for (int i = 0; i < NoiseWave.Length; i++) {