From 2b906e3fc45a908704863db847d995a4b9b63374 Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Wed, 23 Nov 2016 04:17:31 +0900 Subject: [PATCH] DOL/ELF loaders: enable HID4.SBE in Wii mode When booting "cooked" executables, BATs should already be set up and enabled. They should only really be disabled when booting NAND contents in real mode. --- Source/Core/Core/Boot/Boot.cpp | 2 ++ Source/Core/Core/Boot/Boot_ELF.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/Source/Core/Core/Boot/Boot.cpp b/Source/Core/Core/Boot/Boot.cpp index 59b6eee70c..da104586c7 100644 --- a/Source/Core/Core/Boot/Boot.cpp +++ b/Source/Core/Core/Boot/Boot.cpp @@ -381,6 +381,8 @@ bool CBoot::BootUp() PowerPC::ppcState.spr[SPR_DBAT4L] = 0x10000002; PowerPC::ppcState.spr[SPR_DBAT5U] = 0xd0001fff; PowerPC::ppcState.spr[SPR_DBAT5L] = 0x1000002a; + if (dolLoader.IsWii()) + HID4.SBE = 1; PowerPC::DBATUpdated(); PowerPC::IBATUpdated(); diff --git a/Source/Core/Core/Boot/Boot_ELF.cpp b/Source/Core/Core/Boot/Boot_ELF.cpp index 48efad678e..c626725698 100644 --- a/Source/Core/Core/Boot/Boot_ELF.cpp +++ b/Source/Core/Core/Boot/Boot_ELF.cpp @@ -85,6 +85,8 @@ bool CBoot::Boot_ELF(const std::string& filename) PowerPC::ppcState.spr[SPR_DBAT4L] = 0x10000002; PowerPC::ppcState.spr[SPR_DBAT5U] = 0xd0001fff; PowerPC::ppcState.spr[SPR_DBAT5L] = 0x1000002a; + if (IsElfWii(filename)) + HID4.SBE = 1; PowerPC::DBATUpdated(); PowerPC::IBATUpdated();