From 9334f6ee931e42c57ef0bd4e949671ad5bda2138 Mon Sep 17 00:00:00 2001 From: Adrian Conlon <98398945+AdrianConlon@users.noreply.github.com> Date: Sat, 6 Jan 2024 13:10:51 +0000 Subject: [PATCH] Fix the ATX implementation in the M6502 core --- M6502/src/mos6502.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/M6502/src/mos6502.cpp b/M6502/src/mos6502.cpp index 69ce799..7505436 100644 --- a/M6502/src/mos6502.cpp +++ b/M6502/src/mos6502.cpp @@ -293,7 +293,7 @@ int EightBit::MOS6502::execute() noexcept { case 0xa8: memoryRead(PC()); Y() = through(A()); break; // TAY (implied) case 0xa9: A() = through(AM_Immediate()); break; // LDA (immediate) case 0xaa: memoryRead(PC()); X() = through(A()); break; // TAX (implied) - case 0xab: A() = X() = through(AM_Immediate()); break; // *ATX (immediate) + case 0xab: A() = X() = through((A() | 0xee) & AM_Immediate()); break; // *ATX (immediate) case 0xac: Y() = through(AM_Absolute()); break; // LDY (absolute) case 0xad: A() = through(AM_Absolute()); break; // LDA (absolute) case 0xae: X() = through(AM_Absolute()); break; // LDX (absolute)