We prominently mentioned the Legend of Zelda: Ocarina of Time randomizers when talking about Dolphin's JIT behaviors and making the games more playable.
In the future, it probably makes sense to add a Region setting for homebrew somewhere in the emulator config.
This is intentional so that Wii homebrew can boot in both 50Hz and 60Hz, without forcing all GC homebrew to 50Hz. Why? The answer was right in the code! // TODO: Right now GC homebrew boots in NTSC and Wii homebrew in PAL. When there was no Wii Menu installed to the current Wii NAND, it would fallback to PAL for Wii titles and NTSC for GameCube titles. It would just check for what region of the Wii Menu was installed to the currently selected NAND and use that. For these cases and any other exceptions, Dolphin had instituted a simple backup. There's also the case of homebrew, which doesn't have a set way of expressing a region. In this case, Dolphin can't rely on a region code. That's because certain Wii Channels are actually multi-regional! The same channel is designed to work on any region Wii, which means that it uses a multi-region code. Some Wii Channels, such as the Mii Channel, don't have a unique region code. That isn't to say it's impossible for complications to come up. By moving to a more accurate system, Dolphin's days of misidentifying regions is a thing of the past.
#Dolphin emulator memory card setup code
Additionally, all Wii titles, including discs, channels, WiiWare, and Virtual Console include a region code in their TMD. Turns out that all disc releases for the GameCube and Wii games have a region code on the disc. For instance, Michael Jackson: The Experience - Walmart Edition uses an annoying X in the GameID for NTSC and a comparable version uses Y in NTSC-J! As more and more exceptions piled up, we were forced to find a better solution. While this system worked for many years, exceptions started popping up and causing issues. Dolphin used to detect the NTSC, PAL and NTSC-J by the 4th letter in its GameID: GZL E01, GZL P01, and GZL J01. It's actually very simple! Look at The Legend of Zelda: The Wind Waker. For many years, Dolphin used the GameID of a title to detect the region. After all, games have to report their region to the console, so the task should be simple for the emulator, right? It may come as a surprise that Dolphin has had a lot of complications with properly detecting game regions and even has fallbacks for when it cannot detect a region. Handling game regions is something that users shouldn't have to think about most of the time. Notable Changes ¶ 5.0-13152 - Add Fallback Region Option by flagrama ¶ So, with that out of the way, we hope you enjoy this belated Dolphin Progress Report!
As a blog about emulation, getting these details correct about the various changes and how the emulator works is one of our highest priorities. With Progress Reports coming at a mostly bimonthly schedule at this point, this means that sometimes authors have moved onto different things or aren't available to talk. Going from things like the AArch64 JIT to GUI changes to IOS updates to game patches that go into low-level hardware behavior is enough to make anyone's head spin! More often than not, we rely on core developers and the authors of a specific change to help us understand what a pull request does so that we can express its purpose accurately here on the blog. We on the blog team are familiar with the emulator, however there are a lot of technical details that are simply beyond our expertise. Welcome to the Dolphin Progress Report for December 2020 and January 2021! Things ended up running a little behind for this report due to some technical details that we needed to hammer out for a few of these entries.