From 32a8a47de67c77579dfb5ce69aad54b9a8afae9d Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Sun, 7 Feb 2021 15:07:27 -0800 Subject: [PATCH] GBA SIO: Fix hanging on starting a second multiplayer window (fixes #854) --- CHANGES | 1 + src/gba/sio/lockstep.c | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGES b/CHANGES index 7e04db0a7..e5bd2ff74 100644 --- a/CHANGES +++ b/CHANGES @@ -50,6 +50,7 @@ Emulation fixes: - 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 SIO: Fix hanging on starting a second multiplayer window (fixes mgba.io/i/854) - GBA Video: Latch scanline at end of Hblank (fixes mgba.io/i/1319) - GBA Video: Fix Hblank timing - GBA Video: Implement green swap (fixes mgba.io/i/1609) diff --git a/src/gba/sio/lockstep.c b/src/gba/sio/lockstep.c index a2ecfc5b5..16992e31b 100644 --- a/src/gba/sio/lockstep.c +++ b/src/gba/sio/lockstep.c @@ -444,6 +444,7 @@ static void _GBASIOLockstepNodeProcessEvents(struct mTiming* timing, void* user, struct GBASIOLockstepNode* node = user; mLockstepLock(&node->p->d); if (node->p->d.attached < 2) { + mTimingSchedule(timing, &node->event, GBASIOCyclesPerTransfer[GBASIOMultiplayerGetBaud(node->d.p->siocnt)][0]); mLockstepUnlock(&node->p->d); return; }