summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorScott Mansell <phiren@gmail.com>2015-09-12 22:20:59 +1200
committerScott Mansell <phiren@gmail.com>2015-09-12 22:20:59 +1200
commitc0a89c3bf4dfe5b45989df2ea5e804009b615f16 (patch)
tree7674bd3f3e50ec0c85a36e4f3c3fc08641966fab /Source
parent66dd79c569838563d824a28bab6eacdf1a697f88 (diff)
parent44456bec0fcbbcbf3b074c30e19fc73d11e3880b (diff)
Merge pull request #3009 from phire/depth_tested_pokes
Add some logging for depth tested efb color pokes.
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/Core/PowerPC/MMU.cpp14
1 files 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);