From a2959b96c22245be452cadd8c58d10f92f8fe746 Mon Sep 17 00:00:00 2001 From: mylek4 Date: Sat, 29 Jan 2011 00:30:13 +0000 Subject: [PATCH] DSPLLE - JIT SUBARN is back on and should be fixed. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6954 8ced0084-cf51-0410-be5f-012b33b47a6e --- Source/Core/DSPCore/Src/DSPTables.cpp | 2 +- Source/Core/DSPCore/Src/Jit/DSPJitUtil.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/Core/DSPCore/Src/DSPTables.cpp b/Source/Core/DSPCore/Src/DSPTables.cpp index 987dac3d93..80da03c190 100644 --- a/Source/Core/DSPCore/Src/DSPTables.cpp +++ b/Source/Core/DSPCore/Src/DSPTables.cpp @@ -37,7 +37,7 @@ const DSPOPCTemplate opcodes[] = {"DAR", 0x0004, 0xfffc, DSPInterpreter::dar, &DSPEmitter::dar, 1, 1, {{P_REG, 1, 0, 0, 0x0003}}, false, false, false, false, false}, {"IAR", 0x0008, 0xfffc, DSPInterpreter::iar, &DSPEmitter::iar, 1, 1, {{P_REG, 1, 0, 0, 0x0003}}, false, false, false, false, false}, - {"SUBARN", 0x000c, 0xfffc, DSPInterpreter::subarn, NULL/*&DSPEmitter::subarn*/, 1, 1, {{P_REG, 1, 0, 0, 0x0003}}, false, false, false, false, false}, // TODO: Breaks NTSC IPL + {"SUBARN", 0x000c, 0xfffc, DSPInterpreter::subarn, &DSPEmitter::subarn, 1, 1, {{P_REG, 1, 0, 0, 0x0003}}, false, false, false, false, false}, {"ADDARN", 0x0010, 0xfff0, DSPInterpreter::addarn, &DSPEmitter::addarn, 1, 2, {{P_REG, 1, 0, 0, 0x0003}, {P_REG04, 1, 0, 2, 0x000c}}, false, false, false, false, false}, {"HALT", 0x0021, 0xffff, DSPInterpreter::halt, &DSPEmitter::halt, 1, 0, {}, false, true, true, false, false}, diff --git a/Source/Core/DSPCore/Src/Jit/DSPJitUtil.cpp b/Source/Core/DSPCore/Src/Jit/DSPJitUtil.cpp index a9f78e9a60..35e5de9d9a 100644 --- a/Source/Core/DSPCore/Src/Jit/DSPJitUtil.cpp +++ b/Source/Core/DSPCore/Src/Jit/DSPJitUtil.cpp @@ -183,7 +183,7 @@ void DSPEmitter::decrease_addr_reg(int reg) MOVSX(32, 16, ESI, ix_reg); gpr.putReg(DSP_REG_WR0+reg); gpr.putReg(DSP_REG_IX0+reg); - gpr.getReg(DSP_REG_WR0+reg,ar_reg); + gpr.getReg(DSP_REG_AR0+reg,ar_reg); MOVZX(32, 16, EAX, ar_reg); NOT(32, R(ESI)); //esi = ~ix @@ -227,7 +227,7 @@ void DSPEmitter::decrease_addr_reg(int reg) //return nar MOV(16, ar_reg, R(DI)); - gpr.putReg(DSP_REG_WR0+reg); + gpr.putReg(DSP_REG_AR0+reg); }