PCE: Fixed noise period when frequency register is set to 0x1F

Fixes noise issues in some games (Cyber Cross, Eternal City, Victory Run, etc.)
This commit is contained in:
Sour 2024-09-05 17:03:51 +09:00
parent e24eecd1d2
commit 816e77e8a5

View file

@ -22,7 +22,7 @@ void PcePsgChannel::SetOutputOffset(uint8_t offset)
uint32_t PcePsgChannel::GetNoisePeriod()
{
if(_state.NoiseFrequency == 0x1F) {
return (0x1F + 1) * 64;
return 32;
} else {
return ((~_state.NoiseFrequency) & 0x1F) * 64;
}