The Dolphin emulator is now supporting all GameCube games. The information was communicated by developers of Dolphin on their blog. The only game that the Dolphin couldnt run previously, Star Wars: The Clone Wars, is now fully supported in the 5.0.540 version of the Dolphin.
Every single GameCube game can at least boot in Dolphin 5.0. Except one. Star Wars: The Clone Wars and its complex way of using the PowerPC Memory Management Unit rendered it unplayable in Dolphin up to this day. But finally as of Dolphin 5.0-540, this challenge has come and gone: Dolphin can finally boot every single GameCube game in the official library.
Developers explain on the blog which difficulties they had to overcome to have the game run on the dolphin, and more specifically, how they had to deal with the PowerPC Memory Management Unit .
The Memory Management Unit, or MMU, is responsible for quickly giving games access to data and code. Rather than directly accessing available RAM, games interface with virtual memory which is then translated to physical memory by the MMU. This can be done in two ways, with Block Address Translations (BATs) for huge portions of memory or the page tables for small fine-grained mappings.
The games are given access to virtual memory instead of real memory for several reasons. First of all, it gives the CPU an opportunity to cache accesses, greatly speeding up the efficiency of accessing often used values. Secondly, the GameCube only has 24MB (and some specialized areas) of RAM across a 4GB address space, meaning most memory addresses have no RAM backing them! If a game were to access a real memory address with no backing memory, it’d get garbage or even crash! By using virtual memory, the MMU can throw an exception giving the game a way to handle the situation or provide valuable feedback to developers on what went wrong.
Dolphin is able to emulate the MMU with several degrees of accuracy based on theories of how the game is going to behave.
Dolphin is a rather popular emulator used to play games like Smash Bros Melee. Despite its popularity it was never taken down by Nintendo.