From 70a712c065cd53f8d106d0994795bf8f265eaebe Mon Sep 17 00:00:00 2001 From: Marko Pusljar Date: Mon, 8 Mar 2010 21:25:35 +0000 Subject: DSPLLE - flags&stuff,xar->subarn,0x80 kinda figured out,... (experimental) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5174 8ced0084-cf51-0410-be5f-012b33b47a6e --- Source/Core/DSPCore/Src/DSPIntCCUtil.cpp | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) (limited to 'Source/Core/DSPCore/Src/DSPIntCCUtil.cpp') diff --git a/Source/Core/DSPCore/Src/DSPIntCCUtil.cpp b/Source/Core/DSPCore/Src/DSPIntCCUtil.cpp index c62aa25637..b5b2366196 100644 --- a/Source/Core/DSPCore/Src/DSPIntCCUtil.cpp +++ b/Source/Core/DSPCore/Src/DSPIntCCUtil.cpp @@ -28,7 +28,6 @@ namespace DSPInterpreter { void Update_SR_Register64(s64 _Value, bool carry, bool overflow) { - // TODO: recheck 0x1,0x2,even 0x80... implement... g_dsp.r[DSP_REG_SR] &= ~SR_CMP_MASK; // 0x01 @@ -37,10 +36,11 @@ void Update_SR_Register64(s64 _Value, bool carry, bool overflow) g_dsp.r[DSP_REG_SR] |= SR_CARRY; } - // 0x02 + // 0x02 and 0x80 if (overflow) { g_dsp.r[DSP_REG_SR] |= SR_OVERFLOW; + g_dsp.r[DSP_REG_SR] |= SR_OVERFLOW_SPECIAL; } // 0x04 @@ -66,16 +66,11 @@ void Update_SR_Register64(s64 _Value, bool carry, bool overflow) { g_dsp.r[DSP_REG_SR] |= SR_TOP2BITS; } - - // 0x80 - { - } } void Update_SR_Register16(s16 _Value, bool carry, bool overflow, bool overS32) { - // TODO: recheck 0x1,0x2,even 0x80... implement... g_dsp.r[DSP_REG_SR] &= ~SR_CMP_MASK; // 0x01 @@ -84,12 +79,13 @@ void Update_SR_Register16(s16 _Value, bool carry, bool overflow, bool overS32) g_dsp.r[DSP_REG_SR] |= SR_CARRY; } - // 0x02 + // 0x02 and 0x80 if (overflow) { g_dsp.r[DSP_REG_SR] |= SR_OVERFLOW; + g_dsp.r[DSP_REG_SR] |= SR_OVERFLOW_SPECIAL; } - + // 0x04 if (_Value == 0) { @@ -113,10 +109,6 @@ void Update_SR_Register16(s16 _Value, bool carry, bool overflow, bool overS32) { g_dsp.r[DSP_REG_SR] |= SR_TOP2BITS; } - - // 0x80 - { - } } void Update_SR_LZ(bool value) { -- cgit v1.2.3