Some hack

This commit is contained in:
Nekotekina 2014-08-15 16:50:59 +04:00
parent 9f0c5899d6
commit cb58a773c9
7 changed files with 57 additions and 34 deletions

View file

@ -324,11 +324,17 @@ void Emulator::Load()
m_ppu_thr_exit = Memory.MainMem.AllocAlign(4 * 4);
mem32_ptr_t ppu_thr_exit_data(m_ppu_thr_exit);
ppu_thr_exit_data += ADDI(3, 0, 0);
//ppu_thr_exit_data += ADDI(3, 0, 0); // why it kills return value (GPR[3]) ?
ppu_thr_exit_data += ADDI(11, 0, 41);
ppu_thr_exit_data += SC(2);
ppu_thr_exit_data += BCLR(0x10 | 0x04, 0, 0, 0);
m_ppu_thr_stop = Memory.MainMem.AllocAlign(2 * 4);
mem32_ptr_t ppu_thr_stop_data(m_ppu_thr_stop);
ppu_thr_stop_data += SC(4);
ppu_thr_exit_data += BCLR(0x10 | 0x04, 0, 0, 0);
Memory.Write64(Memory.PRXMem.AllocAlign(0x10000), 0xDEADBEEFABADCAFE);
}
break;
@ -422,11 +428,6 @@ void Emulator::Stop()
break;
}
std::this_thread::sleep_for(std::chrono::milliseconds(1));
if (counter++ > 3000)
{
LOG_ERROR(HLE, "%d threads not stopped (timeout)", (u32)(g_thread_count - uncounted));
break;
}
}
m_rsx_callback = 0;