DolphiniOS ver. 2.1.0

DolphiniOS version 2.1.0 has been released! This update brings many features from the PC version of Dolphin, and adds some unique to iOS.

If you just want a download, add our repo to your preferred package manager (Cydia, Sileo, Zebra, etc): https://cydia.oatmealdome.me

Or you can just click here to go directly to DolphiniOS’s package.

Want to support us? https://patreon.com/oatmealdome (DolphiniOS will always be free and open-source. We use the money for additional hardware, server costs, and other additional costs that may pop up. Please note that you are NOT supporting the official Dolphin project by donating to us – instead, you would be donating in support of the iOS application’s development.)

Looking for the PC version of Dolphin? Get it from https://dolphin-emu.org! If you wish to support the official Dolphin project and its developers, consider visiting their website without an ad blocker enabled.

New Features

Well, they are new to DolphiniOS, but most are ported from PC.

Settings Menu

Customize Dolphin to your liking. Change the in-game language. Squeeze more performance out of games by tweaking the graphics settings.

NOTE: If a game requires specific settings to work properly, then Dolphin will automatically override your settings when starting the game.

Save States

You can now create up to 10 save states per game. Just go into the in-game settings.

In addition, if you close DolphiniOS or put your device into sleep mode, an automatic save state will be made. If DolphiniOS is quit in the background (to free up RAM, for example), you can choose whether to reload this automatic save state to return to exactly where you were.

WARNING: Because of how Dolphin save states work, newer versions of DolphiniOS may not be compatible with save states from previous versions. Save states are NOT replacements for saving to the GameCube memory card or Wii system memory. Please continue to use the in-game save functions.

Detailed Changelog

Version 2.1.1 was released to address some issues with 2.1.0.

  • Added new modes to handle top bar visibility.
    • You can change your preferred mode in Settings -> Config -> Interface.
    • Swipe Down to Reveal – swipe down from the top edge of the screen to reveal the bar.
    • Virtual Button Toggle – press the arrow in the top left to reveal the bar.
    • Always Visible – the bar is never hidden.
    • Always Hidden – the bar is never shown.
  • Adjusted the workaround for the iOS 13 bug where swiping down to reveal the top bar causes controller input to stop updating (FB7679128).
    • If the preferred top bar mode is set as Swipe Down to Reveal and a controller is connected, it will automatically change to Virtual Button Toggle.
    • In addition, you can now use your controller’s menu button (if it has one) to toggle the top bar.
      • MFi controllers have a dedicated “MENU” button.
      • On Xbox One controllers connected to an iOS 13 device, press the Menu button.
      • On DualShock 4 controllers connected to an iOS 13 device, press the Options button.
      • Controllers connected with nControl may not support a menu button.

Here are the changes for 2.1.0:

  • Added full Settings menu from PC Dolphin.
    • Adjust emulated Wii and GameCube settings, Dolphin behaviour settings, and more in “General”.
    • Adjust graphics settings in “Graphics”.
    • Adjust hacks for emulation bugs and performance (FPS) in “Debug”.
      • You should only modify these settings if you understand what they’re doing.
      • Disabling parts of the JIT will cause in a decrease in FPS. However, various game issues caused by CPU emulation bugs could be worked around by doing so.
      • “Sync on Skip Idle” can be toggled here. Disabling this setting can increase your FPS. However, it also increases the chances of “FIFO overflow” messages, “invalid GPU opcode” errors, and random crashing. Turn this setting back on if you experience any issues.
    • Any settings which do not apply to DolphiniOS or are not supported by iOS have not been added.
    • NOTE: If a game requires specific settings to work properly, DolphiniOS will automatically override your settings to ensure the game functions.
  • You can now create and load save states.
    • Open the in-game settings menu while a game is running.
    • You have 10 slots per game.
    • WARNING: Because of how Dolphin save states work, DolphiniOS updates may break save state compatibility. Save states are NOT replacements for saving to the GameCube memory card or Wii system memory. Please continue to use the in-game save functions.
  • If DolphiniOS is quit in the background (either by iOS or by the player), it will automatically create a save state.
    • The next time DolphiniOS is launched, you can choose whether to reload this save state, and return to exactly where you left off.
    • WARNING: As mentioned above, save states can be broken by DolphiniOS updates. Please continue to use the in-game save functions.
  • Added play / pause emulation button in-game.
  • Added a delete button to the games list.
    • Swipe left on a game.
  • Added opt-in analytics.
    • You will be prompted upon updating whether you want to opt-in. You are NOT required to opt-in. We are only doing this to get to know our userbase better.
    • To opt-out anytime, go to Settings. Opting out will prevent any data from being sent to us.
    • No personally identifying information is collected. Here is what we collect:
      • Device model (e.g. iPhone X)
      • iOS / iPadOS version (e.g. iOS 13.3)
      • DolphiniOS version (e.g. 2.1.0)
      • Device language (e.g. English)
      • Country if your device has a SIM card slot (e.g. United States)
      • Names of games launched and their unique code assigned by Nintendo (e.g. Super Mario Sunshine, GMSP01)
      • Names of controllers connected to the system
    • We are using Firebase as our analytics platform. Only OatmealDome and Simonx22 have access to the collected information.
  • Added crash reporting to help us find and fix crashes.
    • Like analytics, opt-out anytime in Settings.
    • No personally identifying information is collected. Here is what we collect:
      • Device model (e.g. iPhone X)
      • iOS / iPadOS version (e.g. iOS 13.3)
      • DolphiniOS version (e.g. 2.1.0)
      • Crash report (e.g. see here for an example)
      • Name and unique code of the last game launched (e.g. Super Mario Sunshine, GMSP01)
      • DolphiniOS’s current state (e.g. in the background or in the foreground)
      • The orientation of the device (e.g. landscape or portrait)
    • We are using Crashlytics as our diagnostics platform. Only OatmealDome and Simonx22 have access to the collected information.
  • Partial support for some languages has been added.
    • These include:
      • Japanese
      • Dutch
      • Italian
      • Korean
      • Portuguese (Brazil)
      • Swedish
      • French
      • Russian
      • German
      • Spanish
    • We use text from the official Dolphin project’s Transifex. Therefore, any text unique to DolphiniOS is not translated.
    • If you wish to contribute to translating the official version of Dolphin, head on over to this page.
  • Added detection for an invalid CPUCore configuration.
    • There is a suggestion going around (mainly via YouTube videos) where people say that you should change the CPUCore setting in Dolphin.ini to the number of cores on your CPU.
    • This is a bad idea. CPUCore does not refer to the number of cores on your CPU, but rather the type of GameCube / Wii CPU emulator that Dolphin will use.
    • Setting CPUCore to the wrong value could cause large FPS drops, depending on the number you entered.
    • DolphiniOS will now automatically detect this invalid configuration, reset it to the default, and pop-up a warning.
    • Dolphin will never use more than 2 or 3 cores on your CPU, whether you are on a PC, Mac, iPhone, iPad, or Android phone. Read more about it here.
  • Excluded the Software folder from iTunes and iCloud device backups.
  • Removed experimental support notice when running on a device using the Chimera jailbreak.
  • The Dolphin core has been updated to 5.0-11684.
  • MoltenVK has been updated to 1.2.135.0.
  • DolphiniOS will now alert the user if it is at risk of being killed by jetsam in low memory conditions.
  • Decoupled csdbgd from the DolphiniOS package.
  • Added a workaround for an iOS 13 bug where swiping down to reveal the top bar causes controller input to stop updating (FB7679128).
    • If a physical controller is connected, the top bar is now always visible.
    • If you swipe down to reveal the top bar and then go into in-game settings to connect a physical controller, you may have to close DolphiniOS and reopen it before your controller starts responding.
  • Fixed a bug where controller input is not able to be read when binding buttons.
  • Fixed a bug where it was impossible to bind the B, Y, L, and R buttons on certain older controllers.
  • Fixed a bug where it was possible to clear button bindings while the assigned device was set to the touchscreen.
  • Fixed a bug where pressing a touchscreen button before the emulation fully started would cause DolphiniOS to crash.
  • Fixed a bug where opening the in-game settings menu before the emulation fully started would cause DolphiniOS to crash.
  • Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.

Special Thanks

Thank you to our Patrons for their support! Sign up at https://patreon.com/oatmealdome.

An even greater thank you goes out to our $5 Patrons:

  • AdeptSquid
  • antiniocuellar
  • brand175
  • Camilo CB
  • CanadianPro
  • ckosmic
  • Corentin
  • bushy
  • dumpty
  • Darkxiide Beats
  • Déjà
  • Box
  • neighbor
  • TwentyOneMemes
  • Kyle Bailey
  • littlepetfrog
  • Maksim Sidorenko
  • JackFusion
  • sys.
  • MetamonPIE
  • neo
  • Kneelee
  • Reconer_000
  • Rome Malik-Cameron
  • Salty
  • Siezt
  • Tony shadwick
  • Haxxie

Sneak Peek

Still here? Thanks for reading! Have a quick sneak peek at something coming in 3.0.0. A Patreon beta build will be released soon-ish to help test this.