vm::ptr for u8/char types, mem_list_ptr_t removed

This commit is contained in:
Nekotekina 2014-08-31 19:01:48 +04:00
parent ebc4fa3e81
commit a8cfefac07
31 changed files with 208 additions and 362 deletions

View file

@ -347,24 +347,24 @@ void Emulator::Load()
m_rsx_callback = (u32)Memory.MainMem.AllocAlign(4 * 4) + 4;
Memory.Write32(m_rsx_callback - 4, m_rsx_callback);
mem32_ptr_t callback_data(m_rsx_callback);
callback_data += ADDI(11, 0, 0x3ff);
callback_data += SC(2);
callback_data += BCLR(0x10 | 0x04, 0, 0, 0);
auto callback_data = vm::ptr<be_t<u32>>::make(m_rsx_callback);
callback_data[0] = ADDI(11, 0, 0x3ff);
callback_data[1] = SC(2);
callback_data[2] = BCLR(0x10 | 0x04, 0, 0, 0);
m_ppu_thr_exit = (u32)Memory.MainMem.AllocAlign(4 * 4);
mem32_ptr_t ppu_thr_exit_data(m_ppu_thr_exit);
auto ppu_thr_exit_data = vm::ptr<be_t<u32>>::make(m_ppu_thr_exit);
//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);
ppu_thr_exit_data[0] = ADDI(11, 0, 41);
ppu_thr_exit_data[1] = SC(2);
ppu_thr_exit_data[2] = BCLR(0x10 | 0x04, 0, 0, 0);
m_ppu_thr_stop = (u32)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);
auto ppu_thr_stop_data = vm::ptr<be_t<u32>>::make(m_ppu_thr_stop);
ppu_thr_stop_data[0] = SC(4);
ppu_thr_exit_data[1] = BCLR(0x10 | 0x04, 0, 0, 0);
Memory.Write64(Memory.PRXMem.AllocAlign(0x10000), 0xDEADBEEFABADCAFE);
}