From 0865b8911e957f3cf8f318732a1b8c88038c8ba3 Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Fri, 14 May 2021 22:59:18 -0700 Subject: [PATCH] GBA SIO: Add missing NORMAL8 implementation bits (fixes #2172) --- CHANGES | 1 + src/gba/sio/lockstep.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/CHANGES b/CHANGES index 2953c29e5..3baa7e437 100644 --- a/CHANGES +++ b/CHANGES @@ -7,6 +7,7 @@ Features: - Support for combo "Super Game Boy Color" SGB + GBC ROM hacks Emulation fixes: - GB Video: Clear VRAM on reset (fixes mgba.io/i/2152) + - GBA SIO: Add missing NORMAL8 implementation bits (fixes mgba.io/i/2172) - GBA Video: Revert scanline latching changes (fixes mgba.io/i/2153, mgba.io/i/2149) Other fixes: - Core: Fix memory leak in opening games from the library diff --git a/src/gba/sio/lockstep.c b/src/gba/sio/lockstep.c index cd3e12e63..5cac226a1 100644 --- a/src/gba/sio/lockstep.c +++ b/src/gba/sio/lockstep.c @@ -113,6 +113,7 @@ bool GBASIOLockstepNodeLoad(struct GBASIODriver* driver) { node->d.p->siocnt = GBASIOMultiplayerFillSlave(node->d.p->siocnt); } break; + case SIO_NORMAL_8: case SIO_NORMAL_32: ATOMIC_ADD(node->p->attachedNormal, 1); node->d.writeRegister = GBASIOLockstepNodeNormalWriteRegister; @@ -519,6 +520,8 @@ static uint16_t GBASIOLockstepNodeNormalWriteRegister(struct GBASIODriver* drive mLOG(GBA_SIO, DEBUG, "Lockstep %i: SIODATA32_LO <- %04X", node->id, value); } else if (address == REG_SIODATA32_HI) { mLOG(GBA_SIO, DEBUG, "Lockstep %i: SIODATA32_HI <- %04X", node->id, value); + } else if (address == REG_SIODATA8) { + mLOG(GBA_SIO, DEBUG, "Lockstep %i: SIODATA8 <- %02X", node->id, value); } mLockstepUnlock(&node->p->d);