From 58e1d90a3e5033d03773d7cc6abbac9efaef76f7 Mon Sep 17 00:00:00 2001 From: Marko Pusljar Date: Mon, 18 Apr 2011 15:12:56 +0000 Subject: [PATCH] llejit - asrnr fix and reverted Do_ARAM_DMA() change from my previous commit git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7471 8ced0084-cf51-0410-be5f-012b33b47a6e --- Source/Core/Core/Src/DSP/Jit/DSPJitArithmetic.cpp | 2 +- Source/Core/Core/Src/HW/DSP.cpp | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Source/Core/Core/Src/DSP/Jit/DSPJitArithmetic.cpp b/Source/Core/Core/Src/DSP/Jit/DSPJitArithmetic.cpp index 7d5c15d60d..b49d904bbb 100644 --- a/Source/Core/Core/Src/DSP/Jit/DSPJitArithmetic.cpp +++ b/Source/Core/Core/Src/DSP/Jit/DSPJitArithmetic.cpp @@ -1863,7 +1863,7 @@ void DSPEmitter::asrnr(const UDSPInstruction opc) // u16 accm = (u16)dsp_get_acc_m(1 - dreg); get_acc_m(1 - dreg); // s64 acc = dsp_get_long_acc(dreg); - get_long_acc(dreg); + get_long_acc(dreg, RDX); // if ((accm & 0x3f) == 0) // shift = 0; diff --git a/Source/Core/Core/Src/HW/DSP.cpp b/Source/Core/Core/Src/HW/DSP.cpp index 1ffd1f96ad..f025aaa8cb 100644 --- a/Source/Core/Core/Src/HW/DSP.cpp +++ b/Source/Core/Core/Src/HW/DSP.cpp @@ -683,7 +683,7 @@ void Do_ARAM_DMA() { // Fake the DMA taking time to complete. The delay is not accurate, but // seems like a good estimate - //CoreTiming::ScheduleEvent_Threadsafe(g_arDMA.Cnt.count >> 1, et_GenerateDSPInterrupt, INT_ARAM | (1<<16)); + CoreTiming::ScheduleEvent_Threadsafe(g_arDMA.Cnt.count >> 1, et_GenerateDSPInterrupt, INT_ARAM | (1<<16)); // Real hardware DMAs in 32byte chunks, but we can get by with 8byte chunks if (g_arDMA.Cnt.dir) @@ -720,7 +720,6 @@ void Do_ARAM_DMA() g_arDMA.Cnt.count -= 8; } } - GenerateDSPInterrupt(INT_ARAM); }