r3396 is alleged to have broken reverse of arcadia. it is alleged to have fixed fifa 2010. r3396 contains a change to thumb ASR which is plainly wrong. after that time several other cpu fixes were made, and the ASR changes are not necessary to fix fifa 2010 anymore. so I am reverting that part, and reverse of arcadia should be retested.

This commit is contained in:
zeromus 2011-08-04 01:31:34 +00:00
parent 307e0182af
commit 1d8ec4bb5e
1 changed files with 2 additions and 2 deletions

View File

@ -163,7 +163,7 @@ TEMPLATE static u32 FASTCALL OP_LSR_REG(const u32 i)
TEMPLATE static u32 FASTCALL OP_ASR_0(const u32 i)
{
cpu->CPSR.bits.C = BIT31(cpu->R[REG_NUM(i, 3)]);
cpu->R[REG_NUM(i, 0)] = cpu->CPSR.bits.C * 0xFFFFFFFF;
cpu->R[REG_NUM(i, 0)] = BIT31(cpu->R[REG_NUM(i, 3)])*0xFFFFFFFF;
cpu->CPSR.bits.N = BIT31(cpu->R[REG_NUM(i, 0)]);
cpu->CPSR.bits.Z = cpu->R[REG_NUM(i, 0)] == 0;
@ -201,7 +201,7 @@ TEMPLATE static u32 FASTCALL OP_ASR_REG(const u32 i)
}
cpu->CPSR.bits.C = BIT31(cpu->R[REG_NUM(i, 0)]);
cpu->R[REG_NUM(i, 0)] = cpu->CPSR.bits.C * 0xFFFFFFFF;
cpu->R[REG_NUM(i, 0)] = BIT31(cpu->R[REG_NUM(i, 0)])*0xFFFFFFFF;
cpu->CPSR.bits.N = BIT31(cpu->R[REG_NUM(i, 0)]);
cpu->CPSR.bits.Z = cpu->R[REG_NUM(i, 0)] == 0;