diff --git a/CHANGES b/CHANGES index e00e67ae6..d49b10060 100644 --- a/CHANGES +++ b/CHANGES @@ -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) diff --git a/src/gb/io.c b/src/gb/io.c index facaf4bf0..535e0995a 100644 --- a/src/gb/io.c +++ b/src/gb/io.c @@ -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]);