From 851a4f7ad71756046c5c37781b67a1c95fd90891 Mon Sep 17 00:00:00 2001 From: qeed Date: Sat, 13 Jun 2009 17:40:42 +0000 Subject: [PATCH] Fix ATX opcode in the CPU, no timing changes, just a small behavior change (unofficial opcode 0xAB) --- src/ops.inc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/ops.inc b/src/ops.inc index 0d66b632..1524d615 100644 --- a/src/ops.inc +++ b/src/ops.inc @@ -343,8 +343,9 @@ case 0x6B: { /* ASR */ case 0x4B: LD_IM(AND;LSRA); -/* ATX(OAL) Is this(OR with $EE) correct? */ -case 0xAB: LD_IM(_A|=0xEE;AND;_X=_A); +/* ATX(OAL) Is this(OR with $EE) correct? Blargg did some test + and found the constant to be OR with is $FF for NES */ +case 0xAB: LD_IM(_A|=0xFF;AND;_X=_A); /* AXS */ case 0xCB: LD_IM(AXS);