Difference between revisions of "Dolphin"

From WiiBrew
Jump to navigation Jump to search
m (let's use the actual app's logo mkay)
(made more homebrew-specific and informative)
Line 12: Line 12:
 
'''Dolphin''' emulates the Wii and GameCube consoles, as well as various accessories for and derivatives of said consoles. It runs Wii, GameCube and [http://en.wikipedia.org/wiki/List_of_Sega_arcade_system_boards#Triforce Triforce] software on a x86 or x86_64 PC (Windows, Linux, OS X). As of June 2008 Dolphin's source was released under the GPLv2 license and is under active development.
 
'''Dolphin''' emulates the Wii and GameCube consoles, as well as various accessories for and derivatives of said consoles. It runs Wii, GameCube and [http://en.wikipedia.org/wiki/List_of_Sega_arcade_system_boards#Triforce Triforce] software on a x86 or x86_64 PC (Windows, Linux, OS X). As of June 2008 Dolphin's source was released under the GPLv2 license and is under active development.
  
== Compilation from Source ==
+
== Obtaining a build ==
 +
=== Compilation from Source ===
 
Follow the instructions to build under [http://code.google.com/p/dolphin-emu/wiki/WindowsBuild Windows], [http://code.google.com/p/dolphin-emu/wiki/Linux_dependencies Linux] or [http://code.google.com/p/dolphin-emu/wiki/MacOSX_Build MacOSX].
 
Follow the instructions to build under [http://code.google.com/p/dolphin-emu/wiki/WindowsBuild Windows], [http://code.google.com/p/dolphin-emu/wiki/Linux_dependencies Linux] or [http://code.google.com/p/dolphin-emu/wiki/MacOSX_Build MacOSX].
  
== Use ==
+
=== Recommended third party builds ===
Dolphin is useful to Wii homebrew as it allows developers to test code on a PC before running it on the Wii. However, Dolphin does not support all the features of the Wii and some problems may be experienced running homebrew.
+
The fan-run site [http://www.dolphin-emulator.com dolphin-emulator.com] provides daily [http://www.dolphin-emulator.com/download.html windows builds] from SVN and a [http://www.dolphin-emulator.com/faq.html FAQ] to help users.
  
 +
== Usage with Homebrew ==
 
# Run Dolphin. If you compiled Dolphin, run the appropriate executable located within Binary\''Platform'' directory, where ''Platform'' is win32, linux, etc.
 
# Run Dolphin. If you compiled Dolphin, run the appropriate executable located within Binary\''Platform'' directory, where ''Platform'' is win32, linux, etc.
# Setup the plugins. From the menu, '''Options''' -> '''Configure'''. Select the '''Plugins''' tab
+
# Run your homebrew. From the menu, '''File''' -> '''Open...'''. Select the elf or dol file you would like to run. If successful, a new window will be displayed with the output.
## Set Graphics to a Dolphin graphics plugin. Select 'Dolphin Direct3D9' if on windows and unsure. ( Note : Dolphin OpenGL is '''strongly''' advised )
+
#* Note that you can cause the screen to be rendered to the main Dolphin window with the '''Config'''->'''Display'''->'''Render to main window''' option.
## Set DSP to a Dolphin DSP plugin. Select 'Dolphin DSP-HLE' if on windows and unsure.
 
## Set Pad to a Dolphin pad plugin. Select 'Dolphin KB/X360pad' if on windows and unsure.
 
## Set Wiimote to a Dolphin wiimote plugin. Select 'Dolphin Wiimote' if on windows and unsure.
 
# Run your homebrew. From the menu, '''File''' -> '''Open...'''. Select the Devkitpro compiled .elf or .dol file. If successful, a new window will be displayed with the output.
 
  
== Homebrew Compatibility ==
+
=== General Notes / Disclaimer ===
The following was tested with "gamecube-examples-20081206, Windows XP (32bit), DevkitPro r16, libogc 1.7.1a, Dolphin R2812".
+
* Dolphin is useful to homebrew as it allows developers to test code on a PC before running it on real hardware. However, Dolphin does not support all the features of the Wii and some problems may be experienced running homebrew.
 +
* Dolphin hooks the typical printf functions when it is able to determine their location. If you are running an elf file (with symbols), and cannot see your debug output, this is could be the reason. Either strip your elf, run the dol, or modify dolphin so this HLE does not take place. The other reason could be that you are writing directly to the XFB (libogc's console output does this). In this case, you additionally need to enable the '''Graphics'''->'''Use Real XFB''' setting.
 +
 
 +
=== Compatibility ===
 +
The following was tested with examples from devkitPro svn r4306, running on Windows 7 (64bit), Dolphin svn r6182. Apps run with default settings unless noted otherwise.
 +
These results are provided so that one can quickly realize which options are needed for common tasks - such as using SD support, homebrew text console, etc.
 
{| class="apptable sortable"
 
{| class="apptable sortable"
 
! width="20%" | Title
 
! width="20%" | Title
! Description
+
! Notes
 +
|-
 +
| examples\wii\audio\*
 +
| Do not work.
 +
|-
 +
| examples\wii\devices\network\sockettest
 +
| Does not work. Socket is not setup successfully.
 +
|-
 +
| examples\wii\devices\usbgecko\gdbstub
 +
| "Works". Will run and call _break(), however a usbgecko device is not emulated, so this technique is useless. There are better ways to accomplish similar functionality with dolphin.
 +
|-
 +
| examples\wii\devices\usbkeyboard\basic_stdin
 +
| Works correctly. Requires '''Graphics'''->'''Use Real XFB''' to be enabled. Requires '''Config'''->'''Wii'''->'''Connect USB Keyboard''' to be enabled.
 +
|-
 +
| examples\wii\filesystem\directory
 +
| Works correctly. Requires '''Graphics'''->'''Use Real XFB''' to be enabled. Requires '''Config'''->'''Wii'''->'''Insert SD Card''' to be enabled.
 
|-
 
|-
| examples neheGx\Lesson1-5
+
| examples\wii\graphics\gx\gxSprites
 
| Works correctly.
 
| Works correctly.
 
|-
 
|-
| examples template
+
| examples\wii\graphics\gx\neheGX\lesson1-7
| Fails. Only a blank screen is displayed and no hello world text.
+
| Work correctly.
 +
|-
 +
| examples\wii\graphics\gx\neheGX\lesson8
 +
| Texturing is broken.
 +
|-
 +
| examples\wii\graphics\gx\triangle
 +
| Works correctly.
 
|-
 
|-
| examples gxSprites
+
| examples\wii\template
| Fails. Only a blank screen is displayed
+
| Works correctly. Requires '''Graphics'''->'''Use Real XFB''' to be enabled.
 
|}
 
|}
  
== Links ==
 
 
The fan-run site [http://www.dolphin-emulator.com dolphin-emulator.com] provides daily [http://www.dolphin-emulator.com/download.html windows builds] from SVN and a [http://www.dolphin-emulator.com/faq.html FAQ] to help users.
 
  
 
==  Screenshot ==
 
==  Screenshot ==

Revision as of 08:09, 6 September 2010

Dolphin
Dolphin logo.png
General
Author(s)GoogleCode Contributors
TypePC utility
Links
Download
Website
Source


Dolphin emulates the Wii and GameCube consoles, as well as various accessories for and derivatives of said consoles. It runs Wii, GameCube and Triforce software on a x86 or x86_64 PC (Windows, Linux, OS X). As of June 2008 Dolphin's source was released under the GPLv2 license and is under active development.

Obtaining a build

Compilation from Source

Follow the instructions to build under Windows, Linux or MacOSX.

Recommended third party builds

The fan-run site dolphin-emulator.com provides daily windows builds from SVN and a FAQ to help users.

Usage with Homebrew

  1. Run Dolphin. If you compiled Dolphin, run the appropriate executable located within Binary\Platform directory, where Platform is win32, linux, etc.
  2. Run your homebrew. From the menu, File -> Open.... Select the elf or dol file you would like to run. If successful, a new window will be displayed with the output.
    • Note that you can cause the screen to be rendered to the main Dolphin window with the Config->Display->Render to main window option.

General Notes / Disclaimer

  • Dolphin is useful to homebrew as it allows developers to test code on a PC before running it on real hardware. However, Dolphin does not support all the features of the Wii and some problems may be experienced running homebrew.
  • Dolphin hooks the typical printf functions when it is able to determine their location. If you are running an elf file (with symbols), and cannot see your debug output, this is could be the reason. Either strip your elf, run the dol, or modify dolphin so this HLE does not take place. The other reason could be that you are writing directly to the XFB (libogc's console output does this). In this case, you additionally need to enable the Graphics->Use Real XFB setting.

Compatibility

The following was tested with examples from devkitPro svn r4306, running on Windows 7 (64bit), Dolphin svn r6182. Apps run with default settings unless noted otherwise. These results are provided so that one can quickly realize which options are needed for common tasks - such as using SD support, homebrew text console, etc.

Title Notes
examples\wii\audio\* Do not work.
examples\wii\devices\network\sockettest Does not work. Socket is not setup successfully.
examples\wii\devices\usbgecko\gdbstub "Works". Will run and call _break(), however a usbgecko device is not emulated, so this technique is useless. There are better ways to accomplish similar functionality with dolphin.
examples\wii\devices\usbkeyboard\basic_stdin Works correctly. Requires Graphics->Use Real XFB to be enabled. Requires Config->Wii->Connect USB Keyboard to be enabled.
examples\wii\filesystem\directory Works correctly. Requires Graphics->Use Real XFB to be enabled. Requires Config->Wii->Insert SD Card to be enabled.
examples\wii\graphics\gx\gxSprites Works correctly.
examples\wii\graphics\gx\neheGX\lesson1-7 Work correctly.
examples\wii\graphics\gx\neheGX\lesson8 Texturing is broken.
examples\wii\graphics\gx\triangle Works correctly.
examples\wii\template Works correctly. Requires Graphics->Use Real XFB to be enabled.


Screenshot