Contents‎ > ‎General Emu Info‎ > ‎


Here you'll find descriptions for certain options that require extra explanation

Common options (in most ports) organized by section:
  • Video
    • Frame Skip:
      • Auto: Skip frames as needed and synchronize to a 50/60hz timer
      • 0-4: Skip N frames and synchronize to the display refresh rate, requires a display with the same refresh rate as the emulated system and falls back to Auto if PAL timings are in use, values 1-4 are only available on platforms that implement arbitrary swap intervals (iOS and desktop Linux)
    • Orientation:
      • Landscape 2: Inverted landscape mode (on Android, OS 2.3+ is required)
    • Use Highest Color Mode: Tries to use a high color screen mode if the device supports it, usually 24/32-bit true color. Most consoles don't render at this color depth and the visual difference may be negligible, but it can improve blending with other UI elements. Turn it off if you experience performance issues, especially on older devices.
    • Direct Texture: [Android < 4.0 only, obsolete in Android 4.0+ since all devices have direct texture access via the SurfaceTexture API] Allocate and write to memory directly from the GPU for increased speed. Only used on specific chips like the PowerVR series and may cause hard OS lockups if there are any bugs with your GPU drivers.
    • Fast CPU->GPU Copy: [Android 4.0+ only] Same as above, but works on current OS versions and is enabled by default. This option may cause video issues due to bugs in your GPU driver (more likely in certain custom Android ROMs) and should be turned off in those cases.
    • GPU Sync Hack: [Android < 3.0 only] Explicitly issue OpenGL sync commands after certain operations. This may cause a minor speed hit if turned on, but prevents full OS crashes on certain devices like the HTC Desire running Android 2.2 and lower.
    • Dither Image: [Android < 3.0 only] If using a low color screen mode, improves the quality of gradients in the image with a possible performance penalty. It's always enabled on newer OS versions and has no effect when using a high color mode.
  • Sound
    • Buffer Size In Frames: Set the approximate amount of video frames worth of audio to buffer. Lower values reduce audio latency but increase the chance of audio skipping when frames drop. Not all devices can reliably handle low buffer sizes so you may need to experiment with different values.
    • Strict Underrun Check: [Android 2.3+ only] Determines how soon to restart the audio device if it runs out samples to play. In case your device reports this condition too early, you might be able to get better latency by turning this off. On the other hand, some devices (Galaxy S2, HP Touchpad) can stall the display update if an underrun occurs so you should keep this option on if you start to get lower framerates. If on, restarts audio playback when playback enters the "stopped" state. If off, restarts when playback enters the "stalled" state. The definition of "stopped" and "stalled" varies depending on the device's audio drivers, but "stopped" always happens before "stalled" and thus is more strict.
  • Input
    • On-screen Controls: turn touch screen controls on/off, or automatically if an alternate input device is present (slide-out keyboard, Wiimote, etc.)
      • On-screen Config: fine-tune virtual controls, a preview image is shown in the background
      • Blend Amount: control translucency, a higher percentage makes the controls more solid (not shown in the preview)
      • Button Size: physical size of a single face button (A, B, etc.) which is also used to calculate the size of other elements via a multiplier
      • Open Menu: position of shortcut command to open the app menu (this element is invisible)
      • Fast-forward: position of shortcut command to toggle fast forward on/off  (this element is invisible)
      • Button Spacing: physical size of the gap between the face buttons. Increasing spacing makes it easier to push 2 buttons at once with your thumb since the gap area contains a bounding box that triggers both buttons.
      • Button Stagger: horizontal/vertical multipliers used when arranging face buttons. A value of 0 arranges buttons in an even grid while 1 gives a diamond shape similar to a SNES controller.
      • H & V Overlap: extends the horizontal/vertical bounding box for face buttons by (Button Spacing + Button Size * Overlap), "Gap-only" adds just Button Spacing.
      • Show Bounding Boxes: shows exact screen areas used for detecting input, the d-pad is color coded: white = single direction, green = diagonal, red = deadzone
      • DPI Override: Work around devices that report incorrect DPI by setting it manually, you'll know if you have such a device because the on-screen control sizes will be much larger/smaller than the listed values in the options.
    • Background Bluetooth: Keep Bluetooth connections active even when the app is in the background
    • Bluetooth Scan Cache: Use results from previous scans to speed up future ones. Try temporarily turning this off if you have issues during Bluetooth scans.
    • Skip OS Input Method: [Android only] Don't pre-process input events by the input method set in the Android settings app, can help prevent erratic or non-working inputs on some devices
  • System
    • Auto-save state: Save a state to the "a" state slot when the game is closed, or the app backgrounds/exits.
  • GUI
    • Alt Gamepad Confirm: When using a game controller, swap the confirm/cancel buttons in menus
    • Title Bar Back Navigation: Places a back shortcut icon in the top left of the title bar
    • Remember Last Menu: When opening the menu from a game, goes to the last recently used menu instead of the main menu
    • Suspended App Icon: [Android only] Leave a shortcut icon in the notification bar if the app goes into the background
    • Dim OS Navigation: [Android 4.0+ only] Dims the navigation bar (aka "Lights Out Mode") upon app start or loading a game
    • Hide OS Navigation: [Android 4.0+ only] Hides the navigation bar on devices that allow it. Note that it will return automatically if the screen is touched due to OS restrictions. Only useful if you have some key-based input.
Input Device Setup:

This menu includes configuration settings for key-based input devices supported by the app & OS (Android HID gamepad/keyboard devices, In-app Wiimotes, etc.).
  • On-screen Input Player: The player represented by the on-screen controls
  • Delete Saved Device Settings: Deletes any per-device data stored in the config file. This includes anything you've changed in the device's sub-menu except for the custom key profiles
  • Auto-detect Device To Setup: Lets you quickly jump to an input device's sub-menu by pushing any key on it
  • [Device Names]: This is a list at the bottom of the menu showing all input devices available, selecting a device goes to its specific sub-menu with the following options
    • Player: The player the device represents. To use one device with multiple players, such as two people playing on a single keyboard, select "Multiple" to reveal additional key categories.
    • Profile: Select from one of the built-in or custom key profiles
    • Set [name of key category]: Assign keys to various in-game actions and emulated inputs for the current profile. Profiles are shared between devices so if you have 2 of the same controller, you only need to assign the keys once and switch the player/profile option in the 2nd controller's menu. If you have a controller that's split into multiple devices by the OS (ex. some Android gaming handhelds where the d-pad & buttons are 2 separate devices), use a single custom profile for both devices to keep their keys linked together.
    • iCade Mode: If the device uses the iCade protocol as listed on the device documentation, enable this to recognize input from it