diff --git a/src/vera/vera_psg.cpp b/src/vera/vera_psg.cpp index 1730ab7..ebe4fae 100644 --- a/src/vera/vera_psg.cpp +++ b/src/vera/vera_psg.cpp @@ -65,7 +65,7 @@ static void render(int16_t *left, int16_t *right) struct psg_channel *ch = &Channels[i]; uint32_t new_phase = (ch->left || ch->right) ? ((ch->phase + ch->freq) & 0x1FFFF) : 0; - if ((ch->phase & 0x10000) != (new_phase & 0x10000)) { + if ((ch->phase & 0x10000) && !(new_phase & 0x10000)) { ch->noiseval = (noise_state >> 1) & 0x3F; } ch->phase = new_phase;