From db03b032765a3c21997752a2a9f46af9c5f8b083 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Sat, 9 Nov 2019 11:25:23 -0500 Subject: [PATCH] Corrects [AND/OR/EOR].bw Dn, -(An) to decrement destination. It was previously doing a predecrement on the internal source address, which is unused. This fixes at least Dan Dare III and Silkworm. --- Processors/68000/Implementation/68000Storage.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Processors/68000/Implementation/68000Storage.cpp b/Processors/68000/Implementation/68000Storage.cpp index 3312aa8c2..2c0582283 100644 --- a/Processors/68000/Implementation/68000Storage.cpp +++ b/Processors/68000/Implementation/68000Storage.cpp @@ -1056,7 +1056,7 @@ struct ProcessorStorageConstructor { break; case bw(PreDec): // [AND/OR/EOR].bw Dn, -(An) - op(dec(ea_register) | MicroOp::SourceMask, seq("n nrd", { a(ea_register) }, !is_byte_access)); + op(dec(ea_register) | MicroOp::DestinationMask, seq("n nrd", { a(ea_register) }, !is_byte_access)); op(Action::PerformOperation, seq("np nw", { a(ea_register) }, !is_byte_access)); break;