Archives Aug. 19, 2015

The New Era of HLE Audio

In early 2013, Dolphin had began its first steps in a new focus on accurate emulation. The 3.5 release represented a shift in the emulator's focus, and as such, saw great improvements in terms of compatibility and accuracy over the previous release. But one area that stuck out like a sore thumb during this era was the quality of High Level Emulation (HLE) audio. Hundreds of games suffered from crashes associated to audio, and thousands had significant problems, with missing effects, incorrect volume, and random bursts of noise.

The problems of HLE were systemic, deeply rooted problems within its design, and would require a complete rewrite in order to solve. Rewriting HLE audio was always a priority, but the daunting task to reverse engineer, implement, and test kept most developers away. So instead they pursued Low Level Emulation (LLE) to great success. LLE audio worked so well, the developers were able to avoid the mess of HLE and more or less just tell users to dump a GameCube/Wii DSP-ROM and use that instead. The problem with that option is performance: LLE audio is incredibly demanding, especially when the DSP is being strained by many sound effects.

This situation finally changed right after Dolphin 3.5 when delroth merged New-AX-HLE-GC, a rewrite of the most common microcode (µcode) for GameCube games, AX-GC. Thousands of bugs disappeared over night and stability increased greatly. While previously there was argument among developers that HLE audio bugs could be ignored because of the option for LLE, as tens of thousands of users finally experienced accurate audio for the first time it became apparent just how important HLE audio truly was. Later in the year, the AX-HLE rewrite was expanded to Wii games in a second cleanup. The ability for users to use HLE audio for most games instead of LLE audio resulted in one of the greatest performance increases in Dolphin's history!

The Non-AX µcode Games

While over 99% of GameCube and Wii titles use the AX µcode, there are a small number of games that use a different µcode. The "Zelda µcode”, named after its exclusive use in Nintendo-created titles, represents only a tiny portion of the total games Dolphin can play; but those games are some of the most popular and interesting games on the GameCube and Wii.

The Zelda µcode games, in release order

Continue reading

You can continue the discussion in the forum thread of this article.

Previous day

Aug. 1, 2015

Next day

Sept. 1, 2015