Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Essay:ProleWiki ultimate emulation guide

From ProleWiki, the proletarian encyclopedia

This guide aims to be an ultimate emulation guide, as ultimate is it can be anyway.

"But why does a communist wiki need an emulation guide?", one might ask. Well, we believe that piracy is not a dirty word. Piracy -- and emulation -- is sometimes the only way to still access rare media whose "legal owners" are not interested in reprinting for fans and consumers. Games such as Kuon, or the Gregory Horror Show (both on PS2) are extremely rare discs nowadays to even find on the market. To still be accessible, they need to be pirated in the first place. Not only that, but live services can and will remove your access to games and movies whenever they want. Amazon Prime is famous for removing shows that don't perform "well enough". In this case, piracy is the only way paying customers can still access the shows they wanted when they decided to pay for the service!

Moreover, we hold that there is nothing wrong with piracy in the first place: that it will not hurt Sega or Capcom's bottom line, and that if they don't make their games available then they are not losing out on money since they are not providing the service in the first place.

This guide will take you through the full steps, from start to finish, aimed at people who have never done this before. If that's you (or even if you know how to emulate, you might learn something), then you came to the right guide!


TBD: will need to talk about:

  • emulators: phone and PC
  • where to get roms
    • compressing roms
    • where to count your missing games
  • Specific consoles -> rooting NDS, Vita, front-ends to organize a library on phone or otherwise, Steam Deck, etc.

First things first: the process of emulating a game

Before we get into the details, let's recap the process of emulating a game. This will be the process we cover throughout the guide, so it's a good mental model to follow along with.

  1. Install an emulator on your device. "Device" is very wide: a PC desktop, an Android phone, or even a raspberry Pi.
  2. Find and download games for the emulator.
  3. Transfer the game onto the same device as the emulator.
  4. Open the emulator, play the game.

These are 4 easy steps on the surface, but the implementation of how you go through each has some best practices we will go through in this guide.

List of emulators and where to get them

We are in the process of completing this section with pictures and more in-depth instructions.

Example of a 'library view' in Daijisho, an emulation launcher

Emulators play the game, but sometimes they can do more. We will quickly go through the extras so you know what to expect later in the guide:

  • BIOS requirements: some emulators require BIOS files from the console to even work. We go through how to acquire these, don't worry. Sometimes, there are also firmware or key files, on more recent consoles. This is usually done once
  • Library view: emulators now offer a library scroll of your games, which is relatively recent. They can also automatically scrape box art to give your games a unique look (see pic).
  • Directories: most emulators can change the directories they look into for games, bios files, where they save games and states, etc. If you want to organize your rom collection, it pays to set up custom paths instead of the default ones. It will also tell you where you need to put the BIOS files and games you will be downloading, just look in most emulators' Options or Preferences menus.

There are many, many consoles that were put on the market and that can now be emulated. Some of them have more than one emulator, all with slightly different performances.

Not to get too technical, but emulators work through a translation layer. What they do is transform the code on the disk or cartridge in a way that a modern computer can understand, on the fly. For this reason, not all emulators are equal - but, for most intents and purposes (just playing games from your childhood), most will be fine.

Can phones run emulators? Yes, absolutely. In fact, top-of-the-line phones that came out after 2022, with a Snapdragon 888 CPU and an Adreno 660 or higher GPU can even play some Switch games, even up to 2026. Some will crash, but the lighter ones will work. This is, in our opinion, the preferred method over buying an expensive yet lower-spec retro gaming console, such as the Odin, Powkiddy, or Anbernic consoles. While these consoles work, if space on your phone is not a concern, you will get much better compatibility with consoles on a modern phone that you already own.

It is also possible to emulate games on a Steam Deck (since a Steam Deck is just a Linux computer), which should even be able to run any Switch games with its specs.

Retroarch

You can download retroarch from their own website: https://www.retroarch.com/ (get the stable version).

You may also need the BIOS files for some emulators - not all of them require the bios files. But if your games don't load and Retroarch freezes or hangs, that is likely the reason. You can get them from this GitHub repo: https://github.com/Abdess/retrobios/tree/main/bios. In Retroarch, open the details of a core you installed and it will show you what the BIOS files are called (they depend on the emulator). You will find the files you need by going into Settings -> Cores -> Manage Cores -> Click/Tap on the correct core -> Scroll down until you see a list with 'Missing, optional' or 'Missing, required'. These are the BIOS files with their associated names.

You only need one 'core' for each console, there's no need to install more than one. Just get one, try it out, and if it doesn't work properly on a game, then install a second one - sometimes they are quirky like that and some emulators are definitely more compatible than others.

Then simply download these exact same files from the repo above, and put them in the bios folder for your retroarch - you will find its exact path in the settings, and can change it. Find it in Settings -> Directories -> System/BIOS. It should be, by default, .../RetroArch/System. Simply drop the BIOS files in that directory, no need to make subdirectories or anything.

Retroarch is a unified software that offers 'cores', which are emulators, for a lot of older consoles. They go up to the Dreamcast and Gamecube generation, though they do not have a core for the PS2. If you install retroarch, which is FOSS software [Free and Open Source Software], then you will be able to install emulators into retroarch very easily from their interface. This is why it's our first choice: it saves a lot of researching and installing.

Retroarch also saves all games in the .srm format, which allows you to copy them over to another device and open them in any other installation of retroarch.

The only downside of retroarch is it doesn't have all the consoles. But, it's available on most devices, including smart TVs. You can even install retroarch - the same version as on your PC or phone - on the consoles themselves if you know how (this guide will not cover this, at least not yet).

Since retroarch is not updating on the Google Play Store anymore (for android), I recommend installing F-Droid, which is a marketplace of only FOSS apps, and installing it from there. On phones, some emulators are actually paid (such as for the Gameboy Advance), but retroarch is completely, entirely free.

For the consoles RetroArch doesn't support, read on:

Playstation 2 (PS2)

On computers, the reference for PS2 emulators is PCSX2. It has existed for decades, and has recently improved extremely well: PCSX2 now offers a "folder memory card" option, saving your save games to a folder on your computer instead of inside an 8MB memory card file (which is how the PS2 did it originally).

PCSX2 can be installed from here: https://pcsx2.net/downloads. If you are on Linux, just get it from the flatpak store, and don't forget to give it permissions to the host filesystem so that it can read and remember your directories (save games, games, etc).

BIOS

PS2 emulators need the BIOS files to play games. They are on this github repo: https://github.com/Abdess/retrobios/tree/main/bios/Sony/PlayStation%202. For PCSX2, these will work:

  • PS2 Bios 30004R V6 Pal.bin
  • PS2 Bios 30004R V6 Pal.MEC
  • PS2 Bios 30004R V6 Pal.NVM
  • rom1.bin
  • scph10000.bin
  • scph10000.NVM
  • scph39001.bin
  • scph39001.MEC
  • scph39001.NVM
  • SCPH-70004_BIOS_V12_PAL_200.BIN
  • SCPH-70004_BIOS_V12_PAL_200.EROM
  • CPH-70004_BIOS_V12_PAL_200.mec
  • SCPH-70004_BIOS_V12_PAL_200.NVM
  • SCPH-70004_BIOS_V12_PAL_200.ROM1
  • SCPH-70004_BIOS_V12_PAL_200.ROM2

These will cover the Europe, USA and Japan regions. On Android, the emulators are either NetherSX2, or PSX2 -> the latter has several forks existing, we recommend this one from izzy2lost: https://github.com/izzy2lost/PSX2. The bios files simply exist in its associated directory, they are not installed; don't delete them.

For games, you just put the files in a single games folder, and point PCSX2 to it. It will then find the games and display them in a library style.

Scrape Box Art

PCSX2 can scrape box art as well, but not automatically. Go into Tools -> Download cover art. In the middle of the window, provide either of those two links (only one of them):

https://raw.githubusercontent.com/xlenore/ps2-covers/main/covers/default/${serial}.jpg [default, 2D, front-facing covers]

OR

https://raw.githubusercontent.com/xlenore/ps2-covers/main/covers/3d/${serial}.png [cover on a 3D style box]

(the repo is here: https://github.com/xlenore/ps2-covers, if you want to confirm the links are legitimate).

Check the box for "Use game name to name the file", or whatever it's called in English, and click 'Start'.

You will need to redo this step when you add new games to PCSX2.

Memory card management

For your memory cards, if PCSX2 doesn't prompt you for it at first, go into Settings -> Memory Cards. Under the empty table, click on Create, give it a name ('memcard1' or whatever), and select Directory [Recommended]. This is the better way of handling saves on PS2 emulators nowadays. Then, load up the card as Slot 1 - you can drag and drop it there. The saves will live inside a directory on your computer, created per game. This is better than the older method of creating an actual 8MB file that acted as a memory card, but had limited space on it.

Nintendo DS/3DS

Flashing a 3DS

We have to make an aside for the NDS/3DS. While the emulators do work properly for both (Either through RetroArch or the standalone emulators - Drastic for DS, Citra for 3DS), you will likely have a better time just flashing your 3DS console (if you have one, of course) and playing the games natively, because of the touch screen and dual screen features. Now that the 3DS has reached its end of life and receives no updates anymore, it is very easy to root and will not brick your console.

This is the guide to flash the 3DS: https://3ds.hacks.guide/. It's a bit long, but if you follow the instructions precisely, without skipping ahead, then it will work and you will be able to install any 3DS and NDS game to your console that you download online. Flashing will not destroy anything that's already on your console, e.g. your save games or games downloaded from the nintendo store.

Pro-tip for Nintendo DS games: the 3DS console can only install up to 50 nintendo DS games. If you wish to have more, use YANBF: https://github.com/YANBForwarder/YANBF. This is a program you run on your computer to convert a .nds rom to a .cia file. Then, you install that .cia file from the rooted 3DS, as if it were a 3DS native game. This allows you to install as many NDS games as you want, bypassing the limit.

Playstation Vita (PS Vita)

The reference emulator for the PS Vita is Vita3k. It is not on retroarch. Get it here: https://vita3k.org/download.

Licence and firmware install

You need to install two files into Vita3k (either prompted on first launch, or through File -> Install Firmware, and File -> Install Licence). Copied straight from the vita3k website:

Some games require the system modules be present for Vita3K to (low level) emulate them. This can be done by installing the PS Vita firmware through Vita3K.

The firmware can be downloaded from the official PlayStation website.

There's also an additional firmware package that contains the system fonts that needs to be installed. The font firmware package can be downloaded straight from the PlayStation servers. You can download it here.

Install both firmware packages using the File > Install Firmware menu option.[1]

The font files link may change randomly, so check the quick start guide (ref 1 above) for the latest link. Don't open the font file directly; instead, right click on the link and select Save as... -> it should save a .pup file.

Then just install these 2 files through the menu (as outlined above), and you're done - you won't need these files anymore if you don't want to keep them.

Installing games

PS Vita games come in strange formats. Usually, it'll be either a .pkg/.bin combo, or a folder with an 'app' subfolder inside of it followed by a folder that's named like a string of characters <-- These are nonpdrm dumps. If you get a dump, compress its highest-level directory into a .zip archive, vita3k will know what to do with it.

Currently, all games need to be installed on Vita3k, like they would be installed on a real PS Vita. This is done through Vita3k directly, through File -> Install .pkg, or install .zip.

Once you have installed the game, you can actually delete the source files, if you wish. A copy of the game lives inside the vita3k emulator.

Nintendo Switch

The Switch is absolutely emulated, and works perfectly. However, its emulators are kind of in a weird space. Most of them are based on Yuzu, which still works, but was taken down by Nintendo and is therefore not worked on anymore.

Two current Switch emulators that receive updates are Citron and Eden. They look almost identical, though in its version 3, Citron decided to depart from the Ryujinx base and do its own thing. But the insides still work mostly the same.

Prod keys download

You will need these two files for your emulator:

Later firmwares may not necessarily work with emulators. So unless otherwise specified by another source, use 19.0.1 - it is universal.

In your emulator, go into Tools -> Install Firmware, Tools -> Install decryption keys. Then games will work as soon as you drop the .nsp files into the games folder.

Installing DLCs and patches

For DLCs and patches, you need to install them to NAND. This is simply going into File -> Install to NAND... Then, select the files you wish to install. Emulators such as Eden and Citron will only install patches and DLCs, not the actual game. It's a weird workaround but it has to be done.

Converting NSZ to NSP

There is one specific 'problem' with Switch games: they sometimes come as .nsz format, when emulators can only read the .nsp format. This means you need to decompress the .nsz into a .nsp. The only tool we know of that actually works for this, and that we can recommend, is here: https://github.com/nicoboss/nsz.

The easiest way is, as the repo says, downloading the binaries from the release page: https://github.com/nicoboss/nsz/releases/

Or, you can install it as a pip package and integrate nsz into a python script to handle this automatically for you, for example.

Regardless, if you ever download .nsz switch games, run them through this tool to convert them to usable .nsp files.

More consoles to come

This guide is open-sourced to ProleWiki editors. If you would like to add more consoles or information, you are free to edit.

Where to get games

Now that you have your emulators set up, you need games, obviously.

We regret the going of community websites such as emuparadise. Nintendo's litigious nature is taking away every emulator and rom site, and now only shady(ish) rom websites exist.

But there are still good ways to get games - maybe even better than direct downloads. As of this date, the best two methods are Telegram and Torrents. We will try not to get too technical, don't worry.

Torrents

Torrenting works by connecting you to peers who are also downloading the same file as you are. Except you all download different pieces of the file at the same time, which means you can send the pieces you have downloaded to others who need them, and receive the pieces you need from others who have them.

In some places, internet service providers watch your traffic for peer-to-peer activity and will send you a cease and desist letter or even a fine if they catch you doing it, on the basis of copyright infringement. You can easily evade them with a VPN. We recommend Mullvad (5€/month): see our quick privacy guide if you're interested why. Or, if you know your ISP doesn't care, you can just torrent stuff. But yes, torrenting shouldn't be considered anonymous.

In any case, this guide recommends qbittorrent as a torrent client. Why? Because it has a search function (that you enable through View -> Enable search engine). Note that the search engine is not moderated or vetted; it simply looks for torrents on websites according to your keywords. You can get viruses from torrents, but we have good torrents for roms: the 1G1R torrents. 1G1R is a user who is in the process of making high-quality rom collection torrents. They are active on Reddit, and their torrents are quite new (from a couple years ago at most).

1G1R dumps are also interesting because they have already pre-translated some/most Japanese releases they include. Usually, you would need to find a fan translation (from romhacking, usually) and patch it in yourself. 1G1R has already done that work, so the rom is available to play in English at the very least.

If you search for '1G1R saturn', for example, you will find these results:

What you are interested in is the number of seeders. Seeders are people that have downloaded the entire torrent and can thus now send it back to you completely, instead of only some of the pieces of it that they own. In this case, there are three torrents for 1G1R Sega Saturn with seeders. You can add all three of them, and qbittorrent will automatically collate them together into one (why it does that is a bit more technical and we won't get into it).

In any case, you are now downloading the entire 1G1R Sega Saturn redump, which is ~200GB of space. But here is the cool thing about torrents: you select exactly what you download. Go back to your Transfers tab, click on the 1G1R torrent, and at the bottom, click on Content. This shows exactly what this torrent contains: this is what you download. You can click the checkbox to disable everything, meaning you will not download anything from this torrent. Then, you can selectively check back the games you do want to download.

When the torrent is paused, it is inert: no data is going in or out. This means you can leave the torrent alone in qbittorrent, and selectively download the games you want when you want them.

That's about all there is to cover for torrenting. There are other dumps of roms, but we can't ascertain their legitimacy as well so this guide prefers to recommend the 1G1R dumps.

The nice thing to do is to seed back to give others the games as well!

Telegram

There is currently a Telegram network of bots to download individual games. You will need a Telegram account, then join this channel: https://t.me/NSW_TorrentLibrary. Select the first chat, F.A.Q. - Our Bots, and you will see all the consoles they offer. Right now, the network has games for:

  • Nintendo Switch
  • Playstation 5
  • Playstation 4
  • Playstation 3
  • Playstation 2
  • Playstation One (PSX)
  • Playstation Vita
  • Playstation Portable
  • Nintendo Wii/WiiU
  • Nintendo GameCube
  • Nintendo DS
  • Nintendo 3DS
  • Xbox 360
  • Xbox Original
  • Sega Dreamcast
  • VR Oculus Quest
  • PC games

Telegram is available in your browser and as a desktop app, so you can easily download the games on your computer if you want (if space is a concern - there are also torrent clients for phones).

The NSW games come as torrent files, so you will need a torrent client anyway to download games. But it's very simple to use: you just join a chat with the bot, provide the password as explained in the FAQ channel, then simply send the bot (in chat) the name of the game you want to download. If it has it, it will provide a download link. On Switch, they usually have all the patches and DLCs included.

The maintainer behind this network is always looking for funds to maintain the bot network. It is at a very real risk of going down soon. So if you find it useful, please use the /donate command in one of the bot chats and send him some money.

Why different sources?

We recommend different sources to find games because they have different games. Even a 200GB archive is not necessarily all of a console's games! There are many rare games or even unknown ones. There are many Japan exclusives that we are still learning about, or just very rare games that are hard to find downloads for.

And of course, there are still download websites. They are not necessarily riddled with viruses (this is more of a 2000s scare than a reality), but they are usually riddled with ads and fake download links. Use an adblocker. Not just for these websites, just in general in your life. This guide doesn't really have any specific website to recommend as the two sources above (1G1R and the NSW network) offer high-quality, complete downloads already. ROM websites might help you find very specific games that these two sources don't have.

Specific sub-guides

We added some more specific guides here, separate from the two main sections. They are just as important as the main sections, but we felt they didn't really fit inside the main sections.

Important: Compress your games

ROMs can take a lot of space on a disk. If you wish to own huge collections, the size can quickly balloon up to a few terabytes of space.

Fortunately, it is possible to compress your games, no matter the console, in a way that will not destroy data. The savings are huge: betwen 40 to 50% of disk space can be saved by just doing lossless compression. Moreover, the game works just as well as before and loads just as quickly as before compression.

Space saved example from an actual PS2 rom collection:

Line .iso size (before compression) .chd size (after compression) Ratio
PS2 TOTAL (1.1TB total)   1.1TB 597GB 45%

There are two methods that differ based on the original game support format for the console:

For disk games

For consoles such as the PS2, SegaCD, PS1, etc, games came in a disk format. Their ROMs will therefore be one of the following file format:

  • .iso [most common]
  • .bin/.cue combo [2nd most common]
  • .gdi/.bin/.raw combo
  • .toc/.bin
  • .ccd/.img/.sub
  • .nrg
  • .cdr

For such a file, use chdman - the #1 reference for it. The recalbox wiki has the links and simple instructions: https://wiki.recalbox.com/en/tutorials/utilities/rom-conversion/chdman. For Linux though, the best way is just using your package manager: sudo apt install mame-tools (also installs the mame emulator, but you can uninstall it if you want). Then you can use chdman from the command line, or make scripts with it to make your life easier. If you don't code, any modern AI can make this script for you according to your specifications. Or, the recalbox link has downloads to scripts they offer to do this for you, for all 3 OSes.

chdman will convert your file to a .chd format - Compressed Hunks of Data. These work in any modern emulators: pcsx2, genesis plus GX, etc.

One exception: Dolphin, the gamecube emulator, uses its own .rvz format for compression. Most gamecube games you download will already be .rvz.

Another semi-exception: PPSSPP historically read .cso files (from ciso package, also compressed) and not .chd files. However, it should now be compatible with newer versions of PPSSPP. But, if your .chd file is not readable through PPSSPP, don't panic: you probably just need to update the emulator, or redo the .chd differently. AI can help with this if you send it the details of the problem and how to troubleshoot. Remember: .chd files can be reversed back to .iso infinitely.

CHD is completely reversible back to iso, .bin/.cue, or whatever else. It doesn't destroy any data. Like we said, the space savings can be huge, so don't skip out on it if you start getting a lot of games, especially if you move them to a device where space is limited, such as an SD card.

Note: there is no point in zipping up a .chdm .cso or .rvz file: they are already compressed better than the zip algorithm can do, so you won't save any more space by 'double-compressing'.

For cartridge games

For cartridge games such as the GBA, NDS, SNES, you can simply compress them into a .zip file. If you do, make sure the .zip has the exact same name as the rom inside of it. No deviation whatsoever. And, make sure only ONE rom file is inside the archive, don't put anything else in there. This ensures maximum compatibility for your emulator to find the rom in the zip.

Most operating systems (Windows, Linux, etc) can natively create .zip files. But not all of them will get the same results. There are better and worse algorithms, and some programs such as 7zip allow you to select the compression level. Nevertheless, most emulators will be able to read from a .zip archive, and most games will benefit from this procedure: between 30 and 45% of space is gained back from compressing!

It's also possible to trim the excess data off cartridge games: historically cartridges came in pre-selected sizes (8MB, 16MB, 32MB, etc), and if the game was say only 4MB but was burned onto a 16MB cartridge, then the extra space had to be filled out to fill the cartridge with dummy data. However, trimming the data is lossy: that excess, while useless and inert, is still data that is deleted irreparably if you trim it. Moreover, zipping up the rom file usually compresses that dummy data anyway.

Switch exception: there is no point in zipping up Switch games into a .zip, no space is saved.

Front-ends to organize your roms

This guide heavily recommends retroarch to play games. However, at least on Android, retroarch doesn't feel intuitive. It takes several steps just to play a game - loading the core, then navigating to the games folder, then selecting the game you want from just the file name is a lot of steps. And this isn't isolated to Retroarch either!

For this reason, there are several front-ends or launchers that were created. Their purpose is to organize and prettify your rom collection, and allow you to launch the games from there. Lutris for example, which is often used to play Windows games on Linux, can serve as an emulator front-end, if you connect your emulators to it.

There are several: Daijisho, Pegasus, EmuStation, and so on.

Front-ends connect to your emulators in the background, and your games directories. They serve as a 'middleman' of sorts between the emulator and the game: launch the game from the front-end, and it opens seamlessly in the emulator.

Troubleshooting emulation problems

Emulation has come a long way since the 2000s. If you encounter a problem while playing a game, it's probably the emulator settings that are acting up, not the game. That is, the game is perfectly playable on emulator, it just needs the right settings.

In 90% of cases, the fix is simple: if audio is crackling or missing, then you probably just need to change the audio backend or fiddle with the settings. Most emulators can now do this per-game, or globally (globally will apply to all games). If video is acting up, then you probably need a different graphic API or, again, fiddle with some of the finer settings. In general it's pretty easy, there's not that much you need to change, and it should solve the problem. If the game really acts up or doesn't even launch, then it's possible it's just not compatible with the emulator, or any emulator - that happens sometimes. In that case, online wikis will usually have the compatibility status of the game you're trying to play. Not all emulators are equal, and some will play games with no problems that other emulators simply can't even open.

Where do I get series and movies

What does this have to do with a video game emulation guide? Well, fuck copyright and fuck billion-dollar companies refusing to give people what they paid for.

Stremio (https://www.stremio.com/) is a godsend. It's an app that will work on most devices, including Android TVs, and connect you to torrents (torrents again!) to watch movies and series of your choice. Except instead of simply downloading the file, it streams it: that is, it plays the video as it downloads, and then deletes it when the cache grows too big. This means you are not saving the files, but it also means you can watch stuff before it has to download.

Download the Stremio app, and create an account to save your settings. But don't use Stremio from the website, it's not as stable - install the app on your devices.

Then, you need to add the torrentio plugin through this link: https://torrentio.strem.fun/configure. Plugins are added to Stremio from web addresses (because Stremio is ultimately a Chromium tab masquerading as an app, but hey, it works). Stremio can't package torrentio with its app because of legality around piracy.

Torrentio is pretty easy to configure from that link above: in fact, you can just leave the default settings alone and click the install button. It will ask what app to open with, and select your Stremio app into which you are logged in. Select Stremio, confirm everything, and you're done. Go into the Addons tab in Stremio to make sure the torrentio plugin was installed, then restart Stremio. From then on, you should just be able to search for anything and find it.

There is one caveat with torrentio: it mostly finds sources in English. So if you want to watch series or movies in other languages, you will usually have a hard time on Stremio. There are probably language-specific addons for it. There are, however, add-ons to automatically find subtitles for your episode or movie, and they load seamlessly into Stremio.

Stremio also serves as a front-end to organize your series and movies. It can notify you (in-app) when there are new episodes coming out, or you can browse the public catalog to find something to watch.

References

  1. ↑ https://vita3k.org/quickstart, Installing the Firmware