From 93615f6647eeedb05068627daa87bd62af801406 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Wed, 15 Jun 2022 10:50:03 -0400 Subject: [PATCH 1/4] Apply new status before entering STOP loop. --- .../Implementation/68000Mk2Implementation.hpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Processors/68000Mk2/Implementation/68000Mk2Implementation.hpp b/Processors/68000Mk2/Implementation/68000Mk2Implementation.hpp index 1acfef412..8eb34a825 100644 --- a/Processors/68000Mk2/Implementation/68000Mk2Implementation.hpp +++ b/Processors/68000Mk2/Implementation/68000Mk2Implementation.hpp @@ -27,6 +27,7 @@ enum ExecutionState: int { Reset = std::numeric_limits::min(), Decode, WaitForDTACK, + WaitForInterrupt, StoreOperand, StoreOperand_bw, @@ -377,14 +378,20 @@ void Processor Date: Wed, 15 Jun 2022 10:54:14 -0400 Subject: [PATCH 2/4] Fix: new status word is still in prefetch. --- Processors/68000Mk2/Implementation/68000Mk2Implementation.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Processors/68000Mk2/Implementation/68000Mk2Implementation.hpp b/Processors/68000Mk2/Implementation/68000Mk2Implementation.hpp index 8eb34a825..b1222483f 100644 --- a/Processors/68000Mk2/Implementation/68000Mk2Implementation.hpp +++ b/Processors/68000Mk2/Implementation/68000Mk2Implementation.hpp @@ -380,7 +380,7 @@ void Processor Date: Wed, 15 Jun 2022 10:56:45 -0400 Subject: [PATCH 3/4] Don't allow STOP state to block execution. --- Processors/68000Mk2/Implementation/68000Mk2Implementation.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/Processors/68000Mk2/Implementation/68000Mk2Implementation.hpp b/Processors/68000Mk2/Implementation/68000Mk2Implementation.hpp index b1222483f..7b043d56c 100644 --- a/Processors/68000Mk2/Implementation/68000Mk2Implementation.hpp +++ b/Processors/68000Mk2/Implementation/68000Mk2Implementation.hpp @@ -391,6 +391,7 @@ void Processor Date: Wed, 15 Jun 2022 11:00:27 -0400 Subject: [PATCH 4/4] Add spurious interrupt support. --- .../68000Mk2/Implementation/68000Mk2Implementation.hpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Processors/68000Mk2/Implementation/68000Mk2Implementation.hpp b/Processors/68000Mk2/Implementation/68000Mk2Implementation.hpp index 7b043d56c..f26df65c8 100644 --- a/Processors/68000Mk2/Implementation/68000Mk2Implementation.hpp +++ b/Processors/68000Mk2/Implementation/68000Mk2Implementation.hpp @@ -595,8 +595,12 @@ void Processor