From c0cc0a371b5f0b77e704235b6fe9730a230627b8 Mon Sep 17 00:00:00 2001 From: PugsyMAME Date: Thu, 24 Dec 2020 00:17:09 +0000 Subject: [PATCH] Fixed Slide Code cheat type Address increment is a u8 and value increment is a u16. The changes will make this work correctly:- 50000AA4 FFFF 801CC760 0400 which is a example slide code representing:- 801CC760 0400 801CC804 03FF 801CC8A8 03FE 801CC94C 03FD 801CC9F0 03FC 801CCA94 03FB 801CCB38 03FA 801CCBDC 03F9 801CCC80 03F8 801CCD24 03F7 --- src/core/cheats.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/cheats.cpp b/src/core/cheats.cpp index c9a17933c..e9e7ca573 100644 --- a/src/core/cheats.cpp +++ b/src/core/cheats.cpp @@ -1144,8 +1144,8 @@ void CheatCode::Apply() const } const u32 slide_count = (inst.first >> 8) & 0xFFu; - const u32 address_increment = SignExtendN<8>(inst.first & 0xFFu); - const u16 value_increment = SignExtendN<8>(Truncate16(inst.second & 0xFFu)); + const u32 address_increment = inst.first & 0xFFu; + const u16 value_increment = Truncate16(inst.second); const Instruction& inst2 = instructions[index + 1]; const InstructionCode write_type = inst2.code; u32 address = inst2.address;