![]() ![]() The 5ms interrupts weren't guaranteed to happen after 5ms* of CPU time. ![]() The old HLE code was unable to do this properly, thanks to an asynchronous processing method. When the DSP is done running the commands, it loads the mixed sound samples into RAM and sends an interrupt to the CPU to signal that it is done, then the CPU outputs the audio and goes to the next 5ms block. ![]() Each of these blocks contain information like “location of the sound data in memory”, “volume”, “looping or oneshot”, as well as a list of commands for the DSP to run. Every 5ms, the CPU sends the DSP a list of data blocks about sounds to process. The audio processing code runs on the DSP, which is a secondary processor engineered to be fast at auxiliary tasks like audio mixing. To understand this flaw, one must first understand how the GameCube/Wii's DSP operates. The truth was that the original HLE audio implementation handled things in a broken way that could not be reconciled. But that evolution would slow to a crawl in its final years, even as glaring issues such as crashing, hangs, and audio stopping plagued the emulator. With fresh life breathed into Dolphin from the move to open source, DSP-HLE continued to evolve, providing the source of primary audio for the emulator for year after year. By the time Dolphin hit open source, games could play music and sounds, even if things didn't sound exactly right. This HLE audio core continued to evolve along with the rest of the emulator. The original DSP-HLE mostly just played music in games that streamed audio, but was capable of sometimes playing sounds and other music. While not the easiest or most efficient way to work, ector (hrydgard), StapleButter and many others brought the DSP-HLE plugin into Dolphin before the 1.0 releases. As such, they did what any normal person would do and poked it with data and analyzed what it put out. The Beginning of Audio in Dolphin ¶Īs the first GameCube emulator to boot commercial games, there was a time when having any audio emulation was an achievement! The GameCube's Digital Signal Processor (DSP) was effectively a black box to the early developers of Dolphin. While the end result is great, the journey was anything but smooth, filled with uncovered bugs, regressions, controversy and more! Thanks to the help of contributors degasus, booto, skidau, konpie and phire Dolphin has nearly perfect audio emulation. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |