mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-10 16:19:28 +01:00
DSPLLE: Small fixes for zeroing flags
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4020 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
56c4eea4c1
commit
fdc141e333
@ -144,10 +144,11 @@ void xorr(const UDSPInstruction& opc)
|
||||
{
|
||||
u8 sreg = (opc.hex >> 9) & 0x1;
|
||||
u8 dreg = (opc.hex >> 8) & 0x1;
|
||||
|
||||
u16 axh = g_dsp.r[DSP_REG_AXH0 + sreg];
|
||||
|
||||
zeroWriteBackLog();
|
||||
|
||||
g_dsp.r[DSP_REG_ACM0 + dreg] ^= g_dsp.r[DSP_REG_AXH0 + sreg];
|
||||
g_dsp.r[DSP_REG_ACM0 + dreg] ^= axh;
|
||||
|
||||
s64 acc = dsp_get_long_acc(dreg);
|
||||
Update_SR_Register64(acc);
|
||||
@ -161,10 +162,11 @@ void andr(const UDSPInstruction& opc)
|
||||
{
|
||||
u8 sreg = (opc.hex >> 9) & 0x1;
|
||||
u8 dreg = (opc.hex >> 8) & 0x1;
|
||||
|
||||
u16 axh = g_dsp.r[DSP_REG_AXH0 + sreg];
|
||||
|
||||
zeroWriteBackLog();
|
||||
|
||||
g_dsp.r[DSP_REG_ACM0 + dreg] &= g_dsp.r[DSP_REG_AXH0 + sreg];
|
||||
g_dsp.r[DSP_REG_ACM0 + dreg] &= axh;
|
||||
|
||||
s64 acc = dsp_get_long_acc(dreg);
|
||||
Update_SR_Register64(acc);
|
||||
@ -178,10 +180,11 @@ void orr(const UDSPInstruction& opc)
|
||||
{
|
||||
u8 sreg = (opc.hex >> 9) & 0x1;
|
||||
u8 dreg = (opc.hex >> 8) & 0x1;
|
||||
|
||||
u16 axh = g_dsp.r[DSP_REG_AXH0 + sreg];
|
||||
|
||||
zeroWriteBackLog();
|
||||
|
||||
g_dsp.r[DSP_REG_ACM0 + dreg] |= g_dsp.r[DSP_REG_AXH0 + sreg];
|
||||
g_dsp.r[DSP_REG_ACM0 + dreg] |= axh;
|
||||
|
||||
s64 acc = dsp_get_long_acc(dreg);
|
||||
Update_SR_Register64(acc);
|
||||
@ -195,10 +198,11 @@ void orr(const UDSPInstruction& opc)
|
||||
void andc(const UDSPInstruction& opc)
|
||||
{
|
||||
u8 D = (opc.hex >> 8) & 0x1;
|
||||
|
||||
u16 accm = dsp_get_acc_m(1-D);
|
||||
|
||||
zeroWriteBackLog();
|
||||
|
||||
g_dsp.r[DSP_REG_ACM0+D] &= dsp_get_acc_m(1-D);
|
||||
g_dsp.r[DSP_REG_ACM0+D] &= accm;
|
||||
|
||||
Update_SR_Register16(dsp_get_acc_m(D));
|
||||
}
|
||||
@ -211,10 +215,11 @@ void andc(const UDSPInstruction& opc)
|
||||
void orc(const UDSPInstruction& opc)
|
||||
{
|
||||
u8 D = (opc.hex >> 8) & 0x1;
|
||||
|
||||
u16 accm = dsp_get_acc_m(1-D);
|
||||
|
||||
zeroWriteBackLog();
|
||||
|
||||
g_dsp.r[DSP_REG_ACM0+D] |= dsp_get_acc_m(1-D);
|
||||
g_dsp.r[DSP_REG_ACM0+D] |= accm;
|
||||
|
||||
Update_SR_Register16(dsp_get_acc_m(D));
|
||||
}
|
||||
|
@ -176,7 +176,7 @@ void srrd(const UDSPInstruction& opc)
|
||||
|
||||
u16 val = dsp_op_read_reg(sreg);
|
||||
dsp_dmem_write(g_dsp.r[dreg], val);
|
||||
g_dsp.r[sreg] = dsp_decrement_addr_reg(dreg);
|
||||
g_dsp.r[dreg] = dsp_decrement_addr_reg(dreg);
|
||||
}
|
||||
|
||||
// SRRI @$D, $S
|
||||
|
Loading…
x
Reference in New Issue
Block a user