GB Audio: Fix deserializing while audio was disabled (fixes #1305)

This commit is contained in:
Vicki Pfau 2020-08-24 01:19:45 -07:00
parent 50d38dff62
commit f7f8688e8d
2 changed files with 3 additions and 1 deletions

View File

@ -2,6 +2,7 @@
Emulation fixes:
- GB Audio: Fix initial sweep state
- GB Audio: Fix deserializing audio channels 2 and 3
- GB Audio: Fix deserializing while audio was disabled (fixes mgba.io/i/1305)
- GBA Audio: Fix deserializing SOUNDCNT_L
- GBA Audio: Fix stereo in XQ audio
- GBA Audio: Fix volume/mute in XQ audio (fixes mgba.io/i/1864)

View File

@ -697,7 +697,8 @@ void GBIODeserialize(struct GB* gb, const struct GBSerializedState* state) {
memcpy(gb->memory.io, state->io, GB_SIZE_IO);
gb->memory.ie = state->ie;
if (GBAudioEnableGetEnable(*gb->audio.nr52)) {
gb->audio.enable = GBAudioEnableGetEnable(*gb->audio.nr52);
if (gb->audio.enable) {
GBIOWrite(gb, REG_NR10, gb->memory.io[REG_NR10]);
GBIOWrite(gb, REG_NR11, gb->memory.io[REG_NR11]);
GBIOWrite(gb, REG_NR12, gb->memory.io[REG_NR12]);