From 44456bec0fcbbcbf3b074c30e19fc73d11e3880b Mon Sep 17 00:00:00 2001 From: Scott Mansell Date: Wed, 9 Sep 2015 12:31:00 +1200 Subject: [PATCH] Add some logging for depth tested efb color pokes. --- Source/Core/Core/PowerPC/MMU.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Source/Core/Core/PowerPC/MMU.cpp b/Source/Core/Core/PowerPC/MMU.cpp index 44450c4269..240887316f 100644 --- a/Source/Core/Core/PowerPC/MMU.cpp +++ b/Source/Core/Core/PowerPC/MMU.cpp @@ -72,7 +72,11 @@ static u32 EFB_Read(const u32 addr) int x = (addr & 0xfff) >> 2; int y = (addr >> 12) & 0x3ff; - if (addr & 0x00400000) + if (addr & 0x00800000) + { + ERROR_LOG(MEMMAP, "Unimplemented Z+Color EFB read @ 0x%08x", addr); + } + else if (addr & 0x00400000) { var = g_video_backend->Video_AccessEFB(PEEK_Z, x, y, 0); DEBUG_LOG(MEMMAP, "EFB Z Read @ %i, %i\t= 0x%08x", x, y, var); @@ -91,7 +95,13 @@ static void EFB_Write(u32 data, u32 addr) int x = (addr & 0xfff) >> 2; int y = (addr >> 12) & 0x3ff; - if (addr & 0x00400000) + if (addr & 0x00800000) + { + // It's possible to do a z-tested write to EFB by writing a 64bit value to this address range. + // Not much is known, but let's at least get some loging. + ERROR_LOG(MEMMAP, "Unimplemented Z+Color EFB write. %08x @ 0x%08x", data, addr); + } + else if (addr & 0x00400000) { g_video_backend->Video_AccessEFB(POKE_Z, x, y, data); DEBUG_LOG(MEMMAP, "EFB Z Write %08x @ %i, %i", data, x, y);