mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-10 08:09:26 +01:00
DSP LLE: results of wide if testing please test :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3546 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
ade9479005
commit
159feed662
@ -90,6 +90,9 @@ int GetMultiplyModifier()
|
|||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline bool isCarry() {
|
||||||
|
return (g_dsp.r[DSP_REG_SR] & 0x01) ? true : false;
|
||||||
|
}
|
||||||
inline bool isSign() {
|
inline bool isSign() {
|
||||||
return ((g_dsp.r[DSP_REG_SR] & 0x02) != (g_dsp.r[DSP_REG_SR] & 0x08));
|
return ((g_dsp.r[DSP_REG_SR] & 0x02) != (g_dsp.r[DSP_REG_SR] & 0x08));
|
||||||
}
|
}
|
||||||
@ -98,6 +101,8 @@ inline bool isZero() {
|
|||||||
return (g_dsp.r[DSP_REG_SR] & 0x04) ? true : false;
|
return (g_dsp.r[DSP_REG_SR] & 0x04) ? true : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//see gdsp_registers.h for flags
|
//see gdsp_registers.h for flags
|
||||||
bool CheckCondition(u8 _Condition)
|
bool CheckCondition(u8 _Condition)
|
||||||
{
|
{
|
||||||
@ -115,7 +120,7 @@ bool CheckCondition(u8 _Condition)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x2: // G - GREATER
|
case 0x2: // G - GREATER
|
||||||
if (! isSign() || g_dsp.r[DSP_REG_SR] & SR_CARRY)
|
if (! isSign() || !isZero())
|
||||||
taken = true;
|
taken = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -137,16 +142,16 @@ bool CheckCondition(u8 _Condition)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x6: // L - LESS
|
case 0x6: // L - LESS
|
||||||
// Should be that once we set 0x02
|
// Should be that once we set 0x01
|
||||||
// if (g_dsp.r[DSP_REG_SR] & 0x02)
|
if (!isCarry())
|
||||||
if (isSign())
|
// if (isSign())
|
||||||
taken = true;
|
taken = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x7: // GE - GREATER EQUAL
|
case 0x7: // GE - GREATER EQUAL
|
||||||
// Should be that once we set 0x01
|
// Should be that once we set 0x01
|
||||||
// if (g_dsp.r[DSP_REG_SR] & SR_CARRY)
|
if (isCarry())
|
||||||
if (! isSign() || isZero())
|
// if (! isSign() || isZero())
|
||||||
taken = true;
|
taken = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user