diff --git a/pcsx2/SPU2/Mixer.cpp b/pcsx2/SPU2/Mixer.cpp index 0b80872092..279dd76bb0 100644 --- a/pcsx2/SPU2/Mixer.cpp +++ b/pcsx2/SPU2/Mixer.cpp @@ -328,6 +328,7 @@ static void __forceinline UpdatePitch(uint coreidx, uint voiceidx) else pitch = GetClamped((vc.Pitch * (32768 + Cores[coreidx].Voices[voiceidx - 1].OutX)) >> 15, 0, 0x3fff); + pitch = std::min(pitch, 0x3FFF); vc.SP += pitch; } diff --git a/pcsx2/SPU2/spu2sys.cpp b/pcsx2/SPU2/spu2sys.cpp index 027e1f3196..6802e579a8 100644 --- a/pcsx2/SPU2/spu2sys.cpp +++ b/pcsx2/SPU2/spu2sys.cpp @@ -662,9 +662,7 @@ void V_Core::WriteRegPS1(u32 mem, u16 value) break; } case 0x4: - if (value > 0x3fff) - ConLog("* SPU2: Pitch setting too big: 0x%x\n", value); - Voices[voice].Pitch = value & 0x3fff; + Voices[voice].Pitch = value; //ConLog("voice %x Pitch write: %x\n", voice, Voices[voice].Pitch); break; case 0x6: @@ -1160,9 +1158,7 @@ static void __fastcall RegWrite_VoiceParams(u16 value) break; case 2: - if (value > 0x3fff) - ConLog("* SPU2: Pitch setting too big: 0x%x\n", value); - thisvoice.Pitch = value & 0x3fff; + thisvoice.Pitch = value; break; case 3: // ADSR1 (Envelope)