lv2: Do not lose r3 data on syscalls

Allows to get the ID of the lv2 sync objects in the debugger by looking at r3's content.
This commit is contained in:
Eladash 2020-03-22 10:35:35 +02:00 committed by Ivan
parent f1cf62ac57
commit dc839e1784
5 changed files with 6 additions and 2 deletions

View file

@ -95,13 +95,14 @@ error_code sys_event_flag_wait(ppu_thread& ppu, u32 id, u64 bitptn, u32 mode, vm
sys_event_flag.trace("sys_event_flag_wait(id=0x%x, bitptn=0x%llx, mode=0x%x, result=*0x%x, timeout=0x%llx)", id, bitptn, mode, result, timeout);
// Fix function arguments for external access
// TODO: Avoid using registers
ppu.gpr[3] = -1;
ppu.gpr[4] = bitptn;
ppu.gpr[5] = mode;
ppu.gpr[6] = 0;
// Always set result
if (result) *result = ppu.gpr[6];
if (result) *result = 0;
if (!lv2_event_flag::check_mode(mode))
{