diff --git a/Source/Core/Core/HW/MemmapFunctions.cpp b/Source/Core/Core/HW/MemmapFunctions.cpp index 2bc24586b9..e58a99ed4e 100644 --- a/Source/Core/Core/HW/MemmapFunctions.cpp +++ b/Source/Core/Core/HW/MemmapFunctions.cpp @@ -966,20 +966,12 @@ u32 TranslateAddress(const u32 _Address, const XCheckTLBFlag _Flag) // Check MSR[DR] bit before translating data addresses //if (((_Flag == FLAG_READ) || (_Flag == FLAG_WRITE)) && !(MSR & (1 << (31 - 27)))) return _Address; - u32 tlb_addr = TranslateBlockAddress(_Address, _Flag); - if (tlb_addr == 0) - { - tlb_addr = TranslatePageAddress(_Address, _Flag); - if (tlb_addr != 0) - { - return tlb_addr; - } - } - else - { - return tlb_addr; - } - - return 0; + // Technically we should do this, but no known games, even heavy MMU ones, use any custom BATs whatsoever, + // so it's a waste of time and should never succeed (given the default BATs are already handled in + // ReadFromHardware/WriteToHardware). + //u32 tlb_addr = TranslateBlockAddress(_Address, _Flag); + //if (!tlb_addr) + // return tlb_addr; + return TranslatePageAddress(_Address, _Flag); } } // namespace