GameINI

From Dolphin Emulator Wiki
Revision as of 04:20, 9 November 2013 by MayImilae (talk | contribs) (WIP, will be merged into GameINI Settings, saving to take a break. Reorganized wiki port of https://forums.dolphin-emu.org/Thread-howto-using-gameini-settings-per-game . Feel free to comment on the formatting and stuff in the talk page.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

[Core]

The following entires go under [Core] section of the GameINI.


CPUThread

Controls Dual Core and Single Core modes. Can be set in the ISO properties window.

  • CPUThread = True -> Enables Dual Core mode
  • CPUThread = False -> Disables Dual Core mode.


SkipIdle

Controls the "Idle Skipping" setting. Can also be set in the ISO properties window.

  • SkipIdle = True -> Enables Idle Skipping. This is the default setting for the emulator.
  • SkipIdle = False -> Disables Idle Skipping.


MMU

Controls the MMU setting. Can also be set in the ISO properties window.

MMU = True -> Enables "MMU" MMU = False -> Disables "MMU"


TLBHack

Controls the "MMU Speed Hack" setting, a hacked version of the MMU that isn't as demanding. Can also be set in the ISO properties window.

  • TLBHack = True -> Enables the MMU Speed Hack
  • TLBHack = False -> Disables the MMU Speed Hack


DCBZ

Controls the "Skip DCBZ Clearing" setting. Can also be set in the ISO properties window.

  • DCBZ = True -> Enables "Skip DCBZ Clearing"
  • DCBZ = False -> Disables "Skip DCBZ Clearing"


VBeam

Controls the "VBeam Speed Hack" setting. Can also be set in the ISO properties window.

  • VBeam = True -> Enables the VBeam Speed Hack
  • VBeam = False -> Disables the VBeam Speed Hack


SyncGPU

Controls the "SyncGPU setting". SyncGPU is a speed hack for dual core mode to allow games to get around dual core glitches without having to use single core. Usually not much faster than single core mode.

  • SyncGPU = True (or False to enable and disable "Synchronize GPU Thread" respectively).

FastDiscSpeed = True (or False to enable and disable "Speed Up Disk Transfer Rate" respectively). BlockMerging = True (or False to enable and disable "Block Merging" respectively). DSPHLE = True (or False to enable and disable "DSP HLE Emulation" respectively).


GFXBackend

Sets the video backend the game will use.

  • GFXBackend = D3D –> Sets the video backend to D3D (previously called D3D11 prior to 4.0-155)
  • GFXBackend = OGL –> Sets the video backend to OpenGL


D3D9 was removed in 4.0-155. On builds prior to 4.0-155, the following three options are available.

  • GFXBackend = DX11 -> Sets the video backend to D3D11 (now called D3D in the emulator as of 4.0-155)
  • GFXBackend = OGL -> Sets the video backend to OpenGL
  • GFXBackend = DX9 -> Sets the video backend to D3D9. For 4.0-155 and later setting the graphics backend to DX9 will do nothing.


CPUCore

Sets the CPU Emulator Engine that Dolphin will use to emulate the game. Uses numbers starting with 0 to represent the tick-mark order used in the Dolphin GUI for the option.

  • CPUCore = 0 -> Sets the CPU engine to Interpreter
  • CPUCore = 1 -> Sets the CPU engine to JIT
  • CPUCore = 2 -> Sets the CPU engine to JITIL


FrameLimit

Uses hex values to set the framelimit. Based on VPS unless UseFPS is set to true. Added in 4.0-265; it will do nothing in revisions prior to that.

  • FrameLimit = 0x00000000 -> "Off"
  • FrameLimit = 0x00000001 -> "Auto"
  • FrameLimit = 0x00000002 -> "Audio"
  • FrameLimit = 0x00000003 -> "10"

Continues up to

  • FrameLimit = 0x00000019 -> "120"


UseFPS

Determines whether the framelimiter is based on VPS or FPS. Added in 4.0-265; it will do nothing in revisions prior to that.

  • UseFPS = True -> Sets the FrameLimiter to be based on FPS instead of the VPS.
  • UseFPS = False -> Sets the FrameLimiter to be based on VPS instead of the FPS. This is the normal behavior for the emulator.


DSPHLE

Chooses the audio engine. Can also be set in the ISO properties window.

  • DSPHLE = True -> Forces DSP HLE for the game.
  • DSPHLE = False -> Disables DSP HLE, forcing DSP LLE.

If DSP LLE is set in the lines above, it will use either DSP LLE recompiler or DSP LLE interpreter based on your general Dolphin settings. To force either DSP LLE recompiler or DSP LLE interpreter, see DSP EnableJIT.


DSPThread

Controls "DSP LLE on Dedicated Thread".

  • DSPThread = True - Enables DSP LLE on Dedicated Thread
  • DSPThread = False - Disables DSP LLE on Dedicated Thread

[Video_Settings]

[Video_Enhancements]

[Video_Hacks]

[Video]

[DSP]

[Controls]

Choosing audio backend: A dolphin version above 4.0 - 101 is needed to set this, since there was no audio backend choice possible via gameini before that rev. Just copy paste the lines below in your local gameini depending on the backend you use: [DSP] Backend = OpenAL [DSP] Backend = DSound [DSP] Backend = XAudio2

[DSP] EnableJIT = True => for LLE recompiler EnableJIT = False => for LLE interpreter


Volume: A dolphin version above 4.0 - 101 is needed to set this option. [DSP] Volume = 100 (values starting from 0 up to 100 max are valid).


Choosing Internal Resolution: The line below is used to enforce an integral value closest to the general value you use, if 3x is used it will stay the same, if 2,5x is used it will drop to 2x, if auto fractional is used auto integral will be set: [Video_Settings] EFBScale = -1 Values starting from 0 represent the drop down order in the list that dolphin uses. Currently: [Video_Settings] EFBScale = 0 =>will give auto fractional EFBScale = 1 =>will give auto integral EFBScale = 2 =>will give 1x EFBScale = 3 =>will give 1,5x EFBScale = 4 =>will give 2x EFBScale = 5 =>will give 2,5x EFBScale = 6 =>will give 3x EFBScale = 7 =>will give 4x

Efb Copies: [Video_Hacks] EFBToTextureEnable = True (or False to enable "Efb to Texture" and "Efb to Ram" respectively). EFBCopyEnable = True (or False to enable and disable "EFB copies" respectively). EFBCopyCacheEnable = True (or False to enable and disable "Efb to Ram Cache" respectively).

Scaled EFB Copy: [Video_Hacks] EFBScaledCopy = True (or False to enable and disable "Scaled EFB Copy" respectively).

Skip EFB Access From Cpu: [Video_Hacks] EFBAccessEnable = True (or False to disable and enable "Skip EFB Access From Cpu" respectively). Beware that it has the opposite behavior of the gui option!

Ignore Format Changes: [Video_Hacks] EFBEmulateFormatChanges = True (or False to disable and enable "Ignore Format Changes" respectively). Beware that it has the opposite behavior of the gui option!

Texture Cache: [Video_Settings] SafeTextureCacheColorSamples = 0 (this is the safe setting on the left) SafeTextureCacheColorSamples = 512 (this is the normal setting in the middle) SafeTextureCacheColorSamples = 128 (this is the fast setting on the right)

Choosing Aspect Ratio: Values starting from 0 represent the drop down order in the list that dolphin uses. Currently: [Video_Settings] AspectRatio = 0 =>will give Auto AspectRatio = 1 =>will give Force 16/9 AspectRatio = 2 =>will give Force 4/3 AspectRatio = 3 =>will give Stretch to window

Widescreen Hack: You should also set aspect ratio to "Stretch to window" in order to work. [Video_Settings] wideScreenHack = True (or False to enable and disable "Widescreen Hack" respectively).

VSync: [Video_Hardware] VSync = True (or False to enable and disable "VSync" respectively).

Anti-Aliasing: Values starting from 0 represent the drop down order in the list that dolphin uses. Each backend has it's own list of antialiasing options so it is suggested to enforce a certain video backend along with this option. [Video_Settings] MSAA = 0 (Will set it to the top of the list value which is Off for all backends, for values starting from 1 the result will vary depending on the backend used, check the drop list in the gui and start counting from 0 to find which antialiasing option will be used for values higher than zero).

Anisotropic Filtering: Values starting from 0 represent the drop down order in the list that dolphin uses. [Video_Enhancements] MaxAnisotropy = 0 (Will set it to the top of the list value of 1x equivalent of disabling it. 2x, 4x, 8x, 16x would need 1,2,3,4 to be used respectively).

Force Texture Filtering: [Video_Enhancements] ForceFiltering = True (or False to enable and disable "Force Texture Filtering" respectively).

External Frame Buffer: [Video_Settings] UseXFB = True (or False to enable and disable "External Frame Buffer" respectively). Virtual or Real will be set according to what you have set it last at the general settings. To control it use together the line below: UseRealXFB = True (or False to enable "Real Xfb" or "Virtual Xfb" respectively).

Fast Depth Calculation: [Video_Settings] FastDepthCalc = True (or False to enable and disable "Fast depth calculation" respectively).

Per-Pixel Lighting: [Video_Settings] EnablePixelLighting = True (or False to enable and disable "Per-Pixel Lighting" respectively).

Cache Display Lists: [Video_Hacks] DlistCachingEnable = True (or False to enable and disable "Cache Display Lists" respectively).

OpenMP Texture Decoder: [Video_Settings] OMPDecoder = True (or False to enable and disable "OpenMP Texture Decoder" respectively).

OpenCL Texture Decoder: [Video_Settings] EnableOpenCL = True (or False to enable and disable "OpenCL Texture Decoder" respectively).

Disable Fog: [Video_Settings] DisableFog = True (or False to enable and disable "Disable Fog" respectively).

Disable Destination Alpha: [Video_Settings] DstAlphaPass = True (or False to enable and disable "Disable Destination Alpha" respectively).

Post - Processing Effects: This option will only work with the opengl backend. Use the names listed in the drop down menu of the option, below we use sepia as an example. [Video_Enhancements] PostProcessingShader = sepia (you can put the name of your preferred shader here).

Choosing Control Profiles per game: First you should have a control profile saved for the gamecube controller or Wiimote. For example lets say you have created a Wiimote profile named "Sideways" for Wii games that use the sideways wiimote handling(donkey kong, kirby games, etc.). In order to load that profile per game you should put:

[Controls] WiimoteProfile1 = Sideways => You can put any profile name you want to put here instead. This loads wiimote profile for player 1. WiimoteProfile2 = Sideways => You can put any profile name you want to put here instead. This loads wiimote profile for player 2. WiimoteProfile3 = Sideways => You can put any profile name you want to put here instead. This loads wiimote profile for player 3. WiimoteProfile4 = Sideways => You can put any profile name you want to put here instead. This loads wiimote profile for player 4.

For gamecube controller profiles you should put: [Controls] PadProfile1 = Your profile name here. This loads gcpad profile for player 1. PadProfile2 = Your profile name here. This loads gcpad profile for player 2. PadProfile3 = Your profile name here. This loads gcpad profile for player 3. PadProfile4 = Your profile name here. This loads gcpad profile for player 4.

Settings that can also be set using the iso properties window: [Core] CPUThread = True (or False to enable and disable "Dual Core" respectively). SkipIdle = True (or False to enable and disable "Idle Skipping" respectively). MMU = True (or False to enable and disable "MMU" respectively). TLBHack = True (or False to enable and disable "MMU Speed Hack" respectively). DCBZ = True (or False to enable and disable "Skip DCBZ Clearing" respectively). VBeam = True (or False to enable and disable "VBeam Speed Hack" respectively). SyncGPU = True (or False to enable and disable "Synchronize GPU Thread" respectively). FastDiscSpeed = True (or False to enable and disable "Speed Up Disk Transfer Rate" respectively). BlockMerging = True (or False to enable and disable "Block Merging" respectively). DSPHLE = True (or False to enable and disable "DSP HLE Emulation" respectively). [Video] UseBBox = True (or False to enable and disable "Bounding Box Calculation" respectively). ZTPSpeedupHack = True (or False to enable and disable "ZTP Hack" respectively). ProjectionHack = 1 (or 0 to enable and disable "Custom Projection Hack" respectively).