diff options
| author | Marko Pusljar <LM1234@gmail.com> | 2010-05-07 19:32:16 +0000 |
|---|---|---|
| committer | Marko Pusljar <LM1234@gmail.com> | 2010-05-07 19:32:16 +0000 |
| commit | f6ce87765f798c36deb9e0c85e20599a16b0896d (patch) | |
| tree | bd33129052b04f8e4555a7cb38e8f20c33511ae4 /Source/Core/DSPCore/Src/DSPIntExtOps.cpp | |
| parent | f72616daa38491c90cea4c156cab34661dea3292 (diff) | |
DSPLLE - AR decrement fixed, +other small fixes
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5437 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/DSPCore/Src/DSPIntExtOps.cpp')
| -rw-r--r-- | Source/Core/DSPCore/Src/DSPIntExtOps.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/Source/Core/DSPCore/Src/DSPIntExtOps.cpp b/Source/Core/DSPCore/Src/DSPIntExtOps.cpp index 73527a1ba2..690dccf0a3 100644 --- a/Source/Core/DSPCore/Src/DSPIntExtOps.cpp +++ b/Source/Core/DSPCore/Src/DSPIntExtOps.cpp @@ -214,7 +214,7 @@ void lsm(const UDSPInstruction opc) dsp_dmem_write(g_dsp.r[DSP_REG_AR3], g_dsp.r[sreg]); writeToBackLog(0, dreg, dsp_dmem_read(g_dsp.r[DSP_REG_AR0])); - writeToBackLog(1, DSP_REG_AR3, dsp_increase_addr_reg(DSP_REG_AR3, (s16)g_dsp.r[DSP_REG_IX0 + DSP_REG_AR3])); + writeToBackLog(1, DSP_REG_AR3, dsp_increase_addr_reg(DSP_REG_AR3, (s16)g_dsp.r[DSP_REG_IX3])); writeToBackLog(2, DSP_REG_AR0, dsp_increment_addr_reg(DSP_REG_AR0)); } @@ -233,7 +233,7 @@ void lsnm(const UDSPInstruction opc) dsp_dmem_write(g_dsp.r[DSP_REG_AR3], g_dsp.r[sreg]); writeToBackLog(0, dreg, dsp_dmem_read(g_dsp.r[DSP_REG_AR0])); - writeToBackLog(1, DSP_REG_AR3, dsp_increase_addr_reg(DSP_REG_AR3, (s16)g_dsp.r[DSP_REG_IX0 + DSP_REG_AR3])); + writeToBackLog(1, DSP_REG_AR3, dsp_increase_addr_reg(DSP_REG_AR3, (s16)g_dsp.r[DSP_REG_IX3])); writeToBackLog(2, DSP_REG_AR0, dsp_increase_addr_reg(DSP_REG_AR0, (s16)g_dsp.r[DSP_REG_IX0])); } @@ -286,7 +286,7 @@ void slm(const UDSPInstruction opc) dsp_dmem_write(g_dsp.r[DSP_REG_AR0], g_dsp.r[sreg]); writeToBackLog(0, dreg, dsp_dmem_read(g_dsp.r[DSP_REG_AR3])); - writeToBackLog(1, DSP_REG_AR3, dsp_increase_addr_reg(DSP_REG_AR3, (s16)g_dsp.r[DSP_REG_IX0 + DSP_REG_AR3])); + writeToBackLog(1, DSP_REG_AR3, dsp_increase_addr_reg(DSP_REG_AR3, (s16)g_dsp.r[DSP_REG_IX3])); writeToBackLog(2, DSP_REG_AR0, dsp_increment_addr_reg(DSP_REG_AR0)); } @@ -304,7 +304,7 @@ void slnm(const UDSPInstruction opc) dsp_dmem_write(g_dsp.r[DSP_REG_AR0], g_dsp.r[sreg]); writeToBackLog(0, dreg, dsp_dmem_read(g_dsp.r[DSP_REG_AR3])); - writeToBackLog(1, DSP_REG_AR3, dsp_increase_addr_reg(DSP_REG_AR3, (s16)g_dsp.r[DSP_REG_IX0 + DSP_REG_AR3])); + writeToBackLog(1, DSP_REG_AR3, dsp_increase_addr_reg(DSP_REG_AR3, (s16)g_dsp.r[DSP_REG_IX3])); writeToBackLog(2, DSP_REG_AR0, dsp_increase_addr_reg(DSP_REG_AR0, (s16)g_dsp.r[DSP_REG_IX0])); } @@ -406,7 +406,7 @@ void ldm(const UDSPInstruction opc) } writeToBackLog(3, DSP_REG_AR3, - dsp_increase_addr_reg(DSP_REG_AR3, (s16)g_dsp.r[DSP_REG_IX0 + DSP_REG_AR3])); + dsp_increase_addr_reg(DSP_REG_AR3, (s16)g_dsp.r[DSP_REG_IX3])); } // LDNM $ax0.d, $ax1.r, @$arS @@ -438,7 +438,7 @@ void ldnm(const UDSPInstruction opc) } writeToBackLog(3, DSP_REG_AR3, - dsp_increase_addr_reg(DSP_REG_AR3, (s16)g_dsp.r[DSP_REG_IX0 + DSP_REG_AR3])); + dsp_increase_addr_reg(DSP_REG_AR3, (s16)g_dsp.r[DSP_REG_IX3])); } @@ -483,7 +483,7 @@ void zeroWriteBackLog() } } -//needed for 0x3... (at least)..., + clrl +//needed for 0x3... //ex. corner case -> 0x3060: main opcode modifies .m, and extended .l -> .l shoudnt be zeroed because of .m write... void zeroWriteBackLogPreserveAcc(u8 acc) { |
