diff options
| author | JosJuice <josjuice@gmail.com> | 2021-12-03 22:39:38 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-12-03 22:39:38 +0100 |
| commit | 85e5070215f1d39331ef7d67dbcb15e067b45173 (patch) | |
| tree | 872f1ee9905cf79b8740552f1038f35f47c96310 /Source/Core | |
| parent | d23ac5a4440e9c1417e2af01833125e8431caae5 (diff) | |
| parent | 5134caf68c64af17c7f4e7fff521d219d82c3d15 (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.cpp | 9 |
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. |
