From ca83431e54ed8dc46afa98c0402a548626fbcfe4 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Wed, 19 Jun 2019 13:15:12 -0400 Subject: [PATCH] Fixed: Scc is a byte operation. It was, until now, post-incrementing and pre-decrementing registers other than A7 incorrectly. --- Processors/68000/Implementation/68000Storage.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Processors/68000/Implementation/68000Storage.cpp b/Processors/68000/Implementation/68000Storage.cpp index 26b896444..99f62afd8 100644 --- a/Processors/68000/Implementation/68000Storage.cpp +++ b/Processors/68000/Implementation/68000Storage.cpp @@ -2277,10 +2277,14 @@ struct ProcessorStorageConstructor { } else { // This is an Scc. - // Scc is inexplicably a read-modify-write operation. + // Scc is implemented on the 68000 a read-modify-write operation. storage_.instructions[instruction].set_source(storage_, ea_mode, ea_register); storage_.instructions[instruction].set_destination(storage_, ea_mode, ea_register); + // Scc is always a byte operation. + is_byte_access = true; + is_long_word_access = false; + const int mode = combined_mode(ea_mode, ea_register); switch(mode) { default: continue;