diff options
| author | Marko Pusljar <LM1234@gmail.com> | 2010-03-08 21:25:35 +0000 |
|---|---|---|
| committer | Marko Pusljar <LM1234@gmail.com> | 2010-03-08 21:25:35 +0000 |
| commit | 70a712c065cd53f8d106d0994795bf8f265eaebe (patch) | |
| tree | 39dada9f39a707e6b3d12dbdc76aaae40c61461f /Source/Core/DSPCore/Src/DSPIntCCUtil.cpp | |
| parent | 76ad8db4459248d10785c82f7a877434664a0ff3 (diff) | |
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
Diffstat (limited to 'Source/Core/DSPCore/Src/DSPIntCCUtil.cpp')
| -rw-r--r-- | Source/Core/DSPCore/Src/DSPIntCCUtil.cpp | 18 |
1 files changed, 5 insertions, 13 deletions
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) { |
