GBA SIO: Normal mode transfers with no clock should not finish (fixes #2811)

This commit is contained in:
Vicki Pfau 2023-02-03 02:08:14 -08:00
parent f046596ca7
commit 527313bafc
2 changed files with 3 additions and 2 deletions

View File

@ -8,6 +8,7 @@ Emulation fixes:
- GBA Memory: Make VRAM access stalls only apply to BG RAM - GBA Memory: Make VRAM access stalls only apply to BG RAM
- GBA SIO: Fix SIOCNT SI pin value after attaching player 2 (fixes mgba.io/i/2805) - GBA SIO: Fix SIOCNT SI pin value after attaching player 2 (fixes mgba.io/i/2805)
- GBA SIO: Fix unconnected normal mode SIOCNT SI bit (fixes mgba.io/i/2810) - GBA SIO: Fix unconnected normal mode SIOCNT SI bit (fixes mgba.io/i/2810)
- GBA SIO: Normal mode transfers with no clock should not finish (fixes mgba.io/i/2811)
- GBA Timers: Cascading timers don't tick when disabled (fixes mgba.io/i/2812) - GBA Timers: Cascading timers don't tick when disabled (fixes mgba.io/i/2812)
- GBA Video: Disable BG target 1 blending when OBJ blending (fixes mgba.io/i/2722) - GBA Video: Disable BG target 1 blending when OBJ blending (fixes mgba.io/i/2722)
Other fixes: Other fixes:

View File

@ -532,7 +532,7 @@ static uint16_t GBASIOLockstepNodeNormalWriteRegister(struct GBASIODriver* drive
} }
} }
} }
if (value & 0x0080) { if ((value & 0x0081) == 0x0081) {
if (!node->id) { if (!node->id) {
// Frequency // Frequency
int32_t cycles; int32_t cycles;
@ -559,7 +559,7 @@ static uint16_t GBASIOLockstepNodeNormalWriteRegister(struct GBASIODriver* drive
value &= ~0x0080; value &= ~0x0080;
} }
} else { } else {
// TODO
} }
} }
} else if (address == REG_SIODATA32_LO) { } else if (address == REG_SIODATA32_LO) {