标签存档:bugfix

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

继续阅读

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

Dolphin Progress Report: July 2015


Since the release of Dolphin 4.0, things have advanced quite a bit. With compatibility rising to their highest levels yet alongside features that seemed impossible and extravagant, users have been asking about the next stable for almost a year now. For previous releases, including Dolphin 4.0, the staff mostly ceased work on new features while crashes and regressions were addressed. In the case of working toward Dolphin 5.0; there were just too many interesting and exciting features on the way to risk stalling out by asking developers to wait. So a release was delayed indefinitely.

So in mid-June, we decided to do things a little differently. Instead of slowing Dolphin down for a release, at 4.0-6727 we forked Dolphin into two branches. The development branch has continued forward as usual with all the bells and whistles without worrying about impeding the next release. Meanwhile, all commits relating to crashes, regressions, and other important fixes would not only be merged to master, but also to stable. This allowed the developers to continue developing the latest and greatest features, while still preparing a stable successor to Dolphin 4.0.

Today, we're happy to announce the first release candidate for Dolphin 5.0! Dolphin 5.0-RC is now on our Downloads page. These builds need to be heavily tested and any bugs; crashes or regressions found in Release Candidate builds should be tagged [RC] when reported to the issue tracker. While we will be switching issue trackers later this month, we intend to transfer all issues to a new tracker to make sure the hard work of our users throughout the years doesn't disappear.

Any future release candidates will be below the development builds on the download's page.

As to be expected until Dolphin 5.0 is complete, any non-essential crash fixes and features from this point forward will not be in the final release. For the latest and greatest features, the development builds are still your best option, and the Progress Report will keep on reporting what's new. With that, please enjoy this month's notable changes!

继续阅读

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

Dolphin Progress Report: June 2015


As the twilight of the Dolphin 4.0 era approaches, code cleanup and regression hunting have become a high priority, fixing the serious and minor issues that have cropped up over the past year and a half that remain unaddressed. From remedial problems such as INI issues to Real Wiimotes issues on OS X, a lot of those important minor issues have been tackled. As if that wasn't enough, there are still exciting developments within several core features to keep users satiated in this month's Progress Report.

继续阅读

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

Dolphin Progress Report: May 2015


After a slow April month, a chaotic May more than makes up for it. On top of working on an emulator, developers had their hands full with relicensing. It's always a good month when you can look back at the issues that were fixed and go "phew," hoping to never, ever encounter anything like that ever again.

A wide variety of issues, features and enhancements saw important updates this month that increase playability and make the emulator more robust. Please enjoy this month's progress report!

继续阅读

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

Dolphin Progress Report: April 2015


On the one year anniversary of the Dolphin Progress Report, we have a fairly slow month in terms of emulation development. While there are certainly some big things on the horizon, unfortunately development managed to hit one of the gaps where there were mostly some fix-ups and optimizations this month with only a few changes that users will notice.

With that, let's take a look at this month's notable changes.

继续阅读

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

Dolphin Progress Report: March 2015

Progressreportheader-March2015.jpg


Console add-ons and linking emulation are almost always difficult tasks. Worse yet, availability, software support, cost, and even popularity can limit the ability to get these hardware add-ons documented and emulated. While their are numerous examples spanning tons of consoles and their respective emulators, this month, we're talking about GameCube to Game Boy Advance Connectivity.

Timings and synchronization are a given on real hardware; games know how it's going to work and many expect it to always work perfectly. When it doesn't? Certain games break. Now imagine a synchronization task more complex than dualcore and netplay. That would be GBA to GCN connectivity.

When skidau took up the task of renovating Dolphin's connectivity to Visual Boy Advance-M, he knew that it would require not only work on the Dolphin side of things, but also VBA-M. Getting two completely different emulators to sync up (up to 5 instances!) and play nice was the heart of the issue. Months of prototype builds (over 60 total!) between Dolphin and VBA-M were tested and the best possible combination was chosen for high compatibility and reasonable performance. The result is Dolphin (and VBA-M) finally getting a taste of what this feature was like on console.

That, and much more, is featured in this month's progress report!

继续阅读

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

Dolphin Progress Report: February 2015

Progressreportheader-February2015.jpg


One of the topics of talk that have been hitting up message boards and social media is that of when the next official Dolphin release is coming up. So much has happened in the past year that it's kind of crazy. Huge speedups that hit the core of the emulator, crazy accuracy improvements, hundreds of games with higher compatibility ratings and much more. Most people by default recommend the latest development builds over Dolphin 4.0.2.

But a release build is about more than the latest and greatest features. It's about putting the absolute best you have in terms of stability and usability as well. Yes, the latest development builds are fast, they're accurate, but they also have loads of issues that need to be taken care of before a release can even be considered. The fact of the matter is that a lot of people still use our older releases, and we don't want another case where a release has huge, advertised features broken. Dolphin 4.0 was a lesson that we'd rather be safe than sorry and have to release multiple hotfix builds shortly after a much anticipated release.

We understand that everyone is eager for the next official version, but when there are so many known critical issues on the tracker and others still getting discovered, it's just not the right time for release. While a lot of the issues have owners, due to the volunteer nature of the project, many of the problems aren't currently being worked on. For a lot of the issues, a little time and expertise may be enough to narrow down and fix release critical issues. For our users? Keep finding mistakes in the emulator and making developers aware. Especially when there are so many new features being added.

With that in mind, let's get to a more fun topic; February's Notable Changes!

继续阅读

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

Dolphin Progress Report: January 2015

Progressreportheader-January2015.jpg


Let's kick off the new year with a bang! January will finally let Dolphin answer the question that gets asked every progress report: "Does Rogue Squadron work yet?"


Rogue Squadron II: Rogue Leader in 1080p 60 fps with Dolphin


Thanks to a ton of work from the staff, tons of testing from the forum users, hardware tests, newcomers and veteran's alike, Star Wars Rogue Squadron II: Rogue Leader and Star Wars Rogue Squadron III: Rebel Strike are both playable and completable in Dolphin at long last.

Considering just how many big merges were changed and how much work was done that may not even be the biggest news of the month. So hold tight, and please enjoy this month's Notable Changes!

继续阅读

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

Dolphin Progress Report: December 2014

Progressreportheader-December2014.jpg


The Dolphin Progress Report is not only about featuring high impact changes, but also smaller changes that do interesting things, changes with interesting stories behind them and more. This month has a ton of everything to offer. Dolphin is graced with a new graphical enhancement that will have games popping right out of the screen, a new way to accurately use native controllers, more MMU optimizations, graphics fixes, and even a few other surprises sprinkled in. Some of these changes made us regret running the Best Of blog entries mid-month; as they would have been shoe-ins to be featured!

With that, let's say goodbye to 2014 with a bang and take a look at some of the biggest changes that hit the emulator in December!

继续阅读

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

Dolphin Progress Report: October 2014

Progressreportheader-October2014.jpg


A single merger can represent days, months, or even years of work. Most of the commits are relatively small, but once in a while you get absolutely huge changes like Tev_Fixes_New or the GLSL rewrite that span across years between initial concept and merged code. There's a special sense of accomplishment when one of the long awaited changes finally show up in the emulator. The number of commits and the amount of code changed; neither of those indicators often tell of the trials faced by the contributor over the course of their journey.

And don't think that just because the code is merged that things are finished. Part of the purpose of having progress report is to put a spotlight on some of the latest and greatest changes. The users are the last line of defense against potential bugs, problems, and unintended consequences that often come with new features.


All of the latest features mentioned this month can be found in the latest development builds available here.


继续阅读

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