Dolphin (emulator)

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
Dolphin
64px
Dolphin Emulator 4.0.2.png
Dolphin 4.0.2 running on Windows 8.1
Original author(s) F|RES, ector
Developer(s) Dolphin Team
Initial release 2003; 21 years ago (2003)
Stable release 4.0.2 / November 30, 2013; 10 years ago (2013-11-30)[1]
Development status Active
Written in C++, C, Objective-C++[2]
Operating system Windows XP (up to version 4.0.2)[3]
Windows Vista or later, OS X 10.7 or later, Linux, FreeBSD,[4] Android 5.0 or later
Platform <templatestyles src="Plainlist/styles.css"/>
Size <templatestyles src="Plainlist/styles.css"/>
Available in 29 languages[8]
Type Video game console emulator
License GNU General Public License version 2+[9]
Website dolphin-emu.org

Dolphin is a free and open-source video game console emulator for the Nintendo GameCube, Wii and Triforce that runs on Windows, OS X, Linux, and Android.[10][11][12][13] 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.[14]

Development

Origins (2003–2007)

Dolphin was first released in 2003 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[15] when the developers released the source code publicly on a SVN repository on Google Code under the GPLv2.[16] 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.[17]

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.[18]

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.[19]

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.[citation needed]

On April 12, 2010 Dolphin 2.0 was released.[20][21][22]

3.0 and 3.5 releases

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[vague] 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 Wiimote 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.[according to whom?] 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.[23]

Port to Android and 4.0 release

On April 6, 2013, the emulator team released the first builds for Google's Android mobile operating system.[13][24] 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.[25][26]

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 OS X and Linux builds.[27][28] However, some critical bugs slipped through the release, leading to bugfix releases 4.0.1[29] and 4.0.2.[1]

Drop of legacy technologies (2013–2014)

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."[30]

On May 19, 2014, the Dolphin Team announced that 32-bit support for Microsoft Windows and Linux was being dropped.[3] 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,[25] but ARMv7 support[31] remained for another year until the AArch64 JIT was ready and devices were available.[5]

Post-4.0 developments (2014–present)

Throughout 2014, there was great progress with accuracy in mind, implementing features such as disc loading emulation, native support for GameCube controllers,[32] near perfect audio emulation,[33] and bug fixes for problems present since its earliest days.[34][35][36] MMU improvements allow many games to boot and work properly for the first time.[34] 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.[37]

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.[9]

Features

System requirements
Minimum Recommended
Microsoft Windows[10]
Operating system Windows Vista 64-bit or higher Windows 7 64-bit or higher
CPU x86-64[3] Intel Core i5-4670K or higher
Memory 2 GB RAM or more
Graphics hardware Pixel Shader 3.0, and DirectX 10 or OpenGL 3 support Modern DirectX 11.1 or OpenGL 4.4 GPU
OS X
Operating system OS X Lion 10.7 or higher
Graphics hardware Pixel Shader 4.0 and OpenGL 3 support
Linux
Operating system Any up-to-date Linux distro
Android
Operating system Android 5.0[38]
CPU ARM64[5] or x86-64[3]
Memory 1 GB RAM 2 GB RAM
Graphics hardware OpenGL ES 3 support

Features of Dolphin include the ability start games regardless of region, record tool-assisted speedruns,[39][40][41] and cheating with Action Replay and Gecko codes. Dolphin supports real Wii Remotes via Bluetooth.[42] 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.[43][44]

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.[27][45]

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.[46]

Graphical improvements

Like many other console emulators on PC, Dolphin supports arbitrary resolutions,[47][48][36] whereas the GameCube and Wii only support up to 480p.[19] 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.[49]

Dolphin can load customized texture maps. These can also be of higher resolution than the original textures.[50] 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.[51]

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 don't support it natively.[52]

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.[47][48][15] It has also been praised for the high compatibility across both the GameCube and the Wii, in addition to the Triforce arcade board. It has also received the attention of many websites due to it being the first emulator to properly emulate a seventh generation console.[53]

See also

References

  1. 1.0 1.1 Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. 3.0 3.1 3.2 3.3 3.4 Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. 5.0 5.1 5.2 Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. 9.0 9.1 Lua error in package.lua at line 80: module 'strict' not found.
  10. 10.0 10.1 Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. 13.0 13.1 Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. 15.0 15.1 Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. 19.0 19.1 Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. Lua error in package.lua at line 80: module 'strict' not found.
  24. Lua error in package.lua at line 80: module 'strict' not found.
  25. 25.0 25.1 Lua error in package.lua at line 80: module 'strict' not found.
  26. Lua error in package.lua at line 80: module 'strict' not found.
  27. 27.0 27.1 Lua error in package.lua at line 80: module 'strict' not found.
  28. Lua error in package.lua at line 80: module 'strict' not found.
  29. Lua error in package.lua at line 80: module 'strict' not found.
  30. Lua error in package.lua at line 80: module 'strict' not found.
  31. Lua error in package.lua at line 80: module 'strict' not found.
  32. Lua error in package.lua at line 80: module 'strict' not found.
  33. Lua error in package.lua at line 80: module 'strict' not found.
  34. 34.0 34.1 Lua error in package.lua at line 80: module 'strict' not found.
  35. Lua error in package.lua at line 80: module 'strict' not found.
  36. 36.0 36.1 Lua error in package.lua at line 80: module 'strict' not found.
  37. Lua error in package.lua at line 80: module 'strict' not found.
  38. Lua error in package.lua at line 80: module 'strict' not found.
  39. Lua error in package.lua at line 80: module 'strict' not found.
  40. Lua error in package.lua at line 80: module 'strict' not found.
  41. Lua error in package.lua at line 80: module 'strict' not found.
  42. Lua error in package.lua at line 80: module 'strict' not found.
  43. Lua error in package.lua at line 80: module 'strict' not found.
  44. Lua error in package.lua at line 80: module 'strict' not found.
  45. Lua error in package.lua at line 80: module 'strict' not found.
  46. Lua error in package.lua at line 80: module 'strict' not found.
  47. 47.0 47.1 Lua error in package.lua at line 80: module 'strict' not found.
  48. 48.0 48.1 Lua error in package.lua at line 80: module 'strict' not found.
  49. Lua error in package.lua at line 80: module 'strict' not found.
  50. Lua error in package.lua at line 80: module 'strict' not found.
  51. Lua error in package.lua at line 80: module 'strict' not found.
  52. Lua error in package.lua at line 80: module 'strict' not found.
  53. Lua error in package.lua at line 80: module 'strict' not found.

External links