Dolphin Manual

THIS IS A WORK IN PROGRESS POST THIS FOR PUBLIC CONSUMPTION AND I WILL FIND YOU AND STRANGLE YOU! - Your friendly neighborhood wiki editor, MaJoR

This is an early version of the new Dolphin Manual, the revised port and completion of the manual Shonumi has created. The plan is to create a guide here that can be easily ported into a PDF document to be included in the 4.0 release. That way, the wiki can just cater to the latest development version, and the official release will have its own manual available for everyone that we don't have to maintain. Then, at every new release, we just polish this guide up and we have another PDF guide.

See the talk page for notes and a TODO list, or to talk about it. This is a huge undertaking, so please give any advice you may have.

= Getting Started =

Operating System
Dolphin will work on Windows, Linux, and OS X environments. For Windows, anything from XP and up will handle the emulator, preferably a 64bit version (post Vista). For OS X, anything from Lion (10.7) and up will do the job. Given the sheer number of available Linux distros, Linux users cannot rely on a specific minimum version of their OS. For the best results, the distro's packages, libraries, and kernel should be relatively up-to-date.

Hardware
The bare minimum for Dolphin to work is the following. All modern systems should have these specifications.
 * A CPU that supports SSE2
 * A GPU that supports Pixel Shader 3.0 for D3D9 and D3D11, or OGL3 for OpenGL
 * 2GB of Ram

Satisfying these requirements does not necessarily mean Dolphin will run smoothly. The nature of emulation is that some games are more demanding than others. “Light” games do not take much power to run, for example Crazy Taxi. “Demanding” games need a very strong machine that may have to be overclocked, for example The Last Story or Metroid Prime. Consequently, GameCube games are not necessarily any easier to run than Wii games.

Users should ask questions about their hardware on the Dolphin forums or check the Dolphin Wiki to see the results other systems had for specific games.

Additional Software
Windows users must install the Microsoft Visual C++ 2010 Redistributable (SP1) and the DirectX End-User Runtime. The Microsoft Visual C++ 2010 Redistributable comes in 32-bit and 64-bit versions; choose according to your operating system. Generally for any OS, keeping drivers up-to-date is the best practice.

Linux users have more extensive software requirements (see Section 2.1).

Games
Users “dump” or “rip” their Gamecube and Wii discs to get an exact 1:1 copy of the game data. The best method is to use homebrew software on a hacked Wii. For more information, see Ripping Game Discs.

Obtaining the Dolphin Emulator
For users of Windows, OS X, and Ubuntu, the main Dolphin website provides both the latest builds and the last stable release online at http://www.dolphin-emu.org/download. Windows users must choose between x86 (32-bit) and x64 (64-bit) versions according to their operating system.

Please note that the developmental versions of Dolphin represent the very latest work added to the emulator. Every time a developer commits changes to Dolphin, a build-bot automatically compiles the source code. While these versions provide the most recent improvements, they may not always be stable.

Non-Ubuntu Linux users have to compile the source code themselves or rely on the repositories set up for their specific distros in order to obtain Dolphin. See Building Dolphin on Linux for instructions.

Starting Dolphin
Windows: Windows builds come in archives in the 7z format, so an appropriate program such as 7-zip or PeaZip is necessary to extract it. Users need only extract the archive and double-click on the Dolphin.exe file to launch the emulator. Opening the emulator while it is in the archive will lead to errors.

OS X: All OS X builds come as .dmg files for easy installation: users need only double-click the .dmg file to open it, and click on the Dolphin icon to launch it. Drag the Dolphin icon to the Applications folder to install in on the system.

Linux: After compiling and installing Dolphin, Linux users will need to see where Dolphin placed itself depending on the desktop environment and launch it from the correct menu. Alternatively, Dolphin will run when invoking the dolphin-emu command from a terminal.

Below is a screenshot of what Dolphin looks like when run (after adding some games, see Section 2.3) and a basic description of the interface:

BIG PICTURE HEEEEEERE

Title Bar: Shows program name and Dolphin version.

Menus: Contains entries like File, Emulation, and Options. Provide access to nearly all of Dolphin's options through drop-down menus.

Toolbars: Contains buttons like Open, Play, and Config. Provide quick access to commonly changed options with one-click

Banners: Small graphical icons depicting game logos. Allows users to easily identify games at a glance. Small graphics to the left show which system the game comes from.

Title: The official name of the game.

Notes: Short pieces of text that may describe the game or the developer. Flags to the right show which region (NTSC-U, NTSC-J, PAL) the game comes from.

Size: Approximate size of the game file.

State: A scale using 5 stars that describes how well the game runs in Dolphin. The scale goes as follows:


 * 0: Unknown – Has not been tested yet.


 * 1: Broken – Crashes when booting.


 * 2: Intro/Menu – Hangs/crashes somewhere between booting and starting.


 * 3: Starts – Starts, maybe even plays well, but crashes or major graphical/audio glitches.


 * 4: Playable – Runs well, only minor graphical or audio glitches. Games can be played all the way through


 * 5: Perfect – No issues at all.

Status Bar: Very bottom of Dolphin's screen, reserved for small message such as when a real or emulated Wiimote has been connected, FPS, VPS, and game speed.

Adding Games
When users first run Dolphin, the program will not see their games. It will display the following message in the game list: “No ISOs or WADs found. Dolphin could not find any GC/Wii ISOs. Doubleclick here to browse for files...” Users can add game directories in several ways:


 * Double-click the above message to open up a file browser to select the directory containing the games.
 * Click the Browse button in the Toolbar.
 * Go to the Menu and select File -> Browse for ISOs...
 * Go to the Menu, select Options -> Configure, click the Paths tab, and click the Add button. (see Section 3.6 for more details).

Dolphin will recognize .iso, .wad, .gcz, .gcm, .wbfs, .dol and .elf, files as games. Users can add as many directories as they want. Once the directory has been added to Dolphin, the emulator will check those directories every time it launches and automatically add new games to the list. If the user adds games to a directory while Dolphin is running, the list can manually updated by:


 * Press the Refresh button in the Toolbar
 * Go to the Menu and select File -> Refresh List

Starting, Stopping, and Resetting Games
To launch a game, choose from one of the following actions:


 * Double-click on a listed game.
 * Select a listed game with a single-click and press the Play button in the Toolbar or the F10 key
 * Go to the Menu, select File -> Open and then browse to the game's file. Note, this can play games that are not listed.
 * Select a listed game with a single-click, go to the Menu, and select Emulation -> Play.

To stop a running game, choose from one of the following actions:


 * Click the Stop button in the Toolbar
 * Press the Escape key

To pause a running game instead of completely stopping it, choose from one of the following actions:


 * Click the Pause button in the Toolbar
 * Press the F10 key

To reset a running game go to the Menu and select Emulation -> Reset. Dolphin by default does not have a hotkey for this action, however users can specify their own by editing the hotkeys (see Section 3.2 for more details).

= Configuration =

General Options
This sections deals with general configuration options that don't particularly belong to any specific category. To access these settings:


 * Click on the Config button in the Toolbar and go to the General tab.
 * Go to the Menu, select Options -> Configure …, and go to the General tab.

INSERT PHOTO HERE

Enable Dual Core: Allows Dolphin to use two separate threads to emulate the GC/Wii CPU and GPU instead of one. This option dramatically increases speed and allows Dolphin to use two cores on a CPU. Although it may rarely cause crashes in a limited number of games, it is highly recommended to have this option enabled.

Enable Idle Skipping: Allows Dolphin's emulated CPU to skip idling. Since this option provides a reasonable speedup, it is recommended to have it enabled.

Enable Cheats: Allows Dolphin to use Action Replay or Gecko codes. Without this option enabled, cheats cannot run on any game.

Framelimit: Forcibly limit the amount of frames rendered per second. The available values are as follows:


 * Off – Disables framelimiting altogether. Runs the game as fast as possible. Useful for benchmarking.
 * Auto – Let the game decide the framelimit for Dolphin.
 * Audio – Limit the framelimit based on the audio speed, also known as audio throttling.
 * 10, 15, 20, 25 … 120 – Set the framelimit to a specifc number between 10 and 120 in increments of 5.

Most games will run fine with Auto or Audio, however, some games may require a specific value.

Limit by FPS: If enabled, framelimit will measure using actual frames rendered per second. If disabled, framelimit will measure using the amount of frame render requests the Dolphin's emulated CPU sends to the emulated GPU. Disabling this option may give more accurate emulation, however, users may not notice a difference.

CPU Emulator Engine: Determines how Dolphin will emulate the Gamecube/Wii CPU. The available values are as follows:


 * Interpreter – Execute native Gamecube/Wii PowerPC code using equivalent functions in C++. This option is the slowest and requires the most hardware resources, therefore it is not recommended. Some games will only play when run through the interpreter, however.


 * JIT (Just-In-Time) Recompiler – Actively recompiles native Gamecube/Wii PowerPC code into x86/x64 assembly for execution. This runs significantly faster than the interpreter. Due to its stability and speed, the JIT recompiler is the recommended option. In comparison to the JITIL recompiler, it may be faster on 64-bit systems.


 * JITIL (Just-In-Time-Intermediate-Language) Recompiler – Actively recompiles native Gamecube/Wii PowerPC code into an intermediate language, and then into x86/x64 assembly for execution. This option is still experimental in the latest Dolphin builds. In comparison to the JIT recompiler, it may be faster on 32-bit systems.

Force Console as NTSC-J: Forcibly set the region of the emulated GC/Wii to NTSC-J. Used to display the Japanese ROM font. When unchecked, the default region is NTSC-U but will switch automatically to NTSC-J when booting a game from that region.

Interface Options
Interface options change the look and feel of Dolphin as well how users interact with the GUI. To access these settings:


 * Click on the Config button in the Toolbar and go to the Interface tab.
 * Go to the Menu, select Options -> Configure …, and go to the Interface tab.

INSERT PHOTO HERE

Confirm on Stop: Before stopping a game, Dolphin will display a dialog box asking if the user truly wants to stop the game when this setting is enabled.

Use Panic Handlers: Lets Dolphin alert users of potentially serious problems. Turning this off may avoid getting constant message boxes, but Dolphin may also crash without warning.

Theme: Choose different themes that alter the look of Dolphin, chiefly the Toolbar and other icons. Themes are customizable, see Secton X.X for information about adding and using new themes.

On-Screen Display Messages: Enable Dolphin to show various on-screen messages for events such as loading or saving games.

Language: Choose the language that the Dolphin emulator will use for the GUI. Note this does not affect available languages when playing games.  uses whatever the host OS specifies.

Hotkeys: Setup hotkeys that quickly execute functions in Dolphin. Note that hotkeys currently do not work with joysticks or with anything other than keyboard input. Clicking the Hotkeys button leads to the following configuration screens:

INSERT PHOTO HERE

INSERT PHOTO HERE

Dolphin has two tabs for hotkey configuration, General and State Saves. The first group of hotkeys deals with common functions in Dolphin such as starting a game or taking a screenshot. The second group deals exclusively with saving and loading save states (see Section 5.1 for more details). To edit a hotkey, simply click the button next to the hotkey's name. Dolphin will wait for 3 seconds for any input. If the user enters no input then the hotkey's value will remain unchanged. The Enter key clears the value for the hotkey. Modifiers such as Shift, Alt, and Ctrl can form combinations with other keys as well.

Audio Options
Audio options determine how Dolphin will emulate a games sound as well as the quality of the produced audio. To access these settings:


 * Click on the DSP button in the Toolbar.
 * Click on the Config button in the Toolbar and go to the Audio tab.
 * Go to the Menu, select Options -> Configure …, and go to the Audio tab.

INSERT PHOTO HERE

DSP Emulator Engine: Determines how Dolphin will emulate the Gamecube/Wii CPU. The available values are as follows:


 * DSP HLE emulation – Executes Gamecube/Wii DSP ucodes using high level emulation. This option is the fastest and least demanding for computers. Most games under this option produce accurate audio, except in a handful of special cases, thus HLE audio is generally recommended over LLE audio.


 * DSP LLE recompiler – Executes Gamcube/Wii DSP ucodes using low level emulation. It will recompile code native to the DSP into x86/x64 assembly. This is the recommended setting for LLE audio. Although CPU-intensive, LLE audio fixes several sound issues in various games due to its enhanced accuracy.


 * DSP LLE interpreter – Executes Gamecube/Wii DSP ucodes using low level emulation using equivalent functions in C++. This is the slowest method of processing sound and should only be used for debugging. Like the DSP LLE recompiler, it emulates the sound very accurately.

Dolphin requires special files to use the DSP LLE recompiler or the DSP LLE interpreter. These files contain data necessary to emulate the DSP as accurately as possible. By default, Dolphin includes reverse engineered versions of these files in the user's Dolphin folder under the GC directory (dsp_coef.bin and dsp_rom.bin); they should work with a vast majority of games, though a few may not be covered. The real versions of the DSP files can be dumped directly from a Gamecube or Wii system. Refer to online guides or the Dolphin forums for information on the dumping process.

Volume: Manually adjust the output volume for Dolphin.

DSP on Dedicated Thread: Allows Dolphin to process audio on a separate thread. When using the DSP LLE recompiler or interpreter, this option usually results in a speedup depending on the game and hardware. Various issues may occur with this option enabled for DSP HLE emulation, although it may help under certain circumstances as well. Generally, it is recommended to enable this option for the DSP LLE recompiler or interpreter and to disable this option for DSP HLE emulation.

Dump Audio: When playing a game, records all audio output to a file. In the user's Dolphin folder, the location of the dump is Dump\Audio.

Audio Backend: Selects which audio API Dolphin will use to process output sound. Depending on the game and the backend, audio quality may vary. Certain audio backends are only available on some operating systems:


 * Windows – DSound, XAudio2, OpenAL
 * OS X – Core Audio, OpenAL
 * Linux – ALSA, OpenAL, PulseAudio, AOSound

Sample Rate: Sets the sample rate for output audio to either 48000 Hz or 32000 Hz.

Latency: Sets the latency of the output audio in milliseconds for the OpenAL backend. Increasing this value allows the backend to timestretch the audio if Dolphin is not processing audio at fullspeed. This helps to reduce static, stuttering, and other audio distortion. If the latency is set too high, or Dolphin processes audio too slowly, the audio may seem to play in “slow-motion”.

Gamecube Options
These are miscellaneous options specific to Gamecube games. To access these settings:


 * Click on the Config button in the Toolbar and go to the Gamecube tab.
 * Go to the Menu, select Options -> Configure …, and go to the Gamecube tab.

INSERT PHOTO HERE

Skip BIOS: If checked, Dolphin will use high level emulation to get past the BIOS, therefore BIOS dumps are not required to run Dolphin. If unchecked, Dolphin will try to look for the BIOS files and run them. If the BIOS files are not found and this option is unchecked, Dolphin will use HLE to boot normally and automatically check this option. For info on setting up the BIOS files, refer to Section X.X.

System Language: Sets the system language for the emulated Gamecube when booting using BIOS files.

Slot A/B: Sets the device to emulate for the Gamecube's memory card slots. The values can be  for no device, a Dummy (null) device for debugging, a memory card, or USBGecko. Users can browse for memory card files by clicking on the “...” button.

SP1: Sets the device for the expansion slot. The values can be  for no device, a Dummy (null) device for debugging, a Broadband Adapter (BBA) for games that use the BBA for internet functionality, or an AM-Baseboard for Triforce games. Refer to Section X.X for information on setting up the BBA and refer to Section X.X for information on setting up Triforce games.

Port 1/2/3/4: Sets the device to emulate for the Gamecube's controller ports. The values can be  for no device, a Standard Controller for regular Gamecube controllers, TaruKonga for the Bongos in the Donkey Konga games, or a GBA for games that use the Gamecube-to-GameBoy Advance connection. See Section X.X for information on setting up the Gamecube-to-GameBoy Advance connection. Only Port 1 can use an AM-Baseboard for Triforce games.

Wii Options
These are miscellaneous options specific to Wii games. To access these settings:


 * Click on the Config button in the Toolbar and go to the Wii tab.
 * Go to the Menu, select Options -> Configure …, and go to the Wii tab.

INSERT PHOTO HERE

Enable Screen Saver: When checked, Dolphin will emulate the Wii’s screen saver.

Use EuRGB60 Mode (PAL60): Allows PAL games that usually run at 50 FPS to run at 60 FPS without increasing the internal game speed.

Aspect Ratio: Sets the aspect ratio for Wii games to either 4:3 or 16:9.

System Language: Sets the system language for the emulated Wii.

Insert SD Card: Allows Dolphin to use an image of an SD card (named SD.raw) from Dolphin's Wii folder.

Connect USB Keyboard: Allows Dolphin to use the current keyboard for Wii games that use USB keyboards.

Paths
These options specify where Dolphin will look for certain files, mainly the game files. To access these settings:


 * Click on the Config button in the Toolbar and go to the Wii tab.
 * Go to the Menu, select Options -> Configure …, and go to the Wii tab.

INSERT PHOTO HERE

ISO Directories: A list of directories Dolphin will search on start-up for game files. Click the Add button to browse for more directories to include in the search. Highlight a path and click the Remove button to delete that path from the list.

Search Subfolders: Allows Dolphin to search any subfolders for a listed directory.

Default ISO: Specifies the default game file Dolphin will load if no other game is selected to launch.

DVD Root: Specifies the root directory for extracted disc images. See Section X.X about extracting files from game discs.

Apploader: Specifies the location of the apploader.img file from extracted disc images. Used by boot.dol to launch games from extracted disc images.

Wii NAND Root: Specifies the root directory for a NAND dump. See Section X.X for more details on setting up NAND dumps to work with Dolphin.