all repos — mgba @ 042a77a932d2d2f2d7606df365c6ed8eb87b69f6

mGBA Game Boy Advance Emulator

GB Audio: Deschedule channel 1 when disabled by sweep (fixes #1467)
Vicki Pfau vi@endrift.com
Wed, 26 Jun 2019 10:33:36 -0700
commit

042a77a932d2d2f2d7606df365c6ed8eb87b69f6

parent

417a749fecb8c991e7dd3ec28171fbad64378d53

2 files changed, 4 insertions(+), 0 deletions(-)

jump to
M CHANGESCHANGES

@@ -29,6 +29,7 @@ - GB Audio: Only reset channel 3 sample in DMG mode

- GB Audio: Sample inactive channels (fixes mgba.io/i/1455, mgba.io/i/1456) - 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: - Qt: Fix some Qt display driver race conditions - Core: Improved lockstep driver reliability (Le Hoang Quyen)
M src/gb/audio.csrc/gb/audio.c

@@ -513,6 +513,9 @@ if (audio->ch1.sweep.step == 0) {

audio->playingCh1 = _updateSweep(&audio->ch1, false); *audio->nr52 &= ~0x0001; *audio->nr52 |= audio->playingCh1; + if (!audio->playingCh1) { + mTimingDeschedule(audio->timing, &audio->ch1Event); + } } } // Fall through