Permalink
Browse files

Merge pull request #6921 from lioncash/mmu

MMU: Avoid sign conversions in EFB_Read and EFB_Write
  • Loading branch information...
degasus committed May 20, 2018
2 parents 8af8c58 + edb38ff commit 7563c82162cf0924f81f00161fae9ae583b46c5d
Showing with 8 additions and 8 deletions.
  1. +8 −8 Source/Core/Core/PowerPC/MMU.cpp
@@ -117,8 +117,8 @@ static u32 EFB_Read(const u32 addr)
u32 var = 0;
// Convert address to coordinates. It's possible that this should be done
// differently depending on color depth, especially regarding PeekColor.
int x = (addr & 0xfff) >> 2;
int y = (addr >> 12) & 0x3ff;
const u32 x = (addr & 0xfff) >> 2;
const u32 y = (addr >> 12) & 0x3ff;
if (addr & 0x00800000)
{
@@ -127,21 +127,21 @@ static u32 EFB_Read(const u32 addr)
else if (addr & 0x00400000)
{
var = g_video_backend->Video_AccessEFB(EFBAccessType::PeekZ, x, y, 0);
DEBUG_LOG(MEMMAP, "EFB Z Read @ %i, %i\t= 0x%08x", x, y, var);
DEBUG_LOG(MEMMAP, "EFB Z Read @ %u, %u\t= 0x%08x", x, y, var);
}
else
{
var = g_video_backend->Video_AccessEFB(EFBAccessType::PeekColor, x, y, 0);
DEBUG_LOG(MEMMAP, "EFB Color Read @ %i, %i\t= 0x%08x", x, y, var);
DEBUG_LOG(MEMMAP, "EFB Color Read @ %u, %u\t= 0x%08x", x, y, var);
}
return var;
}
static void EFB_Write(u32 data, u32 addr)
{
int x = (addr & 0xfff) >> 2;
int y = (addr >> 12) & 0x3ff;
const u32 x = (addr & 0xfff) >> 2;
const u32 y = (addr >> 12) & 0x3ff;
if (addr & 0x00800000)
{
@@ -152,12 +152,12 @@ static void EFB_Write(u32 data, u32 addr)
else if (addr & 0x00400000)
{
g_video_backend->Video_AccessEFB(EFBAccessType::PokeZ, x, y, data);
DEBUG_LOG(MEMMAP, "EFB Z Write %08x @ %i, %i", data, x, y);
DEBUG_LOG(MEMMAP, "EFB Z Write %08x @ %u, %u", data, x, y);
}
else
{
g_video_backend->Video_AccessEFB(EFBAccessType::PokeColor, x, y, data);
DEBUG_LOG(MEMMAP, "EFB Color Write %08x @ %i, %i", data, x, y);
DEBUG_LOG(MEMMAP, "EFB Color Write %08x @ %u, %u", data, x, y);
}
}

0 comments on commit 7563c82

Please sign in to comment.