From ed433f95a507deec23137808266888d66ca76945 Mon Sep 17 00:00:00 2001 From: Logan McNaughton <848146+loganmc10@users.noreply.github.com> Date: Wed, 9 Aug 2023 19:54:07 -0600 Subject: [PATCH] update parallel rsp --- parallel-rsp/parallel.cpp | 1 - parallel-rsp/rsp/cp0.cpp | 4 ---- parallel-rsp/rsp_jit.cpp | 5 +---- parallel-rsp/state.hpp | 1 - 4 files changed, 1 insertion(+), 10 deletions(-) diff --git a/parallel-rsp/parallel.cpp b/parallel-rsp/parallel.cpp index e952c9d..70d213c 100644 --- a/parallel-rsp/parallel.cpp +++ b/parallel-rsp/parallel.cpp @@ -85,7 +85,6 @@ extern "C" // Run CPU until we either break or we need to fire an IRQ. RSP::cpu.get_state().pc = *RSP::rsp.SP_PC_REG & 0xfff; RSP::cpu.get_state().instruction_count = 0; - RSP::cpu.get_state().did_mfc0 = 0; #ifdef INTENSE_DEBUG fprintf(stderr, "RUN TASK: %u\n", RSP::cpu.get_state().pc); diff --git a/parallel-rsp/rsp/cp0.cpp b/parallel-rsp/rsp/cp0.cpp index b3b683a..c95712a 100644 --- a/parallel-rsp/rsp/cp0.cpp +++ b/parallel-rsp/rsp/cp0.cpp @@ -26,18 +26,14 @@ extern "C" rsp->sr[rt] = res; #ifdef PARALLEL_INTEGRATION - // WAIT_FOR_CPU_HOST. From CXD4. if (rd == CP0_REGISTER_SP_RESERVED) { - rsp->instruction_count += 4; // Needed for DK64 *rsp->cp0.cr[CP0_REGISTER_SP_RESERVED] = 1; - rsp->did_mfc0 = 1; return MODE_EXIT; } // We don't return control to the CPU if the RDP FREEZE bit is set, doing so seems to cause flickering else if (rd == CP0_REGISTER_SP_STATUS && (*rsp->cp0.cr[CP0_REGISTER_CMD_STATUS] & DPC_STATUS_FREEZE) == 0) { - rsp->did_mfc0 = 1; return MODE_EXIT; } #endif diff --git a/parallel-rsp/rsp_jit.cpp b/parallel-rsp/rsp_jit.cpp index 951e8e3..8758d32 100644 --- a/parallel-rsp/rsp_jit.cpp +++ b/parallel-rsp/rsp_jit.cpp @@ -1996,10 +1996,7 @@ ReturnMode CPU::run() return static_cast(ret); default: - if (state.did_mfc0) - return static_cast(MODE_EXIT); - else - break; + break; } } } diff --git a/parallel-rsp/state.hpp b/parallel-rsp/state.hpp index 2169819..185b38c 100644 --- a/parallel-rsp/state.hpp +++ b/parallel-rsp/state.hpp @@ -145,7 +145,6 @@ struct CPUState uint32_t instruction_count = 0; uint32_t last_instruction_type = 0; uint32_t instruction_pipeline = 0; - uint32_t did_mfc0 = 0; uint32_t dirty_blocks = 0; static_assert(CODE_BLOCKS <= 32, "Code blocks must fit in 32-bit register.");