How do I add cheats?

NES games are currently the only ones that support cheats. You can manage them by selecting a game in your library and accessing its cheat menu.

GBA, SNES, and GB/GBC will support cheats in the next major release (v3.0.0).

How do I save games?

You must do the following steps in order:

  1. Save in-game, as you would on original hardware.
  2. Use the “Quit” button in the game menu (which can be accessed by pressing the menu button) before closing Eclipse.

Compatibility

  • NES games do not save.
  • SNES games should all save.
  • GB/GBC games should all save.
  • GBA games have some incompatibilities.

Known incompatibilities

Most GBA games that have auto-save functionality are not supported.

  • Metroid Zero Mission
  • Harvest Moon games (GBA ones)
  • Mega Man Battle Network games (GBA ones)
  • Kirby games (GBA ones)

Does Real Time Clock work for GBA?

Eclipse’s GBA core doesn’t support Real Time Clock (RTC) features. Support will come in the future.

Why is my game running slow?

Eclipse is web-based, meaning it is at a severe disadvantage compared to other emulators. Though, work is being done in v3.0.0 to improve performance vastly.

Things to Try

  • Turn off low power mode if you have it on. (it throttles web performance by ~50%)
  • Running only one game per session.
  • Don’t have background apps open.
  • Clearing cache (Eclipse’s Settings -> Clear Cache).
  • Be on the latest iOS/browser version.

What systems are supported?

You can find a list of supported systems, their features, and what ROM file extensions they accept in Eclipse’s Settings -> Systems.

What systems are planned?

Please note these systems are just planned. No work has been done on implementing them.

  • PlayStation 1
  • Nintendo 64
  • Nintendo DS
  • Sega Genesis

Does Eclipse support multiplayer?

There are currently no multiplayer features in Eclipse, including trading in Pokemon. We plan to iterate on a multiplayer system, starting locally with multiple controllers, then figuring out something with WebRTC for that same experience (but online), and then finally offering support for stuff like trading.

How do I use a controller?

Support

Eclipse uses the Gamepad API for its controller support. It can be finicky on Safari or other WebKit-based browsers, so expect some minor bugs. Controllers work most reliably on iOS 14+. If you’re on iOS, the supported controllers are:

  • Any MFI (Made for iPhone) controller
  • PlayStation 4/5 controller
  • Xbox One/Series controller
  • Nintendo Switch Pro Controller or Joy-Cons

Controller Stopped/Not Connecting

If your controller was working before but stopped connecting, try restarting your device. It fixes the problem almost every time.

To Setup a Controller

  1. Open Eclipse
  2. Connect the controller to your iOS device (see https://support.apple.com/en-us/HT210414#ios)
  3. Go to Eclipse’s Settings and scroll down to controls
  4. You should see your controller listed
  5. Tap on the controller listing
  6. Go through each button and press a button on your controller to bind it.
  7. Enjoy!

How do I transfer data?

Individual save for a game in your Library

If your game is in the Library, all you have to do is:

  • Select a game in your Library
  • In the menu that pops up, press the three dots next to “Save.”
  • If you’re exporting, select “Export Save”; if you’re importing, select “Import Save.”

Individual save for a game in not your Library

  • Go to Eclipse’s Settings
  • Select “Non-Library Saves”
  • Select the “Upload a Game” option
  • Upload the ROM of the game
  • If you’re exporting, select “Export Save”; if you’re importing, select “Import Save.”

A full Eclipse backup

  • Go to Eclipse’s Settings
  • If you’re exporting, select “Create Backup”; if importing, select “Load Backup.”

How do I add a game to my Library?

Press the + button in the top right, then select any of the options.

Does Eclipse work offline?

Yes, as Eclipse uses a service worker to cache the site locally. Eclipse will disable certain features like your Library, but you can still play the games you upload via the Load Game functionality.

My Pokémon ROM hack doesn't work?

More advanced Pokémon ROM hacks are incompatible with the GBA core Eclipse uses. The GBA core is quite behind on features (e.g., no Real Time Clock support), so emulation itself of GBA games isn’t great. This less-than-optimal emulation leads to things like the rock tunnel and double battles bugging out in hacks like Radical Red. You should have no issues if you’re playing a basic reskin. We’re replacing the GBA core in v3 with a more feature-complete one.

How do I unzip a file?

Eclipse doesn’t directly support archive files.

On iOS, you can decompress .zip files via the Files app. Other archive types may need a separate app. Here’s Apple’s guide on how to do that: https://support.apple.com/en-us/HT211132

Why is audio stuttering?

Some stuttering in audio is normal, especially if emulation isn’t running at full speed (see “Why is my game running slow?” for more info)

How do I clear my cache?

Go to Eclipse’s Settings -> select the bug icon in the navigation bar -> “Clear Cache.”

When is v3.0.0 releasing?

When?

There’s no release date yet.

What’s taking so long?

For starters, it’s a complete rewrite. There isn’t a single line of code reused between v2 and v3. v2’s code is not easy to build on top of, and attempts at fixing it became rewrites on their own. That extends to cores, which is a massive undertaking! I’ve entirely migrated to WebAssembly-based cores, though I’ve built a core loader system that doesn’t lock in core devs to WebAssembly. Another big reason that it has taken so long is that I’m just a single guy working on it at this point (because I’m very picky with the code and effectively scared everyone else away), not to mention I have to balance university and my own life on top of it. Please understand that the scope of this update is not small and takes time. That being said, a lot of progress has been made, and betas will start being seeded to our beta testers again soon 👀 (please don’t ask for beta access, we aren’t looking unless otherwise stated)

Are DS games supported?

DS is Not Supported (yet)

Eclipse doesn’t have DS support because efforts are being put into improving the foundation. We want DS support just as much as anyone, but as it is: Eclipse is flawed at the foundational level.

Alternatives

Currently, the best web-based DS emulator is https://ds.44670.org

Are GameCube games supported?

Not Supported

There is no web-based GameCube emulator for iOS. GameCube emulation requires Just-in-Time (JIT) compilation. For Eclipse, we’d need to figure out some way of generating WebAssembly, compiling it, and running it on the fly. That can technically already be done, but due to the nature of WebAssembly, it wouldn’t work in the way it needs to for proper (and fast) JIT-based emulation.

Alternatives

If you can sign apps (via AltStore or some signing service), use DolphiniOS.

Are N64 games supported?

N64 is Not Supported (yet)

We plan to make our own N64 emulation core after adding DS support.

Alternatives

If you can sign apps (via AltStore or some signing service), use Delta.

Are Wii games supported?

Not Supported

There is no web-based Wii emulator for iOS. Wii emulation requires Just-in-Time (JIT) compilation. For Eclipse, we’d need to figure out some way of generating WebAssembly, compiling it, and running it on the fly. That can technically already be done, but due to the nature of WebAssembly, it wouldn’t work in the way it needs to for proper (and fast) JIT-based emulation.

Alternatives

If you can sign apps (via AltStore or some signing service), use DolphiniOS.

Are 3DS games supported?

There is no 3DS emulator for iOS. 3DS emulation requires Just-in-Time (JIT) compilation, which Apple has locked down support to just WebKit. There’ll likely be one that comes out for jailbroken devices eventually. For Eclipse, we’d need to figure out some way of generating WebAssembly, compiling it, and running it on the fly. That can technically already be done, but due to the nature of WebAssembly, it wouldn’t work in the way it needs to for proper (and fast) JIT-based emulation.