Emulation guide

Welcome to katje's official emulation guide (for Windows)! This guide was created for my friends who had trouble setting up emulation. This is in no way a definitive selection of emulators, but merely me sharing my setup and helping others through it. I will be providing alternative emulators as well.

I will not be going over how to obtain games, you must obtain these yourself. This guide won't go over any piracy related activities either, and is intended for educational purposes only.

Table of Contents

The basics of emulation

Say you want to play Plok! for the SNES on your PC. The easiest way to do that would be emulation. Basically, you grab an emulator, and your ROM file containing Plok!. You open the ROM file inside the emulator, and now you're playing the game. This mimics the real life behaviour of putting a game inside a console.

This scenario applies to the majority of emulators, however, they each have their own specific quirks that sometimes people can't work their way through. This guide will go into those specifics in order to help you get set up. It's expected you're at least comfortable with using Windows file management and a little bit of troubleshooting, in case errors pop up.

This setup would not be possible without the wonderful Emulation General Wiki. I will be referring to this wiki throughout the guide. Here are the most important pages:

Here are also some programs that can be used with any emulator.

Setup

Quick guide

For convenience, here is a quick list of all the emulators I use per system. You can use this to navigate to the system you'd like to set up. Note that you only need to set up each emulator up once.

Folder structure

My folder structure is the following:

Portability

A lot of emulators save data inside %APPDATA% or other external locations. This makes it a pain to modify and back-up your emulator data. Luckily, my setup is entirely portable (except for any paths pointing to my games folders), meaning the emulator and its data will always share the same folder. However, most of these emulators require you to set this up manually, I will go into how this is done for each of them.

If you want your game paths to be portable too, you can make folders inside an emulator folder specifically for games, although this makes your setup less modular. Feel free to set it up in any way you'd like.

RetroArch

RetroArch is a multi-platform multi-system emulator. It's very popular in the emulation scene and mainly used on consoles. RetroArch logo Before I start going over individual emulators. I will quickly go over RetroArch. I do not use Retroarch for a variety of reasons. But, this doesn't mean I don't reccomend it, I just find it a lot simpler to use desktop applications. If you do want to use Retroarch though, you can find a variety of guides on Google and YouTube. I'll go over its pros and cons really quickly to help you decide.

Pros

Cons

My reccomendation

Unless you use emulators on a device where using a mouse regularly isn't an ideal, like a TV, keep reading and use the following emulators instead:

Ares

Ares is a multi-platform multi-system emulator. This means it can run multiple systems (NES, SNES, etc.) on multiple platforms (Windows, Linux, etc.) It's very similar to RetroArch in that sense, but more desktop oriented and simpler.

Ares has options for minimal input lag and great performance while remaining accurate in most cases. However, its settings and input binding is a limited, and there are sound issues present in NES and Game Boy games.

Configuration

Most configuration options can be left at default, but you can play around with a few to see what you prefer. Ares is very simplistic compared to most emulators, so playing around with it likely won't break the emulation. Worst case, you can delete its configuration file to go back to factory settings.

If your PC can handle it, enabling run-ahead can vastly improve your experience as it minimizes input lag.

Portable paths

In order to make ares portable, you must point to the correct folders.

First, set up your folder structure in your ares folder is like so: Ares files

Then, point to these folders in the configuration menu using './(FOLDERNAME)'. The dot represents the current path where the program is running, meaning it'll always find it no matter where your folder is located.

With our setup it should look like this: Ares paths

The Arcade Roms path is not neccesary to assign, but in the example it's pointed to my games folder.

Firmware folder

In order to run some systems, you need their firmware files. These can be found on the Emulator files page. Simply find the files for the corrosponding system and put them in your firmware folder. They should be auto-detected by ares. Most systems do not require firmware though, as many old consoles do not have firmware to begin with.

For example, here is how my Firmware folder looks for Game Boy Advance and Sega Master System emulation: Ares firmware

Mesen2

Mesen2 is another multi-platform multi-system emulator. Like ares, it features options for minimal input lag and is even more performant. Mesen2 has more extensive options and debugging tools but supports fewer systems.

Emulation of 16/32-bit systems like the SNES and GBA is lacking compared to ares due to various sound and graphical issues, but its NES emulation is perfect and even allows for turning off sprite flickering and overclocking.

Configuration

Mesen2 has a more complicated configuration menu than Ares, but this also makes it very powerful. There are global settings which apply to all emulators, but you can also set individual settings per system. This is where you'd also change things specific to that system. In order to bind your controls, navigate to this menu:

Every button can be mapped an additional 3 times and is configured per system. For example, this allows you to bind the d-pad to your analog stick without changing other system bindings.

Portable installation

On first boot, Mesen2 will ask if you prefer a regular or portable installation. This will either put your data in AppData or in the emulator's folder itself.

Alternatives

Mesen

The NES has a lot of cycle-accurate emulators. The original Mesen is one of the best NES emulators available. The original Mesen does not contain any additional systems, but is no longer supported.

bsnes / bsnes-hd

bsnes is currently the only SNES emulator that can show Mode 7 graphics in high resolution. Ares is actually a fork of bsnes and is more accurate, but does not have this feature. If this is important to you or want a standalone SNES emulator, bsnes (or alternatively, bsnes-hd) is a good choice.

Nintendo 64

The Nintendo 64 is notoriously difficult to emulate, meaning there aren't a lot of options for good N64 emulation. If you do not want to use ares, pick one of the other recommended N64 emulators like Gopher64 or Mupen64Plus-Next.

SameBoy

SameBoy offers a lot of Game Boy specific features that are fun to play around with, but it not being portable and other limitations made me switch to ares instead. Still the best pick for Game Boy emulation if you don't care about that though.

mGBA

mGBA has the best compatibility and feature set for GBA emulation and is a solid alternative to using ares. Though in my experience, it has a lot of input lag and bad frame pacing, which is why I switched to ares.

Citra

Citra is a Nintendo 3DS emulator. It ceased development in 2024 but has a few forks that continue it's development.

Which fork do I choose?

As of 2025, the best fork to choose is Azahar.

Do note that Azahar contains changes that were made out of legal considerations. Because of this, only decrypted 3DS dumps with the .cci file extension will function. You can simply rename .3ds files to .cci in order for them to function, as long as they're decrypted.

Portable mode

In order to make the emulator run portably, you must create a folder named user in the emulator's root directory.

Setup

If you use Azahar, you can skip step 2 due to Azahar inherently not being able to decrypt dumps. If you own a hacked 3DS, you can skip all these steps and use Azahar Artic Setup Tool by navigating to File and then Set Up System Files....

Before starting, get the latest aes_keys.txt + seeddb.bin and extra data from the Emulator files page or dump them yourself. We need keys to decrypt dumps and the extra data to render text/Miis.

  1. Open Citra/Azahar, go to File and then Open Citra/Azahar Folder. You will now be in the emulator's user folder.
  2. Extract the zip file containing the keys and copy the aes_keys.txt and seeddb.bin files to the sysdata folder
  3. Open the zip file for the extra data and copy the nand folder to the root of the user folder. If your file explorer asks if you want to merge folders then say yes.
  4. From the same zip file, copy shared_font.bin inside the sysdata folder. Now paste that into the user folder's sysdata, making sure not to overwrite aes_keys.txt and seeddb.bin.

If done correctly, you should now be able to run games and see text/Miis in games like Tomodachi Life and the Mii Maker.

In short, you should have a nand folder filled with extra data, and a sysdata folder with aes_keys.txt, seeddb.bin and shared_font.bin inside your Citra user folder.

3DS/CCI or CIA?

When backing up Nintendo 3DS games, it'll either be a .3ds or .cia file. 3DS files are cartridge dumps while CIA files are digital dumps.

While you can use both, to save space I recommend using 3DS files, as you can play those directly without installing it to Citra's filesystem. Updates and DLC will always be CIA files. Updates and DLC can be managed by right clicking a game in the program.

If using Azahar you will have to rename your .3ds files to be .cci files, but they'll still function the same.

Ryujinx

Ryujinx is a Nintendo Switch emulator. It ceased development in 2024 but has many forks that continue its development.

Which fork do I choose?

Unfortunately, due to the amount of drama in the Switch emulation scene I find it difficult to reccomend a fork. Using Ryujinx's latest archived build should run most Switch games released before 2025. As of May 2025, Ryujinx Mirror is the safest fork to download.

Portable mode

In order to make the emulator run portably, you must create a folder named portable in the emulator's root directory. If done correctly, your folder should look like this: Ryujinx portable

Setup

Before starting, download the latest Switch firmware and keys from the Emulator files page or preferably dump them yourself.

  1. Open Ryujinx, it should display a warning about firmware and keys not being found. We are going to add them through the menu.

  2. Click on Actions, and then Install keys from KEYS or ZIP, afterwards, do the same for the firmware through Install Firmware.

Ryujinx installation

If done correctly, you should no longer get the error and be able to run games. The files you just installed are located in the portable folder or %APPDATA%/Ryujinx if your installation isn't portable.

For a more detailed setup guide, see Ryubing's Setup & Configuration Guide.

NVIDIA Control Panel settings

In the NVIDIA Control Panel, there should be a profile for Ryujinx. For better performance, you should apply the following: Low Latency Mode: On

Yuzu

Yuzu is the most popular Switch emulator. Similarly to Ryujinx, it ceased development in 2024, and has forks that continue its development.

Yuzu is faster than Ryujinx at the cost of accuracy and compatibility. A current mid-range computer should be able to run both just fine, but in case Ryujinx struggles to run a game or has input delay, you should try Yuzu.

Which fork do I choose?

As of 2025 your best option is Eden. Avoid Citron due to their fishy history.

Portable mode

In order to make the emulator run portably, you must create a folder named user in the emulator's root directory.

Setup

Yuzu's setup is similar to Ryujinx although installing the firmware is optional.

  1. Open Yuzu, then go to File and then Open yuzu Folder. You will now be in Yuzu's user folder.
  2. Extract the zip file containing the keys and copy the prod.keys, title.keys, and key_retail.bin files to the keys folder
  3. Extract the zip file containing the Switch firmware and copy the .nca files to nand/system/Contents/registered/.

If done correctly you should now be able to start games.

For a more detailed setup guide, see the yuzu-mirror quickstart page.

XCI or NSP?

When backing up your Switch games, it'll either be an .xci or .nsp file. XCI files are cartridge dumps, while NSP files are digital dumps. There are also .nsz files, but they are not supported by emulators.

If you use yuzu, it likely can only install NSP files, so XCI files are recommended. Updates and DLC will always be NSP files and will install to Yuzu's user folder. Updates and DLC can be managed by right clicking a game in the program.

If you use Ryujinx, NSP files are recommended as they have a smaller file size and can be run immediately, Ryujinx also doesn't install updates and DLC, and instead points to their location and loads them from there, saving in storage.