mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-21 21:30:19 -06:00
PowerPC/MMU: Refactor to class, move to System.
This commit is contained in:
@ -502,7 +502,7 @@ static bool MemoryMatchesAt(const Core::CPUThreadGuard& guard, u32 offset,
|
||||
{
|
||||
for (u32 i = 0; i < value.size(); ++i)
|
||||
{
|
||||
auto result = PowerPC::HostTryReadU8(guard, offset + i);
|
||||
auto result = PowerPC::MMU::HostTryReadU8(guard, offset + i);
|
||||
if (!result || result->value != value[i])
|
||||
return false;
|
||||
}
|
||||
@ -521,7 +521,7 @@ static void ApplyMemoryPatch(const Core::CPUThreadGuard& guard, u32 offset,
|
||||
auto& system = Core::System::GetInstance();
|
||||
const u32 size = static_cast<u32>(value.size());
|
||||
for (u32 i = 0; i < size; ++i)
|
||||
PowerPC::HostTryWriteU8(guard, value[i], offset + i);
|
||||
PowerPC::MMU::HostTryWriteU8(guard, value[i], offset + i);
|
||||
const u32 overlapping_hook_count = HLE::UnpatchRange(system, offset, offset + size);
|
||||
if (overlapping_hook_count != 0)
|
||||
{
|
||||
@ -585,13 +585,13 @@ static void ApplyOcarinaMemoryPatch(const Core::CPUThreadGuard& guard, const Pat
|
||||
{
|
||||
// from the pattern find the next blr instruction
|
||||
const u32 blr_address = ram_start + i;
|
||||
auto blr = PowerPC::HostTryReadU32(guard, blr_address);
|
||||
auto blr = PowerPC::MMU::HostTryReadU32(guard, blr_address);
|
||||
if (blr && blr->value == 0x4e800020)
|
||||
{
|
||||
// and replace it with a jump to the given offset
|
||||
const u32 target = memory_patch.m_offset | 0x80000000;
|
||||
const u32 jmp = ((target - blr_address) & 0x03fffffc) | 0x48000000;
|
||||
PowerPC::HostTryWriteU32(guard, jmp, blr_address);
|
||||
PowerPC::MMU::HostTryWriteU32(guard, jmp, blr_address);
|
||||
const u32 overlapping_hook_count =
|
||||
HLE::UnpatchRange(system, blr_address, blr_address + 4);
|
||||
if (overlapping_hook_count != 0)
|
||||
|
Reference in New Issue
Block a user