From 3bb8d6717fda0dc69b36a55c2331548bba95a204 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Tue, 28 May 2019 16:02:42 -0400 Subject: [PATCH] Ensures A7 is correct at end of an UNLINK. --- .../68000/Implementation/68000Implementation.hpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/Processors/68000/Implementation/68000Implementation.hpp b/Processors/68000/Implementation/68000Implementation.hpp index 066099b95..f4e48ae13 100644 --- a/Processors/68000/Implementation/68000Implementation.hpp +++ b/Processors/68000/Implementation/68000Implementation.hpp @@ -48,7 +48,7 @@ template void Proces const HalfCycles remaining_duration = duration + half_cycles_left_to_run_; #ifdef LOG_TRACE - static bool should_log = true; + static bool should_log = false; #endif // This loop counts upwards rather than downwards because it simplifies calculation of @@ -272,13 +272,9 @@ template void Proces } #ifdef LOG_TRACE -// should_log |= ((program_counter_.full - 4) == 0x405054); +// should_log |= ((program_counter_.full - 4) == 0x4058d8); #endif - if(decoded_instruction_.full == 0x206f) { - printf(""); - } - if(instructions[decoded_instruction_.full].micro_operations) { if(instructions[decoded_instruction_.full].requires_supervisor && !is_supervisor_) { // A privilege violation has been detected. @@ -1368,7 +1364,7 @@ template void Proces break; case Operation::UNLINK: - address_[7].full = effective_address_[1].full; + address_[7].full = effective_address_[1].full + 2; active_program_->destination->full = destination_bus_data_[0].full; break;