mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-15 03:08:36 +12:00
Add conditional reservation update to STW
This commit is contained in:
parent
acd83673e9
commit
83f096c435
3 changed files with 22 additions and 2 deletions
|
@ -4405,7 +4405,15 @@ bool ppu_interpreter::LBZU(ppu_thread& ppu, ppu_opcode_t op)
|
|||
bool ppu_interpreter::STW(ppu_thread& ppu, ppu_opcode_t op)
|
||||
{
|
||||
const u64 addr = op.ra ? ppu.gpr[op.ra] + op.simm16 : op.simm16;
|
||||
vm::write32(vm::cast(addr, HERE), (u32)ppu.gpr[op.rs]);
|
||||
const u32 value = (u32)ppu.gpr[op.rs];
|
||||
vm::write32(vm::cast(addr, HERE), value);
|
||||
|
||||
//Insomniac engine v3 & v4 (newer R&C, Fuse, Resitance 3)
|
||||
if (UNLIKELY(value == 0xAAAAAAAA))
|
||||
{
|
||||
vm::reservation_update(addr, 128);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue