From 66cc5b145145a3f381340d1f0fe51398fe1327e3 Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Mon, 10 Aug 2020 19:10:34 -0700 Subject: [PATCH] GBA SIO: Fix deseralizing SIO registers --- CHANGES | 1 + src/gba/io.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/CHANGES b/CHANGES index c9879267b..3e67e2bd5 100644 --- a/CHANGES +++ b/CHANGES @@ -24,6 +24,7 @@ Emulation fixes: - GBA Memory: Stall on VRAM access in mode 2 (fixes mgba.io/i/190) - GBA SIO: Fix copying Normal mode transfer values - GBA SIO: Fix Normal mode being totally broken (fixes mgba.io/i/1800) + - GBA SIO: Fix deseralizing SIO registers - GBA Video: Latch scanline at end of Hblank (fixes mgba.io/i/1319) - GBA Video: Fix Hblank timing - GBA Video: Invalidate map cache when modifying BGCNT (fixes mgba.io/i/1846) diff --git a/src/gba/io.c b/src/gba/io.c index 7955409a6..0c3aea64d 100644 --- a/src/gba/io.c +++ b/src/gba/io.c @@ -980,6 +980,8 @@ void GBAIODeserialize(struct GBA* gba, const struct GBASerializedState* state) { LOAD_32(gba->memory.dma[i].when, 0, &state->dma[i].when); } GBAAudioWriteSOUNDCNT_X(&gba->audio, gba->memory.io[REG_SOUNDCNT_X >> 1]); + gba->sio.siocnt = gba->memory.io[REG_SIOCNT >> 1]; + GBASIOWriteRCNT(&gba->sio, gba->memory.io[REG_RCNT >> 1]); LOAD_32(gba->memory.dmaTransferRegister, 0, &state->dmaTransferRegister); LOAD_32(gba->dmaPC, 0, &state->dmaBlockPC);