Play every DS game from your modded 3DS SD card
18th April 2024Full speed emulation on your old 3DS and 2DS – GBA, SNES, MegaDrive, Genesis
24th April 2024Turn Your Homebrewed Nintendo 3DS into a retro gaming handheld – NES, SNES, Sega Master System and more
The 3DS is a great handheld. But the best thing about it is that you can very easily hack it and install Homebrew applications. This unlocks the console’s full potential, allowing you to run any 3DS game from your SD card, play all the DS games from SD card and much more.
If you haven’t already hacked your 3DS or 2DS then make sure to check out my videos to Homebrew it is just a few simple steps.
In this video I’ll be showing you how to add a full range of retro system emulators. We’ll be using some stand alone emulators for the NES, SNES and GameBoy Advanced consoles and then RetroArch to let you expand your library into pretty much any console you want.
Requirements
To get all these retro systems set up you’ll need to have a few things ready.
A Homebrewed 3DS or 2DS is essential. Again if you haven’t yet hacked your console just follow through my Homebrew setup video and you’ll be up and running in no time.
We’ll be downloading and transferring files to our SD card so you’ll need a computer with Internet connection.
You’ll also need a couple of applications in your setup. You’ll need the homebrew launcher so we can access our homebrew apps. Universal Updater provides us with a Homebrew app store so we can very easily install and update the Homebrew programs such as our emulators and FBI so that we can use .cia installation files to easily add extra software to the console. If you’ve followed my setup video you’ll have all of these in place.
Getting Hold of Games
The last requirement is some games files. Most likely you won’t have access to original games cartridges so you’ll have to source your ROMs from elsewhere. There are websites that will allow you to download software but please do check out my retro gaming copyright video to make sure that you stay on the right side of the laws in your region.
Standalone Emulators
To start with we’ll have a look at some standalone emulators. Standalone versions tend to give better performance and tend to be better optimised for the systems that they run on. You do of course need to install a different emulator for each system you want to play.
We’re going to install 3 emulators this way for the Nintendo Entertainment System, NES, the Super NES and the GameBoyAdvanced.
First, we’ll get the games files ready for use.
You’ll need to get hold of some game ROMs for each system. These need to be uncompressed ROM dumps, so not inside any zip or other archive file. For NES games they should be in the .nes format. For SNES games you’ll need .smc files and .gba for GameBoy Advanced.
To make these available for the emulators we just need to put them onto our 3DS SD card. If you’ve installed TWiLightMenu for your DS games you’ll already have a roms folder like mine. Otherwise just create your own roms folder to hold the games. Inside the roms folder I’ve got a sub folder for each system. So I’m going to copy my NES games into the nes folder, SNES into the snes folder and my GameBoy Advanced games into the gba folder.
So, with all the games files in place we can complete the rest of the setup on the 3DS.
Installing Emulators With Universal Updater
With the SD card in the console we just need to boot up and start the Universal Updater app. The first emulator we’ll install is VirtuaNES for the Nintendo Entertainment System. Just click the search button and type in nes. This will show a few emulators for both the NES and SNES which we’ll want next. If we click the info icon we’ll see the app details, including which system it’s coded for. Remember that Universal Updater has both 3DS and standard DS Homebrew apps so we need to make sure we get the right ones.
Just use the d-pad to highlight VituaNES and then click the download icon and then install the app.
We can now do the same for SNES9X. Make sure you get the updated fork as shown on screen.
And finally we’ll install the mGBA emulator for our GameBoyAdvanced emulation.
With those three apps installed just press the Home button to get out of Universal Updater and return to the home menu.
And now we have some new software to unwrap.
NES Emulation
So let’s start with some NES games.
Just open up the VirtuaNES icon and run the emulator. On the bottom screen you’ll see a view of the SD card. You just need to tell the emulator where the games are stored. So use the d-pad to navigate to the roms/nes folder and you’ll see a list of games. Just select one to play it.
On this emulator touching the bottom screen will bring up a menu. Here you can take snapshots of the game state, change the screen size and settings and change to another game.
The SNES emulator works almost identically to the NES emulator.
The GBA emulator uses the same initial ‘find my files’ idea but then just lets you play the game.
Performance
It’s at this point however that we need to think about performance.
If we run the NES emulator we get full speed emulation. The game looks great, especially if we alter the screen size to fit the larger XL display.
Similarly with the SNES emulator everything looks great and runs very smoothly. The sound is fine and we can look forward to enjoying some great gameplay.
One note at this point though. You will find that some games on any of these emulators won’t work. Emulation on the 3DS isn’t as well developed as on other platforms so some titles haven’t yet been fully fixed.
If we now have a look at the GameBoy Advance emulation we get a much worse result. The gameplay is very slow and if you listen to the sound you’ll hear that it’s quite broken. The game is almost playable but not quite there on this old version 3DS. Emulation is of course always going to push the limits of the host system as it’s running another computer system in software. For my 3DS, or Reece’s as it’s actually on loan, this is now beyond the system hardware. A new version 3DS will probably run GBA emulation fine, but you’ll need to try out emulators yourself to see if they work well on your setup.
So that’s our standalone emulators all set up and working, well mostly!
RetroArch
Not every retro console has an emulator for the 3DS. This is where RetroArch comes in to save the day.
RetroArch is a multi console emulator with versions ported to almost every system. If you’ve used a Raspberry Pi running RetroPie, or Batocera, or RetroBat, they all run RetroArch beneath the hood. So adding this to your 3DS is a great way to get as many consoles working as possible.
RetroArch uses a series of cores to add loads of emulators to your system. Each core allows RetroArch to emulate a different computer or console.
For this app we’ll install it manually so you can see how to do it.
First we need to get hold of the application files. Visit the RetroArch website and go to the downloads page. Scroll down until you find the 3DS/2DS links. We want to use the cia version so download that to a folder on your PC. Once you’ve got that extract the archive and you should end up with the following files and folder.
We now need to transfer these to our 3DS SD card.
The .cia file is the main installation file so I’m copying that over to my cias folder on the 3DS. It can actually go anywhere you like but I have this folder from the main homebrew setup where I store these files.
Next we need to copy the entire RetroArch folder to the root of the SD card. Once that’s copied over you need to open the folder on the SD card and add a new folder called downloads. It’s important that you call it downloads as this will make it easier to find your game files in RetroArch. It will search for this folder and list it in the game menu so we don’t have to navigate through our whole SD card. Finally we need a folder called system. This is for any BIOS files that we need for some of the emulator cores. Some BIOS files are under copyright, PlayStation for example, so RetroArch isn’t able to supply these, so we need to add that ourselves.
With those folders in place we now need some game files.
It’s up to you how you store the game files but I’d advise creating a sub folder inside downloads for each system, just so you can keep everything organised.
So I’ve already created a set of folders on my PC hard drive for each console with game files in each. RetroArch can work with some archive files but my advice is to unzip them and to use the raw ROM dumps.
So all I’m going to do is to copy these folders over to my SD card and that will install the games.
Finally we’ll prepare the BIOS files for the PlayStation 1 so that we can test that out on the 3DS. Again you’ll need to have a look online for BIOS files. The best method is to search for a Batocera BIOS pack. This will have all the BIOS files you need so you can just pick out the ones you need. For the PayStation we need these scph5000 files. Simply copy them across into the system folder on the SD card. Most systems don’t need any extra files, but if the emulator asks for them this is the process.
So that’s our SD card ready to go. So let’s jump back onto the console.
Installing RetroArch
To install RetroArch we’ll open up the FBI app and then browse onto the SD card and then into the cias folder, or wherever you saved the RetroArch cia file.
Select the file and then select the install and delete option. This will now install RetroArch.
Once finished we can go back to the home menu and close FBI. And we should have a new piece of software to unwrap, and of course it’s RetroArch.
If you now start the app we drop into the main RetroArch menu system. Here we’ll be using the d-pad to navigate, A to select and B to go back a step.
To get RetroArch to work you need to select an emulator core and then load a game or content as it’s termed here. So let’s try an Atari 7800 game.
Select the load core option and press A. Now we need to find the right core. If you’re not sure which to use check the RetroArch website for some help, but mostly they are fairly obvious. For the Atari 7800 there is a core called Atari 7800, so select that to install it. Again as this is the first time we’ve loaded the core it will install itself onto the console.
Once that’s installed we now need to load some content. Select the option and you’ll see a list of storage areas, one of which will be the Downloads folder we created earlier. Select that and then navigate to the game you want.
Just select the Atari 7800 game and the emulator will boot up and start the game.
On my old version 3DS we can get great Atari 7800 gameplay.
So now we can back out of the emulator and back to the home menu. You should notice that we have a new software tile for our Atari emulator. Each core you install will create a shortcut on the home menu. If you run that you only need to load the content and you’re straight into the game.
Whilst in a game you can click on the bottom screen to bring up the in game menu. This lets you take full control of the emulator to change settings, load other content or simply to quit out of RetroArch in a more graceful manner.
Performance
With an old version 3DS we’ll be able to use RetroArch to emulate the 8 Bit era consoles; Sega Master System, Atari 8 bit, etc. With a new 3DS you’ll get the 16 bit era with the PlayStation 1, and Sega Megadrive.