diff --git a/Source/Plugins/Plugin_DSP_LLE-testing/Src/DSPInterpreter.cpp b/Source/Plugins/Plugin_DSP_LLE-testing/Src/DSPInterpreter.cpp index ee28f30f8e..3a5fe63aaf 100644 --- a/Source/Plugins/Plugin_DSP_LLE-testing/Src/DSPInterpreter.cpp +++ b/Source/Plugins/Plugin_DSP_LLE-testing/Src/DSPInterpreter.cpp @@ -921,10 +921,9 @@ void movnp(const UDSPInstruction& opc) void mov(const UDSPInstruction& opc) { u8 D = (opc.hex >> 8) & 0x1; + u16 acc = dsp_get_acc_m(1 - D); - u16 ac1 = dsp_get_acc_m(D); - u16 ac2 = dsp_get_acc_m(1 - D); - dsp_set_long_acc(D, ac1 + ac2); + dsp_set_long_acc(D, acc); } // ADDAX $acD, $axS diff --git a/Source/Plugins/Plugin_DSP_LLE-testing/Src/gdsp_memory.cpp b/Source/Plugins/Plugin_DSP_LLE-testing/Src/gdsp_memory.cpp index 49bd960dc8..b7c52a0876 100644 --- a/Source/Plugins/Plugin_DSP_LLE-testing/Src/gdsp_memory.cpp +++ b/Source/Plugins/Plugin_DSP_LLE-testing/Src/gdsp_memory.cpp @@ -76,23 +76,27 @@ void dsp_dmem_write(u16 addr, u16 val) { switch (addr >> 12) { - case 0x8: // 8xxx DROM - ERROR_LOG(DSPHLE, "someone writes to ROM"); - /* val = dsp_swap16(val); - g_dsp.drom[addr & DSP_DROM_MASK] = val;*/ - break; + case 0x0: // 0xxx DRAM + g_dsp.dram[addr & DSP_DRAM_MASK] = dsp_swap16(val); + break; - case 0xf: // Fxxx HW regs - gdsp_ifx_write(addr, val); - break; - - case 0x0: // 0xxx DRAM - g_dsp.dram[addr & DSP_DRAM_MASK] = dsp_swap16(val); - break; - - default: // error - ERROR_LOG(DSPHLE, "%04x DSP ERROR: Write to UNKNOWN (%04x) memory", g_dsp.pc, addr); - break; + case 0x1: // 1xxx COEF + ERROR_LOG(DSPHLE, "someone writes to COEF"); + break; + + case 0x8: // 8xxx DROM + ERROR_LOG(DSPHLE, "someone writes to DROM"); + /* val = dsp_swap16(val); + g_dsp.drom[addr & DSP_DROM_MASK] = val;*/ + break; + + case 0xf: // Fxxx HW regs + gdsp_ifx_write(addr, val); + break; + + default: // error + ERROR_LOG(DSPHLE, "%04x DSP ERROR: Write to UNKNOWN (%04x) memory", g_dsp.pc, addr); + break; } }