diff --git a/Tools/StarletBootstrapProbe/StarletBootstrapProbe.cpp b/Tools/StarletBootstrapProbe/StarletBootstrapProbe.cpp index 39b8e96fe7..35d6762c61 100644 --- a/Tools/StarletBootstrapProbe/StarletBootstrapProbe.cpp +++ b/Tools/StarletBootstrapProbe/StarletBootstrapProbe.cpp @@ -10,6 +10,7 @@ #include "Common/MsgHandler.h" #include "Core/Core.h" +#include "Core/HW/Memmap.h" #include "Core/HW/WII_IPC.h" #include "Core/IOS/Starlet/ARMCore.h" #include "Core/IOS/Starlet/BootstrapELF.h" @@ -181,5 +182,14 @@ int main(int argc, char** argv) return 2; } } - return Run(argv[1], jit, expected) ? 0 : 1; + + // The Starlet shares MEM1 and MEM2 with Broadway. Back them as on a retail Wii (24 and 64 MiB, + // zeroed): without them, any Starlet access there, such as StarOS reading its SBR1 record + // header at 0x00200000, is an access to unmapped memory and raises an alert. + auto& system = Core::System::GetInstance(); + system.SetIsWii(true); + system.GetMemory().Init(); + const bool passed = Run(argv[1], jit, expected); + system.GetMemory().Shutdown(); + return passed ? 0 : 1; }