summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorJMC47 <JMC4789@gmail.com>2026-04-05 19:28:16 -0400
committerGitHub <noreply@github.com>2026-04-05 19:28:16 -0400
commit28edd2fbb1ba5a490ae4e3de74a43b0f3e46ff74 (patch)
tree22bdaaffeb0165d64c163c9c31929514fcaf4748 /Source/Core
parent45358509a5571a67477433e9c3387b1dbc68b7b5 (diff)
parent798fff86feb8127011119522af61c71e4c5168d9 (diff)
Merge pull request #14563 from jordan-woyak/gbplayer-trigger-bits
HW/GBPlayer: Fix swapped L/R triggers.
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/HW/HSP/HSP_DeviceGBPlayer.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/Source/Core/Core/HW/HSP/HSP_DeviceGBPlayer.cpp b/Source/Core/Core/HW/HSP/HSP_DeviceGBPlayer.cpp
index 5f41359bf2..1785db751b 100644
--- a/Source/Core/Core/HW/HSP/HSP_DeviceGBPlayer.cpp
+++ b/Source/Core/Core/HW/HSP/HSP_DeviceGBPlayer.cpp
@@ -533,8 +533,9 @@ void CHSPDevice_GBPlayer::Write(u32 address, std::span<const u8, TRANSFER_SIZE>
}
case GBPRegister::Keypad:
{
- const u16 value = Common::swap16(data.data() + 0x1e);
- m_gbp->SetKeys(value & 0x3FF);
+ const u8 value_hi = data[0x1e]; // L/R triggers (need to be flipped).
+ const u8 value_lo = data[0x1f]; // All other buttons.
+ m_gbp->SetKeys(u16(((value_hi & 0x01u) << 9) | ((value_hi & 0x02u) << 7) | value_lo));
break;
}
default: