GB Audio: Deschedule channel 1 when disabled by sweep (fixes #1467)

This commit is contained in:
Vicki Pfau 2019-06-26 10:33:36 -07:00
parent 6581659170
commit a7ac0bbacc
2 changed files with 4 additions and 0 deletions

View File

@ -4,6 +4,7 @@ Emulation fixes:
- GBA Memory: Fix STM to VRAM (fixes mgba.io/i/1430)
- GB Video: Increment BCPS/OCPS even in mode 3 (fixes mgba.io/i/1462)
- GB Audio: Deschedule channel 3 when disabled (fixes mgba.io/i/1463)
- GB Audio: Deschedule channel 1 when disabled by sweep (fixes mgba.io/i/1467)
Other fixes:
- Switch: Fix threading-related crash on second launch
- Qt: Fix FPS target maxing out at 59.727 (fixes mgba.io/i/1421)

View File

@ -511,6 +511,9 @@ void GBAudioUpdateFrame(struct GBAudio* audio, struct mTiming* timing) {
audio->playingCh1 = _updateSweep(&audio->ch1, false);
*audio->nr52 &= ~0x0001;
*audio->nr52 |= audio->playingCh1;
if (!audio->playingCh1) {
mTimingDeschedule(audio->timing, &audio->ch1Event);
}
}
}
// Fall through