Kalpana Kalpana (Editor)

Dolphin (emulator)

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Original author(s)
  
F|RES, ector

Development status
  
Active

Developer(s)
  
Dolphin Team

Written in
  
C++, C, Objective-C++

Dolphin (emulator)

Initial release
  
September 22, 2003; 13 years ago (2003-09-22)

Stable release
  
5.0 / June 24, 2016; 8 months ago (2016-06-24)

Dolphin is a free and open-source video game console emulator for the GameCube and Wii that runs on Windows, Linux, macOS, and Android. It was the first emulator to successfully run commercial GameCube games, and is the only emulator capable of running commercial Wii games. Its name refers to the development code name for the GameCube.

Contents

Origins (2003–2007)

Dolphin was first released in September 2003 by programmers Henrik Rydgård (ector) and F|RES as an experimental Nintendo GameCube emulator that could boot up and run commercial games. Audio was not yet emulated, and there were performance issues. Many games crashed on start up or barely ran at all; average speed was from 2 to 20 frames per second (FPS).

Dolphin was officially discontinued in 2004, with the developers releasing version 1.01 as the final version of the emulator. The developers decided to revive the project in 2005 and then in 2007 version 1.03 was released with minor improvements and basic sound support.

Open source, Wii emulation, and 2.0 release (2008–2010)

Dolphin became an open-source project on July 13, 2008 when the developers released the source code publicly on a SVN repository on Google Code under the GPLv2. At this point, the emulator had basic Wii emulation implemented. Upon its open sourcing, various developers were attracted, and development on the emulator has been continuous since, with regular releases of SVN builds. These preview builds and unofficial SVN builds were released with their revision number (e.g., RXXXX) rather than version numbers (e.g., 1.03). As with previous builds, differences between consecutive builds are typically minor.

Dolphin's Wii emulation reached a milestone in February 2009 when it successfully booted and ran the official Wii System Menu v1.0. Shortly after, almost all versions of the Wii OS became bootable.

By April 2009, most commercial games, GameCube and Wii alike, could be fully played albeit with a few minor problems and errors, with a large number of games running with virtually no defect. Improvements to the emulator had allowed users to play select games at full speed for the first time, audio had dramatically improved, and the graphics capabilities were fairly consistent except for a few minor problems.

By late October 2009, new features were incorporated into the emulator such as automatic frame-skipping, which increased the performance of the emulator as well as increased stability of the emulator overall. Also improved was the NetPlay feature of the emulator, which allowed players to play multiplayer GameCube and Wii games online with friends, as long as the game does not require a Wii remote. The GUI was reworked to make it more user-friendly. The DirectX plug-in also received further work.

On April 12, 2010 Dolphin 2.0 was released.

3.0 and 3.5 releases (2010–2012)

By the end of November 2010, the developers fixed most of the sound issues (such as crackling), added compatibility with more games, and increased the overall emulation speed and accuracy.

In June 2011, version 3.0 was released and the emulator reached its final stages of development. Strange user interface behavior, crashes, graphical glitches and other problems were fixed. For example, many games which did not boot at all in Dolphin, now work. The configuration dialogs were restructured to ease Dolphin usage for new users. The video configuration dialog received a complete overhaul and features a description panel for each option. Various features were added including support for the Wii Remote speaker, EFB format change emulation, graphics debugger, audio dumping, and many others. Because of numerous fixes to the LLE emulator engine, audio emulation in Dolphin is close to perfect now (provided that one has the necessary DSP dumps). The developers also added a Direct3D 11 video back-end and an XAudio2 audio back-end. The 2.0 release already had seen the introduction of plugin rewrites; the new plugins have been brought to feature parity and were replaced so well, that it was decided to merge all plugins into the Core. Further improvements are better suited as additions in the current infrastructure since this architecture allows for a better integration with the other parts of Dolphin. A set of eight translations (Arabic, Brazilian Portuguese, French, Greek, Hungarian, Portuguese, Spanish, Turkish) is also included with Dolphin 3.0. There have been some performance optimizations (especially in the texture decoder), but generally speaking, performance decreased in favor of more accurate hardware emulation.

On December 25, 2012 version 3.5 was released, featuring improved accessory support, a FreeBSD port, and emulation fixes.

Port to Android and 4.0 release (2013)

On April 6, 2013, the emulator team released the first builds for Google's Android mobile operating system. As of September 2013, only a handful of devices have the hardware to support OpenGL ES 3.0, with Google officially supporting the standard in software since July 2013 with the introduction of Android 4.3 Jelly Bean. Games run at an average of 1 FPS. The developer has cited the Samsung Galaxy S4 as one of the first phones capable of playing games at higher speeds, but even it will have considerable speed limitations.

On September 22, 2013, version 4.0 was released, featuring back-end improvements to OpenGL rendering and OpenAL audio, broader controller support, networking enhancements, and performance tweaks for macOS and Linux builds. However, some critical bugs slipped through the release, leading to bugfix releases 4.0.1 and 4.0.2.

Drop of legacy technologies, accuracy improvements, and 5.0 release (2013–2016)

In October 12, 2013 (4.0-155), Direct3D 9 support was removed from the project, leaving Direct3D 11 and OpenGL as the two remaining video back-ends. The Dolphin Team stated that "D3D9 is inherently flawed, and working around its problems wasted time and slowed development."

On May 19, 2014, the Dolphin Team announced that 32-bit support for Microsoft Windows and Linux was being dropped. The Dolphin Team stated that it was becoming increasingly difficult to maintain the 32-bit builds, and that the 32-bit releases simply offered an inferior experience compared to their 64-bit counterparts. Furthermore, the vast majority of their users were already using 64-bit CPUs, and most users of 32-bit builds were 64-bit compatible yet were using 32-bit by mistake. The combination of these factors made 32-bit support unnecessary. 32-bit Android builds suffered from similar issues, but ARMv7 support remained for another year until the AArch64 JIT was ready and devices were available.

Throughout 2014, there was great progress with accuracy in mind, implementing features such as disc loading emulation, native support for GameCube controllers, near perfect audio emulation, and bug fixes for problems present since its earliest days. Memory management unit (MMU) improvements allow many games to boot and work properly for the first time. Development on Android devices has also been promising; as of December 2014, Dolphin can run on its most powerful devices, such as those using Nvidia Tegra processors, albeit with some difficulty.

In coordination with the developers of the VBA-M Game Boy Advance emulator, support for linking GameCube and Game Boy Advance titles landed in March 2015.

On May 25, 2015 – the Dolphin project announced that they successfully re-licensed the code base from "GPLv2 only" to "GPLv2 or any later" to improve license compatibility with other FOSS projects to be able to share and exchange code with them.

During December 2015 the Dolphin project fixed some audio issues on TR Wii Remotes.

On June 24, 2016, version 5.0 was released, featuring various fixes and additions.

Post-5.0 developments (ongoing)

In September 2016, Dolphin's developers announced the emulator was now able to boot all official GameCube titles. The last title to be supported for boot-up, Star Wars: The Clone Wars, had been particularly difficult to emulate due to the game's use of the memory management unit. Also they announced that they removed Triforce emulation, because of no maintenance in the Triforce emulation's code.

Features

Features of Dolphin include the ability start games regardless of region, record tool-assisted speedruns, and cheating with Action Replay and Gecko codes. Dolphin supports real Wii Remotes via Bluetooth. Its expansions, such as MotionPlus adapter, Nunchuk, Classic controller, Guitar, Drums, and Turntable, are also supported.

Dolphin allows to map functions of the original GameCube controllers and Wii Remotes – with or without expansions – to PC controllers.

Two kinds of network play are supported by Dolphin: Emulated local multiplayer and Nintendo Wi-Fi Connection. The first only works among Dolphin users. It applies to games that by default have no online option.

The second kind is for online gameplay for WFC supported Wii games with other Dolphin users as well as real Wii users.

Game progress can be saved on virtual GameCube Memory Cards, emulated Wii flash memory, and save states. Dolphin features a Memory Card Manager which allows transfer of save files to and from virtual GameCube memory cards.

In conjunction with the VBA-M Game Boy Advance emulator, Dolphin supports linking GameCube and Game Boy Advance titles.

Graphical improvements

Like many other console emulators on PC, Dolphin supports arbitrary resolutions, whereas the GameCube and Wii only support up to 480p. The ability for high resolution graphics has been widely lauded by the gaming community and has received features on numerous gaming networks, as the emulator has surpassed the limits of the original console.

Dolphin can load customized texture maps. These can also be of higher resolution than the original textures. The emulator also has ability to export a game’s textures in order that graphic artists can modify them.

Dolphin can output stereoscopic 3D graphics on any platform Dolphin runs. Special hardware such as Nvidia 3D Vision is also supported. The ability to play games in stereoscopic 3D is a feature the original consoles never had.

Additional features to further enhance the graphics quality are also available. Dolphin supports spatial anti-aliasing, anisotropic filtering, post-processing pixel shaders, and a widescreen hack for forcing widescreen output on games that do not support it natively.

Reception

Dolphin has received widespread critical acclaim from various independent gaming sites. PC Gamer, Eurogamer, and 1UP.com commended the ability to play games in high-definition. It has also been praised for the high compatibility across both the GameCube and the Wii. It has also received the attention of many websites due to it being the first emulator to properly emulate a seventh generation console.

References

Dolphin (emulator) Wikipedia