summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2021-12-03 22:39:38 +0100
committerGitHub <noreply@github.com>2021-12-03 22:39:38 +0100
commit85e5070215f1d39331ef7d67dbcb15e067b45173 (patch)
tree872f1ee9905cf79b8740552f1038f35f47c96310 /Source/Core
parentd23ac5a4440e9c1417e2af01833125e8431caae5 (diff)
parent5134caf68c64af17c7f4e7fff521d219d82c3d15 (diff)
Merge pull request #10257 from Pokechu22/no-bs2-rtc-flags
BS2Emu: Stop clearing the RTC flags
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/Boot/Boot_BS2Emu.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/Source/Core/Core/Boot/Boot_BS2Emu.cpp b/Source/Core/Core/Boot/Boot_BS2Emu.cpp
index 4a533cd6ed..9e66a2458a 100644
--- a/Source/Core/Core/Boot/Boot_BS2Emu.cpp
+++ b/Source/Core/Core/Boot/Boot_BS2Emu.cpp
@@ -461,8 +461,13 @@ bool CBoot::EmulatedBS2_Wii(const DiscIO::VolumeDisc& volume,
state->discstate = 0x01;
});
- // The system menu clears the RTC flags
- ExpansionInterface::g_rtc_flags.m_hex = 0;
+ // The system menu clears the RTC flags.
+ // However, the system menu also updates the disc cache when this happens; see
+ // https://wiibrew.org/wiki/MX23L4005#DI and
+ // https://wiibrew.org/wiki//title/00000001/00000002/data/cache.dat for details. If we clear the
+ // RTC flags, then the system menu thinks the disc cache is up to date, and will show the wrong
+ // disc in the disc channel (and reboot the first time the disc is opened)
+ // ExpansionInterface::g_rtc_flags.m_hex = 0;
// While reading a disc, the system menu reads the first partition table
// (0x20 bytes from 0x00040020) and stores a pointer to the data partition entry.