Dolphin Progress Report: August 2014

progressreportheader-august2014.jpg


This month, the story can't be anything else but CPU optimizations and fixes, after Fiora decided that if the code is in the JIT, she will make it faster. Nothing is safe from her. Since the end of July, Dolphin's JIT CPU core has seen a 26% performance boost in the Dolphin Benchmark. That is not a typo.

On the accuracy front, we've got some nifty changes that fix bugs going back to the beginning of time for Dolphin. Some ancient audio bugs bite the dust, some floating-point accuracy are ported into the JIT from the SoftwareFP branch, and we found out that some games are doing things they really shouldn't be doing. If you see a change that affects a game you're playing, remember that all of these changes can be found in the latest development builds!

Continue reading

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

Hardware Review: Mayflash DolphinBar

dolphinbar-header.jpg


When we first heard about the Mayflash DolphinBar, we were immediately intrigued. Hardware that complements emulators has always existed in some form, like the various controller adapters we commonly use, but never has one benefited an emulator quite this directly. A USB sensor bar, with integrated Bluetooth? A fascinating opportunity! The devs immediately purchased one and sent it to a tester for analysis.

Continue reading

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

Dolphin Progress Report: July 2014

Progressreportheader-July2014


In programming users usually don't see or care about what's going on on the inside all that much. All those boring code optimizations may make things easier for the developers and slowly improve the emulator, but hard-to-quantify changes are not exactly exciting. This month was full of those, with several hundred changes yet very little the general user would find interesting. Nevertheless, in the sea of code improvement, there are some real treasures: big performance improvements, some ancient bugs squashed, regression fixes, and some exciting new features to boot.


Continue reading

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

Dolphin Progress Report: June 2014

Progressreportheader-June2014


When an open source project is really working, things can move frighteningly fast. One developer can focus on a feature while others are reviewing the code and preparing it for merge, allowing things to move forward in a very streamlined fashion. This not only gets things done faster, but each coder can specialize in what they do best, producing the best possible product for the user base.

When things come together just right, months like this can happen. The June Progress Report is a massive monument to months of hard work put together by not one, but all of the people contributing to the project.


Continue reading

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

Dolphin Progress Report: May 2014

Progressreportheader-may2014.jpg


The single greatest mission of an emulator is the preservation of a console and its games. The Dolphin team has made a commitment to that, especially over the past two years. After nearly a decade of guesswork, hacks, and "good enough" emulation, the developers took a stand to strive for something greater. This change in goals has forced difficult decisions had to be made again and again.

This past month has been one filled with the benefits of working with an accuracy oriented mindset. Not only were there tons of fixes for popular games, but with those fixes also came increases to performance for those who wish to enjoy the Dolphin experience. This is why we keep trudging toward true accurate emulation, even when it means leaving some things behind.


Continue reading

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

Obituary for 32-bit

obituary-header.jpg

Ten years ago Dolphin was a very limited program designed to run in only one environment. It was a 32-bit Windows application that required Direct3D 9 with no alternatives. A lot of things have changed since then as Dolphin has expanded its goals. The emulator has become much more robust over time with support added for 64-bit Windows, Linux, Mac OS X, FreeBSD, and even Android phones and tablets!

Sometimes though, changes must be made. Some choices require months of preparation, discussion, examination, while others are ...

Continue reading

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

Dolphin Progress Report: March and April 2014

Progressreportheader-april2014.jpg

The development cycle for Dolphin is a fairly weird and largely inconsistent process to those peering in from the outside. There are gigantic leaps with huge merges such as the tev_fixes_new merge we recently reported on, but those tend to be the exception. While it is great to have big articles on huge changes, those smaller changes are just as important for the emulator, often adding features and improving the user experience. The Dolphin Progress Report is a monthly update highlighting some of the improvements that keep the emulator moving forward.


Continue reading

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

Pixel Processing Problems: On the Road to Pixel Perfection

The old name was better



The GameCube GPU is a complex, tight-knit piece of hardware with impressive features for its time. It is so powerful and so flexible, it was used unmodified within the Wii architecture. For a comparison, just imagine a SNES running with an NES's graphics system. This is completely unheard of, before or since. The GameCube is a remarkable achievement of hardware engineering! With its impressive capabilities, emulating the GameCube's GPU has been one of the most challenging tasks Dolphin has ever faced.

As well as ...

Continue reading

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

Hacked Up: The Vertex Streaming Hack

Update: There is an issue with the Nvidia drivers that kept buffer storage from being utilized properly on Windows: they do not report the driver version. Since the Linux version of the driver reports its version correctly, the Dolphin devs assumed that the nvidia drivers would report it and used a version check to make sure ARB_buffer_storage was only utilized on drivers that actually support it. Because of this issue, even the latest drivers that support the function failed the version check and Dolphin didn't use buffer_storage on Windows. And thanks to an unrelated bug discovered later, the lack of buffer_storage wasn't detected in the initial testing. As of 4.0-722 the version check was removed and buffer storage is confirmed to be working correctly.

Unfortunately, that version check was there for a reason. Some driver versions tell Dolphin that they support buffer_storage, but actually don't. Any user caught in that situation will encounter a blackscreen. If you do, update your drivers.



One of the constant struggles in modern emulation is the battle between performance and accuracy. Throughout Dolphin's history, developers have added various tricks to get more performance out of computers - one of them being the Vertex Streaming Hack, formerly known as Hacked Buffer Upload. It drastically improves OpenGL performance on Nvidia GPUs. However, as of 4.0-615, the Vertex Streaming Hack has been removed from Dolphin.

Continue reading

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

An Old Problem Meets Its Timely Demise

The Legend of Zelda: The Wind Waker is one of the most popular Gamecube games, if not Nintendo games, in existence. Its mixture of an open world, sharp dungeons, and an inventive art style turned heads more than ten years ago when it was released. Dolphin has had its share of problems with Wind Waker, but none could be so frustrating as its mishandling of the heat distortion.

Continue reading

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

Yearly archives