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 X.X).

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 X.X) 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 X.X 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 X.X 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: Divides the GC/Wii CPU and GPU threads onto two cores. This option dramatically increases speed and allows Dolphin to use more of your computer's resources. 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. If this is not enabled, cheats cannot run in any game.

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


 * Off – Disables framelimiting altogether, running the game as fast as your computer can go. Useful for benchmarking. Note that holding "Tab" will disable the framelimiter for as long as it is held.
 * Auto – Dolphin guesses the framerate of the game based on what it requests from the hardware.
 * Audio – Limits the framerate based on the audio speed, previously known as audio throttling. If you are experiencing random pops, this setting may resolve it.
 * 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 disabled, the framelimiter will measure the amount of frame render requests the Dolphin's emulated CPU sends to the emulated GPU (VPS) to control the framerate. If enabled, the framelimiter will measure actual frames rendered per second (FPS) instead. This option is disabled by default, as that matches the hardware behavior, but some games require it to be enabled.

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 and is 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: When enabled, if the user presses stop or attempts to close Dolphin, the emulator will display a dialog box asking if the user truly wants to stop the game.

Use Panic Handlers: Lets Dolphin alert users when a potentially serious problem has occurred. Disabling this may avoid annoying or non-fatal messages, 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 Section X.X for information about adding and using new themes.

On-Screen Display Messages: Enable Dolphin to show various on-screen messages for various 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 X.X 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 sound processor. 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 produce accurate audio with DSP HLE, thus HLE audio is generally recommended over DSP LLE.


 * 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 its own 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 and to disable it for DSP HLE.

Dump Audio: Records all audio output to a file. The location of the dump is Dump\Audio in Dolphin's User folder.

Dolby Pro Logic II decoder: Emulates Dolby Pro Logic II using 5.1 surround sound. This option is only available for the OpenAL backend.

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

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

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 bypass 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(s) to emulate in the Gamecube's memory card slots. The values can be  for no device, a Dummy (null) device for debugging, a Memory Card, USBGecko, or a Mic. 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 in each of the GameCube's controller ports. The values can be  for no device, a Standard Controller for regular GameCube controllers, Steering Wheel for the Logitech Speed Force Racing Wheel, a Dance Mat for Dance Dance Revolution games, TaruKonga for the Bongos in the Donkey Konga games, or a GBA for games that use the Nintendo GameCube–Game Boy Advance link cable. See Section X.X for information on setting up the 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. Only applies to PAL Wii games that support the feature.

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 the use the system's keyboard within the emulated Wii. Only useful for Wii games that support 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 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 for games within any subfolders of a listed directory.

Default ISO: Specifies the default game file Dolphin will load if no other game is selected to launch. Also used to display an inserted disc in the Wii System Menu and the Disc Channel.

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 the emulated Wii's NAND memory, which includes Wii saves, System Menu (if installed), and installed WADs. The NAND memory from a Wii console can be dumped and used within Dolphin. See Section X.X for more details on NAND dumps.

= Graphics =

General Graphics Options
This section provides general graphics options that don't particularly belong to any specific category. To access these settings:


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

INSERT PHOTO HERE

Backend: Chooses between various graphical backends for rendering. The choices available depend on the operating system.


 * OpenGL - Available on all platforms, and the only backend available in Linux and OS X.
 * Direct3D9 - Windows only. Available on all supported Windows systems.
 * Direct3D11 - Windows only, available on Windows Vista and higher. Requires a card that supports at least DirectX 10 as well as the necessary drivers.
 * Software - Available on all platforms. The Software Renderer is not recommended for use outside of debugging, as it is extremely slow on even the most powerful system. It also does not share many of the same options as the hardware accelerated backends (see Section X.X for using the Software Renderer).

Adapter: Chooses which GPU or display to use for hardware accelerated rendering. Users with integrated graphic processors may need to switch which GPU Dolphin uses for higher performance.

Fullscreen Resolution: Sets the resolution Dolphin will use when entering fullscreen mode; only lists resolutions that the system informs Dolphin its display can support.

Aspect Ratio: Sets the aspect ratio Dolphin will use when running games. Available options are Auto, Force 4:3, Force 16:9, or Stretch to Window.

V-Sync: Uses vertical syncing to reduce the presence of screen tearing. If your system is unable to maintain fullspeed, this will greatly decrease your framerate.

Use Fullscreen: Starts emulation in fullscreen mode rather than rendering in a window.

Show FPS: Displays the current FPS in the top left-hand corner during emulation.

Log FPS to file: Writes the FPS to the Dolphin folder in Logs\fps.txt. For every second of gameplay, Dolphin will write the current FPS to one line. This option is useful for benchmarking.

Auto adjust Window Size: Automatically adjusts the window to the current internal resolution (see Section X.X for details about the internal resolution).

Keep window on top: Keeps Dolphin's render window above all other windows.

Hide Mouse Cursor: Hides the mouse cursor if it hovers over Dolphin's render window.

Render to Main Window: Renders emulation in the main window instead of creating a separate render window. With this option, the main window's game list (see Section X.X screenshot) is replaced with a rendering of the game itself, but all of Dolphin's buttons and menus are still visible and accessible.

Enhancements
This section provides options meant to enhancement the graphical quality of games running under Dolphin, sometimes to a level greater than the original hardware. To access these settings:


 * Click on the Graphics button in the Toolbar and go to the Enhancements tab.
 * Go to the Menu, select Options -> Graphics Settings, and go to the Enhancements tab.

INSERT PHOTO HERE

Internal Resolution: Specifies the resolution in which Dolphin will render the games. This option is primarily responsible for improving visual quality, and allows for 1080P HD and beyond. Auto (Window Size) will set the Internal Resolution to the same size as Dolphin’s render window. Auto (Multiple of 640x528) will set the IR as a multiple of of the GC/Wii's native resolution (640x528) based on the size of Dolphin’s render window. The other options are specific multiples of 640x528. How high the Internal Resolution can be raised depends on the power of the user's GPU.

Anti-Aliasing: Specifies the level and type of anti-aliasing Dolphin will apply. This will reduce the appearance of “jaggies” or sharp, pixelated lines by making them look smoother. The Direct3D11 backend uses MSAA for anti-aliasing, the Direct3D9 backend uses SSAA, and OpenGL backend uses both MSAA and SSAA. If Anti-Aliasing can be used and how high it can go depends on the power of the user's GPU.

Anisotropic Filtering: Specifies the level of anisotropic filtering Dolphin will apply. This helps improve the look of textures when viewing them from oblique angles. Most modern GPUs will easily handle the maximum value of 16x with no performance impact.

Post-Processing Effect: Selects the post-processing shader to apply to games. These will apply various interesting effects on images such as making them look 32-bit, cel-shaded, or in sepia. Post-processing effects are currently only available under the OpenGL backend.

Scaled EFB Copy: Lets Dolphin scale EFB Copies (see Section X.X). Enhances the look of render-to-texture and post-processing effects at Internal Resolutions higher than 1x native.

Per-Pixel Lighting: Calculates lighting for 3D graphics on a per-pixel basis rather than per-vertex. Checking this option provides more accurate emulation, at an extremely small performance hit. Most modern GPUs can handle this option with no noticeable performance impact.

Force Texture Filtering: Forces all textures in a game to be filtered, even if the game explicitly prohibits filtering. Fixes problems in some games, and causes problems in others.

Widescreen Hack: Allows games that only support the 4:3 aspect ratio to display in 16:9 without stretching. Only works if the Aspect Ratio is set to "Force 16:9" (See Section X.X). Enabling the option may cause graphical glitches to appear and does not work well with every game.

Disable Fog: Prevents fog, aka “distance fog” from being processed at all. May improve the look of some games when Dolphin does not accurately emulate fog or when fog was used to obscure low-resolution assets, however this option does not reflect real hardware behavior.

3D Vision: Enables 3D stereoscopy effects using Nvidia 3D Vision technology. Requires an Nvidia GPU, a display with 120hz capability, and the Nvidia 3D Vision unit and glasses. Only available for the Direct3D9 and Direct3D11 backends and only in fullscreen.

Hacks
This section provides graphical options that may not reflect accurate emulation of the original hardware, but may still be beneficial to users. To access these settings:


 * Click on the Graphics button in the Toolbar and go to the Hacks tab.
 * Go to the Menu, select Options -> Graphics Settings, and go to the Hacks tab.

INSERT PHOTO HERE

Skip EFB Access from CPU: Ignores any request from the emulated CPU to read or write to the Embedded Frame Buffer. It will give a small speed up, but it may cause gameplay or graphical glitches.

Ignore Format Changes: When enabled, Dolphin will ignore any commands from the game to reinterpret existing EFB data into another format. This hardware function is rarely used and is generally a free speedup, so it is enabled by default. However some games can have problems if this option is enabled.

EFB Copies: Determines how Dolphin will emulate Embedded Frame Buffer Copies, used by most games for render-to-texture effects and post-processing. Disabling EFB Copies altogether will disable these effects. Dolphin will emulate EFB Copies with two methods:


 * Texture – Dolphin will use Direct3D or OpenGL textures for encoding and decoding EFB Copies. This method is often faster than RAM, however, not all of the effects used by EFB Copies can accurately be emulated this way. For most games, this is the recommended option unless otherwise specified.


 * RAM – Dolphin will download encoded EFB Copies from the GPU’s VRAM to RAM for decoding, and eventual reupload back to VRAM. This method is more accurate than EFB to Texture and emulates effects that use EFB Copies more accurately, however it is more demanding on PC hardware.
 * Enable Cache - Enables Dolphin to cache EFB Copies. This may improve speed but may also slightly reduce its accuracy. This option is only available when EFB Copies is set to RAM.

Texture Cache Accuracy: Determines the amount of samples of a texture Dolphin will take to generate a hash for the texture cache. Moving the slide closer to Safe increases the amount of samples taken, allowing Dolphin to more accurately detect texture changes and possibly reduce graphical glitches, but comes with a performance penalty. Moving the slide closer to Fast reduces the amount of samples taken, which may not detect texture changes as accurately. It is recommended to keep this option on Fast since most games play without any noticeable errors; use Safe only when specified.

External Frame Buffer: Allows Dolphin to emulate the External Frame Buffer, also known as the XFB. This option is useful for games such as homebrew, certain movie segments, and other effects that do not directly draw to the EFB. Dolphin will emulate the External Frame Buffer with two methods:


 * Virtual – Dolphin will use Direct3D or OpenGL textures for External Frame Buffer emulation.


 * Real – Dolphin will process External Frame Buffer emulation in RAM. This option closely emulates real hardware output and will lower the overall graphical quality, preventing enhancements like Internal Resolution and anti-aliasing from being used.

Unless a game specifically requires the use of External Frame Buffer emulation, it should otherwise be left off.

Cache Display Lists: Allows Dolphin to maintain a cache of display lists – series of graphical commands sent to the emulated GPU – for possible speed-ups. However it can cause frequent crashes.

Disable Alpha Pass: Allows Dolphin to disable destination alpha used by some games’ effects. Turning this on causes visual glitches in many games.

OpenCL Texture Decoder: Allows Dolphin to use the OpenCL texture decoder over the default texture decoder and use GPU resources for texture decoding. In its current state, the OpenCL texture decoder is slower than the default texture decoder and unlikely to provide noticeable speedups.

OpenMP Texture Decoder: Allows Dolphin to use the OpenMP texture decoder over the default texture decoder. This option will use OpenMP to generate multiple threads for texture decoding. It may take advantage of multi-core systems, reduce small but noticeable “micro-stuttering” in some games, and provide a slight speed-up.

Please note, both the OpenCL Texture Decoder and OpenMP Texture Decoder should not be enabled at the same time. Dolphin can only use one texture decoder at a time. If both are selected, Dolphin will simply use the OpenCL Texture Decoder.

Fast Depth Calculation: Uses a less accurate algorithm to calculate depth values. Although it may cause issues in a few games, it can result in a speed-up. Unless graphical glitches occur, it is recommended to leave it checked.

Vertex Streaming Hack: OpenGL only. Speeds up OpenGL vertex streaming by using unsafe code. It may produce heavy graphical glitches, however, it usually results in a speed-up, especially for Nvidia GPUs. If no graphical glitches occur with this option enabled, it is recommended to leave it checked.

Advanced Graphics Options
This section provides technical graphical options and utilities that may be of interest to experienced users looking to debug things or use features like custom textures. Ordinarily, for most users, these settings do not need to be altered. To access these settings:


 * Click on the Graphics button in the Toolbar and go to the Advanced tab.
 * Go to the Menu, select Options -> Graphics Settings, and go to the Advanced tab.

INSERT PHOTO HERE

Enable Wireframe: Allows Dolphin to render the scene in wireframe.

Show EFB Copy Regions: Allows Dolphin to highlight areas used for EFB copies. Currently this option is broken.

Show Statistics: Displays various graphical statistics such as the number of textures generated, number of pixel and vertex shaders generated, and more.

Texture Overlay Format: Modifies textures in-game to display their encoding format.

Dump Textures: Dumps any textures generated by Dolphin in the user’s Dump\Texture\ folder as TGA files.

Load Custom Textures: Allows Dolphin to use replace certain textures for a game with custom ones. The custom textures should reside in the user’s Load\Textures\ folder.

Dump EFB Target: Dumps the EFB Copies generated by Dolphin in the user’s Dump\Textures folder.

Dump Frames: Dumps all frames generated by Dolphin to a video file using the AVI container format.

Free Look: Allows the user to freely manipulate the game’s camera. Holding down the mouse’s right button while moving the mouse will rotate the camera. Holding down the Shift key while pressing one of the WASD keys will move the camera forward, left, backward, or right respectively by a set step distance. This step distance can be changed by pressing Shift + (0-9).

Frame Dumps use FFV1: When Dump Frames is checked, Dolphin will encode the video file using the FFV1 codec. Only available on Linux.

Show Input Display: Displays the input the emulator receives in real-time for all emulated devices that are currently connected.

Crop: Crops the screen from 4:3 to 5:4 or from 16:9 to 16:10 depending on the current aspect ratio.

Enable Progressive Scan: Enables progressive scan if the emulated game or software supports this feature.

= Input & Controllers =

Gamecube Controller Configuration
This section details the configuration of emulated Gamecube controllers in Dolphin. To access these settings:


 * Click on the GCPad button in the Toolbar.
 * Go to the Menu, select Options -> Gamecube Pad Settings.

INSERT PHOTO HERE

In order for Dolphin to use the emulated Gamecube controller, the corresponding port must be set to use a Gamecube controller (Standard Controller); see Section 2.4 for more details. Dolphin can configure up to 4 separate emulated Gamecube controllers at a time.

To configure input from the Buttons, Main Stick, C-Stick, Triggers, and D-Pad sections, left-click the button. Dolphin will wait three seconds to receive input. Middle-clicking the button clears any currently assigned input. Right-clicking the button will bring up a detailed list of all possible assignments that can be used. Here, users can also set specific limits or conditions on which types of input values Dolphin will receive and process.

Radius refers to what percentage of the maximum input ranges will be read. Threshold refers to the minimal amount an input needs to be “on” or “pressed” in order to activate; it is dependent on the input device as well as the input API. Dead Zones refer to areas that will not be read for input. Sqaure Stick determines how much an input’s range adheres to a perfect square.

Device: Specifies the device to read input from. This can be any number of devices such as USB joysticks or a mouse and keyboard. Hitting the arrow will display a list of all available devices that Dolphin recognizes, and this list can be dynamically refreshed. The name of the device also describes which API will handle the input, such as SDL or DInput. Note, real Wiimotes cannot natively be used as an input device for an emulated Gamecube controller.

Buttons: Configures all of the buttons used on a standard Gamecube controller as well as the button for the Gamecube microphone.

Main Stick: Configures the main stick – the gray stick on the left-hand side – of a standard Gamecube controller.

C-Stick: Configures the C-stick – the yellow stick on the lower right-hand side – of a standard Gamecube controller.

Triggers: Configures the Left and Right triggers for a Gamecube controller. Some games use pressure-sensitive triggers such as Metroid Prime and Super Mario Sunshine. For games like these, the L-Analog and R-Analog must be configured to emulate a “full” press on the triggers.

D-Pad: Configures the d-pad of a standard Gamecube controller.

Reset: Either returns all configurations for the emulated Gamecube controller when the Default button is pressed, or erases all configurations when the Clear button is pressed.

Profile: Allows users to create, load, save, and delete profiles for their emulated Gamecube controller configurations. This is useful for sharing configurations with others or for quickly switching between different input devices. Profiles are named simply by typing into the text field. Clicking the arrow brings up a list of all currently available profiles.

Rumble: Sets the motor to use for emulating rumble effects, strength of the rumble effects, and the type of rumbling. Support for rumbling is dependent on the input device as well as the input API.

Background Input: Allows Dolphin to receive and process input even if the application has lost focus or other applications are in use.

Wiimote Settings
This section details several micellaneous options for configuring Wiimotes. To access these settings:


 * Click on the Wiimote button in the Toolbar.
 * Go to the Menu, select Options -> Wiimote Settings.

INSERT PHOTO HERE

Wiimotes: Dolphin can configure up to 4 separate Wiimotes at a time. Each Wiimote can one of several types:


 * Emulated Wiimote – Use a device such as a USB joystick or keyboard and mouse to emulate the Wiimote.


 * Real Wiimote – Use a real Wiimote connected to the PC via Bluetooth.


 * Hybrid Wiimote – Use a real Wiimote connected via Bluetooth for the Wiimote itself, but use devices such as USB joysticks, or a keyboard and mouse for extensions like the Nunchuck.

Clicking the Configure button will setup the actual input for Emulated Wiimote and Hybrid Wiimote; see Section 4.3 for more details.

Balance Board: Allows Dolphin to connect to a Wii Balance Board. Note, this requires an actual Balance Board; it cannot be emulated via software.

Enable Speaker Data: Allows Dolphin to use a real Wiimote’s built-in speaker.

Continuous Scanning: Allows Dolphin to continuously scan for real Wiimotes. This may help Wiimotes connect to Dolphin more easily. Clicking Refresh will force Dolphin to scan for real Wiimotes instantly.

Sensor Bar Position: Sets the sensor bar position either to Top or Bottom. Used for real Wiimotes.

IR Sensitivity: Determines how sensitive a real Wiimote will be to infrared light.

Speaker Volume: Determines the output volume for a real Wiimote’s speaker.

Wiimote Motor: Enables rumbling when using real Wiimotes.

Wiimote Configuration
This section details the configuration of emulated Wiimotes in Dolphin. To access these settings:


 * Click on the Wiimote button in the Toolbar and click the Configure button of the corresponding Wiimote.
 * Go to the Menu, select Options -> Wiimote Settings. click the Configure button of the corresponding Wiimote.

INSERT PHOTO HERE

Users must set the corresponding Wiimote as an Emulated Wiimote or a Hybrid Wiimote to configure these input assignments. Real Wiimotes will act as they would on a real Wii. Dolphin can configure and use up to 4 separate Emulated or Hybrid Wiimotes at a time.

To configure input from the Buttons, IR, Swing, Tilt, Shake, and D-Pad sections, left-click the button. Dolphin will wait three seconds to receive input from the device. Middle-clicking the button will clear any currently assigned input. Right-clicking the button will bring up a detailed list of all possible assignments that can be used. Here, users can also set specific limits or conditions on which types of input values Dolphin will receive and process.

Threshold refers to the minimal amount an input needs to be “on” or “pressed” in order to activate. This is dependent on the input device as well as the input API. Dead Zones refer to areas that will not be read for input. Angle refers to the default position for tilting motions in degrees (90 degrees is upright). Circle Stick determines how much an input’s range adheres to a perfect circle.

Device: Specifies the device to read input from. This can be any number of devices such as USB joysticks or a mouse and keyboard. Hitting the arrow will display a list of all available devices that Dolphin recognizes, and this list can be dynamically refreshed. The name of the device also describes which API will handle the input, such as SDL or DInput.

Buttons: Configures all of the buttons used on a standard Wiimote.

IR: Configures the emulated Infrared Pointer.

Swing: Configures various swinging motions.

Tilt: Configures various tilting motions.

Shake: Configures shaking motions along the X, Y, and Z axes.

D-Pad: Configures the d-pad of a standard Wiimote.

Reset: Either returns all configurations for the emulated Wiimote when the Default button is pressed, or erases all configurations when the Clear button is pressed.

Profile: Allows users to create, load, save, and delete profiles for their emulated Wiimote configurations. This is useful for sharing configurations with others or for quickly switching between different input devices. Profiles are named simply by typing into the text field. Clicking the arrow brings up a list of all currently available profiles.

Extension: Sets the emulated extension to be plugged into the Wiimote. Available options are None, Nunchuk, Classic, Guitar, Drums, and Turntable. Each of these extensions can further be configured by pressing the Configure button.

Background Input: Allows Dolphin to receive and process input even if the application has lost focus or other applications are in use.

Upright Wiimote: Instructs Dolphin to treat the emulated Wiimote as Wiimote held upright.

Sideways Wiimote: Instructs Dolphin to treat the emulated Wiimote held sideways.