From fe28d1476a671145697dd056b2d7b03257e45d8c Mon Sep 17 00:00:00 2001 From: Scott Mansell Date: Thu, 11 Sep 2014 21:02:45 +1200 Subject: Make the IsMMIOAddress function easier to read, add tests. This also makes IsMMIOAddress more restrictive. --- Source/UnitTests/Core/MMIOTest.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'Source/UnitTests') diff --git a/Source/UnitTests/Core/MMIOTest.cpp b/Source/UnitTests/Core/MMIOTest.cpp index f9173ce0c4..bb7f1c4714 100644 --- a/Source/UnitTests/Core/MMIOTest.cpp +++ b/Source/UnitTests/Core/MMIOTest.cpp @@ -25,11 +25,24 @@ TEST(UniqueID, UniqueEnough) TEST(IsMMIOAddress, SpecialAddresses) { + SConfig::Init(); + SConfig::GetInstance().m_LocalCoreStartupParameter.bWii = true; + // WG Pipe address, should not be handled by MMIO. EXPECT_FALSE(MMIO::IsMMIOAddress(0xCC008000)); // Memory zone used by games using the "MMU Speedhack". EXPECT_FALSE(MMIO::IsMMIOAddress(0xE0000000)); + + // Uncached mirror of MEM1, shouldn't be handled by MMIO + EXPECT_FALSE(MMIO::IsMMIOAddress(0xC0000000)); + + // And lets check some valid addresses too + EXPECT_TRUE(MMIO::IsMMIOAddress(0xCC0000E0)); // Gamecube MMIOs + EXPECT_TRUE(MMIO::IsMMIOAddress(0xCD00008C)); // Wii MMIOs + EXPECT_TRUE(MMIO::IsMMIOAddress(0xCD800F10)); // Mirror of Wii MMIOs + + SConfig::Shutdown(); } class MappingTest : public testing::Test -- cgit v1.2.3