Warn about libfiber.sprx

It's currently incompatible with LLVM
Also fixed breakpoint bug
This commit is contained in:
Nekotekina 2017-04-08 00:55:19 +03:00
parent 69d86e39b9
commit ac79654d1b

View file

@ -263,9 +263,9 @@ extern void ppu_set_breakpoint(u32 addr)
const auto _break = ::narrow<u32>(reinterpret_cast<std::uintptr_t>(&ppu_break));
if (ppu_ref(addr / 4) != _break)
if (ppu_ref(addr) != _break)
{
ppu_ref(addr / 4) = _break;
ppu_ref(addr) = _break;
}
}
@ -279,9 +279,9 @@ extern void ppu_remove_breakpoint(u32 addr)
const auto _break = ::narrow<u32>(reinterpret_cast<std::uintptr_t>(&ppu_break));
if (ppu_ref(addr / 4) == _break)
if (ppu_ref(addr) == _break)
{
ppu_ref(addr / 4) = ppu_cache(addr);
ppu_ref(addr) = ppu_cache(addr);
}
}
@ -829,6 +829,17 @@ extern void ppu_initialize()
return;
}
if (g_cfg_ppu_decoder.get() == ppu_decoder_type::llvm)
{
idm::select<lv2_obj, lv2_prx>([](u32, lv2_prx& prx)
{
if (prx.name == "libfiber.sprx")
{
fmt::raw_error("libfiber.sprx is not compatible with PPU LLVM Recompiler.");
}
});
}
std::size_t fpos = 0;
while (fpos < _funcs->size())