mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-03-20 22:21:06 +00:00
Reverting the change that made logical function update logical zero
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2977 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
5cb2fe6daf
commit
19cdbb3e15
@ -764,8 +764,7 @@ void xorr(const UDSPInstruction& opc)
|
|||||||
|
|
||||||
s64 acc = dsp_get_long_acc(dreg);
|
s64 acc = dsp_get_long_acc(dreg);
|
||||||
|
|
||||||
Update_SR_LZ(acc);
|
Update_SR_Register64(acc);
|
||||||
// tsta(dreg);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ANDR $acD.m, $axS.h
|
// ANDR $acD.m, $axS.h
|
||||||
@ -781,8 +780,7 @@ void andr(const UDSPInstruction& opc)
|
|||||||
|
|
||||||
s64 acc = dsp_get_long_acc(dreg);
|
s64 acc = dsp_get_long_acc(dreg);
|
||||||
|
|
||||||
Update_SR_LZ(acc);
|
Update_SR_Register64(acc);
|
||||||
// tsta(dreg);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ORR $acD.m, $axS.h
|
// ORR $acD.m, $axS.h
|
||||||
@ -799,9 +797,7 @@ void orr(const UDSPInstruction& opc)
|
|||||||
|
|
||||||
s64 acc = dsp_get_long_acc(dreg);
|
s64 acc = dsp_get_long_acc(dreg);
|
||||||
|
|
||||||
Update_SR_LZ(acc);
|
Update_SR_Register64(acc);
|
||||||
|
|
||||||
// tsta(dreg);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ANDC $acD.m, $ac(1-D).m
|
// ANDC $acD.m, $ac(1-D).m
|
||||||
@ -817,8 +813,7 @@ void andc(const UDSPInstruction& opc)
|
|||||||
|
|
||||||
dsp_set_long_acc(D, ac1 & ac2);
|
dsp_set_long_acc(D, ac1 & ac2);
|
||||||
|
|
||||||
Update_SR_LZ(dsp_get_long_acc(D));
|
Update_SR_Register64(dsp_get_long_acc(D));
|
||||||
// Update_SR_Register64(dsp_get_long_acc(D));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ORC $acD.m, $ac(1-D).m
|
// ORC $acD.m, $ac(1-D).m
|
||||||
@ -834,8 +829,7 @@ void orc(const UDSPInstruction& opc)
|
|||||||
|
|
||||||
dsp_set_long_acc(D, ac1 | ac2);
|
dsp_set_long_acc(D, ac1 | ac2);
|
||||||
|
|
||||||
Update_SR_LZ(dsp_get_long_acc(D));
|
Update_SR_Register64(dsp_get_long_acc(D));
|
||||||
// Update_SR_Register64(dsp_get_long_acc(D));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void orf(const UDSPInstruction& opc)
|
void orf(const UDSPInstruction& opc)
|
||||||
@ -917,8 +911,7 @@ void xori(const UDSPInstruction& opc)
|
|||||||
u16 imm = dsp_fetch_code();
|
u16 imm = dsp_fetch_code();
|
||||||
g_dsp.r[reg] ^= imm;
|
g_dsp.r[reg] ^= imm;
|
||||||
|
|
||||||
Update_SR_LZ(g_dsp.r[reg]);
|
Update_SR_Register16((s16)g_dsp.r[reg]);
|
||||||
// Update_SR_Register16((s16)g_dsp.r[reg]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ANDI $acD.m, #I
|
// ANDI $acD.m, #I
|
||||||
@ -931,8 +924,7 @@ void andi(const UDSPInstruction& opc)
|
|||||||
u16 imm = dsp_fetch_code();
|
u16 imm = dsp_fetch_code();
|
||||||
g_dsp.r[reg] &= imm;
|
g_dsp.r[reg] &= imm;
|
||||||
|
|
||||||
Update_SR_LZ(g_dsp.r[reg]);
|
Update_SR_Register16((s16)g_dsp.r[reg]);
|
||||||
// Update_SR_Register16((s16)g_dsp.r[reg]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -947,8 +939,7 @@ void ori(const UDSPInstruction& opc)
|
|||||||
u16 imm = dsp_fetch_code();
|
u16 imm = dsp_fetch_code();
|
||||||
g_dsp.r[reg] |= imm;
|
g_dsp.r[reg] |= imm;
|
||||||
|
|
||||||
Update_SR_LZ(g_dsp.r[reg]);
|
Update_SR_Register16((s16)g_dsp.r[reg]);
|
||||||
// Update_SR_Register16((s16)g_dsp.r[reg]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//-------------------------------------------------------------
|
//-------------------------------------------------------------
|
||||||
@ -1256,8 +1247,7 @@ void lsl16(const UDSPInstruction& opc)
|
|||||||
s64 acc = dsp_get_long_acc(areg);
|
s64 acc = dsp_get_long_acc(areg);
|
||||||
acc <<= 16;
|
acc <<= 16;
|
||||||
dsp_set_long_acc(areg, acc);
|
dsp_set_long_acc(areg, acc);
|
||||||
Update_SR_LZ(acc);
|
Update_SR_Register64(acc);
|
||||||
// Update_SR_Register64(acc);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// MADD $axS.l, $axS.h
|
// MADD $axS.l, $axS.h
|
||||||
@ -1304,8 +1294,7 @@ void lsr16(const UDSPInstruction& opc)
|
|||||||
|
|
||||||
acc >>= 16;
|
acc >>= 16;
|
||||||
dsp_set_long_acc(areg, acc);
|
dsp_set_long_acc(areg, acc);
|
||||||
Update_SR_LZ(acc);
|
Update_SR_Register64(acc);
|
||||||
// Update_SR_Register64(acc);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ASR16 $acR
|
// ASR16 $acR
|
||||||
@ -1333,8 +1322,7 @@ void lsl(const UDSPInstruction& opc)
|
|||||||
|
|
||||||
acc <<= shift;
|
acc <<= shift;
|
||||||
dsp_set_long_acc(opc.areg, acc);
|
dsp_set_long_acc(opc.areg, acc);
|
||||||
Update_SR_LZ(acc);
|
Update_SR_Register64(acc);
|
||||||
// Update_SR_Register64(acc);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// LSR $acR, #I
|
// LSR $acR, #I
|
||||||
@ -1349,8 +1337,7 @@ void lsr(const UDSPInstruction& opc)
|
|||||||
acc &= 0x000000FFFFFFFFFFULL;
|
acc &= 0x000000FFFFFFFFFFULL;
|
||||||
acc >>= shift;
|
acc >>= shift;
|
||||||
dsp_set_long_acc(opc.areg, (s64)acc);
|
dsp_set_long_acc(opc.areg, (s64)acc);
|
||||||
Update_SR_LZ(acc);
|
Update_SR_Register64(acc);
|
||||||
// Update_SR_Register64(acc);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ASL $acR, #I
|
// ASL $acR, #I
|
||||||
|
@ -43,7 +43,7 @@ void Update_SR_Register64(s64 _Value)
|
|||||||
// weird
|
// weird
|
||||||
if ((_Value >> 62) == 0)
|
if ((_Value >> 62) == 0)
|
||||||
{
|
{
|
||||||
Update_SR_LZ(0);
|
g_dsp.r[DSP_REG_SR] |= 0x20;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ void Update_SR_Register16(s16 _Value)
|
|||||||
// weird
|
// weird
|
||||||
if ((_Value >> 14) == 0)
|
if ((_Value >> 14) == 0)
|
||||||
{
|
{
|
||||||
Update_SR_LZ(0);
|
g_dsp.r[DSP_REG_SR] |= 0x20;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user