From 41d800cb639d2d5feb01ea267b8eca54c7431f58 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Wed, 17 Apr 2019 10:23:47 -0400 Subject: [PATCH] Fixes ADD/SUB Dn,x to use the proper destination value. --- Processors/68000/Implementation/68000Implementation.hpp | 4 ++++ Processors/68000/Implementation/68000Storage.cpp | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Processors/68000/Implementation/68000Implementation.hpp b/Processors/68000/Implementation/68000Implementation.hpp index c8204099c..f3ff3227e 100644 --- a/Processors/68000/Implementation/68000Implementation.hpp +++ b/Processors/68000/Implementation/68000Implementation.hpp @@ -72,6 +72,10 @@ template void Processor: active_program_ = &instructions[decoded_instruction_]; active_micro_op_ = active_program_->micro_operations; + + if(decoded_instruction_ == 0xd1ae) { + printf(""); + } } auto bus_program = active_micro_op_->bus_program; diff --git a/Processors/68000/Implementation/68000Storage.cpp b/Processors/68000/Implementation/68000Storage.cpp index 8bc10ca34..32c20fcf0 100644 --- a/Processors/68000/Implementation/68000Storage.cpp +++ b/Processors/68000/Implementation/68000Storage.cpp @@ -881,7 +881,7 @@ struct ProcessorStorageConstructor { storage_.instructions[instruction].source = &storage_.data_[data_register]; const auto destination_register = ea_register; - storage_.instructions[instruction].destination = &storage_.destination_bus_data_[1]; + storage_.instructions[instruction].destination = &storage_.destination_bus_data_[0]; storage_.instructions[instruction].destination_address = &storage_.address_[destination_register]; // Perform [ADD/SUB].blw Dn,