标签存档:audio

Dolphin Progress Report: October 2017

The October Progress Report is here! ...A little late, but, all here in one piece. While on the outside it may have looked like October was a slow month, the blog staff and devs have been busy behind the scenes. A big feature (and blog article) was being worked on right up until the end of the month... and then we realized it wasn't going to be done in time. We shifted gears a bit too late and resulted in a tardy Progress Report. Fortunately, there are still many very important ...

继续阅读

欢迎在本文的论坛主题帖中参与讨论。

Dolphin Progress Report: September 2017

While an emulator's primary job is to emulate, there's usually a lot more that goes into a good emulator. For Dolphin, it may feel like a lot of work has gone toward luxury features and optimizations rather than improving accuracy and compatibility. For example, Ubershaders is a wonderful, game-changing feature, but it can't fix any bugs in emulation. With another of those huge features on the brink, it's important to highlight that no one has forgotten about Dolphin's weaknesses - it's just getting harder to fix them. Most of the games that no longer work in Dolphin either require better timings (which slow emulation and need to be hardware tested,) or rely on undocumented behaviors that have to be painstakingly sought out, rather than stumbled upon.

Case in point, fixing one of those cases could require weeks of devotion and every development tool in our arsenal just to locate the bug. With Red Steel, developers ended up having to reverse engineer why an engine bug affected Dolphin but not the Wii.

继续阅读

欢迎在本文的论坛主题帖中参与讨论。

Dolphin Progress Report: December 2015


Happy New Year! Now for the big news. On January 7th, 2016, we will be entering a full feature freeze in preparation for the Dolphin 5.0. A feature freeze is basically a period where we all devote ourselves to doing testing and fixing regressions to move us toward the Dolphin 5.0 release, and we've had one for every release we've done! During the feature freeze, no new "features" can be added to the emulator, and only bug fixes can be applied to master. Does that mean there won't be blog updates? No! The show must go on, and the Progress Report will monitor the fixes as they come in, plus there will be articles in the interim about the remaining bugs, some of the great features added since Dolphin 4.0, or just some articles that we've been wanting to put up and never have time.

But the feature freeze hasn't started yet! We have a nice full month of updates for you in this month's Progress Report.

继续阅读

欢迎在本文的论坛主题帖中参与讨论。

Hey, Listen! Your Wiimote can speak now!


One of the oldest complaints about Dolphin's Real Wiimote support is that Wiimote audio not only sounds extremely bad, but can outright lag the controls and even cause the Wiimotes to disconnect from your PC. To work around these problems, the developers did the only thing they knew to do; implement "Disable Wiimote Speaker Data." This ended up being one of the most important features for many users to be able to use Real Wiimotes in Dolphin, as dozens of games suffered constant disconnects due to audio issues.


Firing Starbits with Speaker Data Enabled on older builds.


The situation remained unchanged for year after year until just a few days ago, when newcomer Julian Loehr renovated Dolphin's Wiimote handling to take advantage of the improvements within the Windows 8/10 Bluetooth Stack. Not only do -TR Wiimotes work without special hardware, but on all configurations Wiimote Audio started working on those Wiimotes. Further investigation by degasus thanks to a timely regression the very next build brought us something unimaginable: fully working RealWiimote audio!


Real Wiimote Audio Demonstration


继续阅读

欢迎在本文的论坛主题帖中参与讨论。

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

继续阅读

欢迎在本文的论坛主题帖中参与讨论。

The Rise of HLE Audio

hleaudioheader.jpg


Like any artistic medium, games are emotional experiences filled with joy, sadness, frustration, and more. Special moments can bring tears, cause shouting, or even screams. But imagine during one of those emotional highs if the audio simply died, and the game continued onward in a deafening silence before eventually freezing. That kind of marred experience was commonplace under Dolphin's old way of handling HLE audio.

The users of today don't have to face those problems; modern High Level Emulation (HLE) audio is both fast and accurate, mostly matching the conventions and output of its high-accuracy counterpart, Low Level Emulation (LLE) audio. This change in behavior is thanks to the work by delroth and magumagu that corrected the main fundamental flaw that afflicted old HLE audio. Fixing this defect and cleaning up the audio brought a multitude of features and fixes to the emulator that helped bring us into this modern era of speedy accuracy.



继续阅读

欢迎在本文的论坛主题帖中参与讨论。