From a5e8ae88ed534845c42cf056528a64d0b854d996 Mon Sep 17 00:00:00 2001 From: zeromus Date: Sun, 19 Jan 2020 17:50:11 -0500 Subject: [PATCH] add cpu X and M flags to CDL for ExecFirst (fixes #1410, I hope) --- waterbox/libsnes/bsnes/base/base.hpp | 2 ++ waterbox/libsnes/bsnes/snes/cpu/core/memory.hpp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/waterbox/libsnes/bsnes/base/base.hpp b/waterbox/libsnes/bsnes/base/base.hpp index 96865d5348..3f386cdc37 100644 --- a/waterbox/libsnes/bsnes/base/base.hpp +++ b/waterbox/libsnes/bsnes/base/base.hpp @@ -68,6 +68,8 @@ enum eCDLog_Flags eCDLog_Flags_ExecOperand = 0x02, eCDLog_Flags_CPUData = 0x04, eCDLog_Flags_DMAData = 0x08, //not supported yet + eCDLog_Flags_CPUXFlag = 0x10, //these values are picky, don't change them + eCDLog_Flags_CPUMFlag = 0x20, //these values are picky, don't change them eCDLog_Flags_BRR = 0x80 }; diff --git a/waterbox/libsnes/bsnes/snes/cpu/core/memory.hpp b/waterbox/libsnes/bsnes/snes/cpu/core/memory.hpp index c6347dc296..825c1743f1 100644 --- a/waterbox/libsnes/bsnes/snes/cpu/core/memory.hpp +++ b/waterbox/libsnes/bsnes/snes/cpu/core/memory.hpp @@ -1,5 +1,5 @@ alwaysinline uint8_t op_readpcfirst() { - return op_read((regs.pc.b << 16) + regs.pc.w++, eCDLog_Flags_ExecFirst); + return op_read((regs.pc.b << 16) + regs.pc.w++, (eCDLog_Flags)(eCDLog_Flags_ExecFirst | (regs.p & 0x30))); } alwaysinline uint8_t op_readpc() {