
Last updated: 06MAR2024 (see Changelog for details)
The Amazon Fire Stick 4K Max is a great little streaming device, and for that use case alone it’s a pretty good deal. But did you know that it can play a surprising amount of retro games too, without any need to modify the device in any way? This guide will show you how to get up and running with your favorite retro systems with just a few tools.
Table of Contents
Which systems can you play on the Fire Stick?
Build your ROM library
Recommended accessories
Download emulator apps
Load up your games
Set up RetroArch
Other notes
Changelog
Which systems can you play on the Fire TV Stick?
Before jumping into this project, you might be curious about which games you can actually play on your device. Here is a general list of systems that can be played on the Amazon Fire Stick 4K Max. Other Fire Sticks (like the Lite, Hd, and 4K models) may not be as performant. Those noted with an asterisk cannot play every game at full speed, and so performance may vary.
Home Consoles:
Panasonic 3DO *
Atari 2600/5200/7800
Atari Jaguar *
Colecovision
PC Engine (TurboGrafx-16)
PC Engine CD (TurboGrafx-CD)
Nintendo Entertainment System
Famicom Disk System
Super Nintendo
Nintendo 64 *
Sega Master System
Sega Genesis / CD / 32X
Sega Dreamcast *
Neo-Geo / CD
NEC PC-FX
Sony PlayStation
Handheld Consoles:
Atari Lynx
Game and Watch
Nintendo Game Boy
Nintendo Game Boy Color
Nintendo Game Boy Advance
Nintendo DS
Nintendo Virtual Boy
Pokemon Mini
Sega Game Gear
Neo-Geo Pocket / Color
Sony Playstation Portable *
Wonderswan / Color
Home Computers:
Amiga
Amstrad CPC
Atari ST
Commodore 64 (and C16/Plus4/C128)
Intellivision
MSX
PC (DOSBOX)
ScummVM
ZX Spectrum
Arcade Systems:
MAME 2003-Plus
Final Burn Neo
Atomiswave *
Naomi *
Build your ROM library
If you haven’t already, I recommend building a ROM library of your favorite games to play on the Fire Stick. ROM file sources will not be shared on this website.
When getting ROM files, I recommend using the “No-Intro” naming convention, which is the standard naming used for ROM sets within RetroArch and other emulation communities. By using no-intro naming, you will be more likely to get box art automatically added when you load up your games and scrape their media. If you have a question as to how a game should be named, I recommend checking out the Libretro thumbnails directory. If your game name matches the thumbnail name found in this directory, chances are that it will properly download the media for it.
Additionally, an important component of a ROM library is maintaining BIOS files. BIOS files are system files necessary for some emulators (GBA, Sega CD, or PS1), and are helpful in improving accuracy with other systems. These files are copyrighted so you are on your own to find them, but a quick search for a RetroArch bios pack should get you on your way. Here is more information about BIOS files.
Here is a listing of the most common BIOS files:
GAME BOY (for boot logo):
gb_bios.bin
GAME BOY COLOR (for boot logo):
gbc_bios.bin
GAME BOY ADVANCE:
gba_bios.bin
NEO GEO:
neogeo.zip (place in your Neo Geo ROMs folder)
SEGA CD:
bios_CD_E.bin
bios_CD_J.bin
bios_CD_U.bin
TURBOGRAFX-CD:
syscard1.pce
syscard2.pce
syscard3.pce
PLAYSTATION 1:
scph5001.bin (there are many options)
Note that Dreamcast usually requires BIOS files, but the app I recommend for the Fire Stick (FlyCast) doesn’t need them.

Recommended accessories
In addition to the Fire Stick itself, I recommend three accessories: a game controller, a USB drive, and a USB splitter so that you can connect the USB drive to your Fire Stick.
As far as game controllers go, I have tested a few and found that the 8BitDo SN30 Pro is low-latency and also has a fitting retro nostalgic look and feel to it. It’s about $40 and well worth it — there are also newer versions with Hall-sensor sticks (reducing stick drift), or cool transparent green and purple colors. Note that when connecting it to your Fire Stick, pair the controller in X-Input (Windows) mode instead of D-Input (Android) mode. To do so, press the X and START button at the same time when starting up the controller the first time you pair it. After it’s paired, you just have to press the START button to reconnect to your Fire Stick.
While you can load games directly onto the Fire Stick, it only has 16GB of internal memory which can fill up really fast. Instead, I recommend using a USB drive that you can plug into a PC to load with games, which will simplify the process and give you plenty of space for all of your favorites. Note that you should use a USB 2.0 flash drive, because they have a lower power draw. If you try and use a fancy USB 3.0+ drive it will likely not have enough power to run the drive and the Fire Stick at the same time, since they will both be using the same power source (if you plug in a drive and it’s not recognized, this is probably the reason why). I recommend the SanDisk Cruze Blade, I’ve been using it for years for this exact purpose.
Finally, I recommend this micro USB splitter, which will allow you to plug in the USB drive and power the Fire Stick at the same time.
Download emulator apps
Loading emulators onto your Fire Stick is relatively easy, and this guide will make it even easier to grab those apps all at once. To start, on the Fire Stick go to the Apps section, then search for and install the app called “Downloader”. This is a web browser that will allow you to directly download and install games onto the Fire Stick.
Once installed, go into your Fire Stick settings > My Fire TV > About and then click on the name of your device (“Fire Stick 4K Max”) several times, until you see a pop-up that says you are now a developer. Go back to the My Fire TV settings, then choose Developer Options > Install Unknown Apps > Downloader and turn it ON. Now you are ready to install apps from the Downloader app.
You can either find each emulator on your own, or navigate to this guide using the Downloader app (just search for Retro Game Corps and then click on the Fire Stick guide on my front page). Here are direct links to each of the emulators I recommend:
RetroArch (most retro systems) -- main site
FlyCast (Sega Dreamcast) -- main site
PPSSPP (PlayStation Portable) -- main site
DraStic (Nintendo DS) -- main site
Note that each of these emulators are free. DraStic was previously a paid app only available via the Google Play Store, but as of March 2024, the developer has decided to make it available for free and is working to make it open source. There is no current distribution path or DraStic other than the Play Store, so I am linking to an archive of the latest version.
Load up your games
To load your games, you will first need to format your flash drive to FAT32. The easiest way to do this is to plug it into the Fire Stick, and it will prompt you to reformat the drive. When given the option, choose “External” storage, which lets you plug it directly into a PC afterwards. If you have a flash drive that is 32GB or smaller, it will already be in FAT32 format, so you won’t need to reformat it. If the flash drive is larger than 32GB and you still don’t get a prompt, go into the Fire settings, then choose My Fire TV > USB Drive and format it to External Store from there.
Now, go back to Settings > My Fire TV > USB Drive > Eject USB Drive. Once it is ejected, remove the flash drive from your Fire Stick and plug it into your PC. You should see a bunch of Android-related folder in the root directory; make a folder named “Games” and within that folder, make subfolders for your games (GB, GBC, NES, etc), and put your games inside. Once you have loaded up your games, you can eject it from your PC and plug it back into the Fire Stick.
Set up RetroArch
RetroArch will be your main app for most emulation, especially for those systems which are more retro-oriented. The app itself takes some time to get acquainted with, so I recommend my full RetroArch guide video above. It’s a little long, but it will break down each component of the emulation frontend.
The most important part will be to install the cores that work best for the Fire Stick. These are the cores that I recommend:
Recommended RetroArch cores:
Arcade (FinalBurn Neo) -- fighting games and beat'em ups
Arcade (MAME 2003-Plus) -- all-around arcade emulation
Commodore Amiga (PUAE)
DOS (DosBox-Pure)
NEC PCE/TG-16/PCE-CD/TG-CD (Beetle PCE)
Nintendo GB/GBC (Gambatte)
Nintendo GBA (mGBA)
Nintendo Virtual Boy (Beetle VB)
Nintendo NES (Nestopia UE)
Nintendo SNES (Snes9x Current)
Nintendo 64 (ParaLLEl)
ScummVM -- point-and-click PC games
Sega Master System/Genesis/CD (Genesis Plus GX)
Sega 32x (PicoDrive)
SNK Neo Geo (FinalBurn Neo)
Sony PlayStation (SwanStation)
From there, you will want to set your System folder to point to your BIOS folder, bind your controller keys, set your hotkeys, and create playlists, which are all explained in the video above. Here is a diagram of my recommended hotkey settings:

After that, you should be good to go: navigate to your playlist, pick a game, and start it up.
Other notes
- When setting up DraStic and PPSSPP, the app will ask for you to choose your game folder. Unfortunately, the Fire Stick controller and your game controller won’t let you properly navigate the file system to pick your folder, and it can be frustrating. I found the best method is to connect a bluetooth mouse and then click around until you find it (strangely, the mouse cursor won’t appear, so you have to feel yourself around). Using a bluetooth keyboard might work better. Thankfully, you only have to do this one time, and after that it will know where your games are located.
- Frontends like Daijisho can be installed, but won’t be able to launch RetroArch games for some reason. I’ve mostly just been launching the individual apps and running the games from there.
- Some emulators and cores can be installed but will crash when you try and launch a game. For example, the RetroArch Flycast core will crash when you start a game, and the standalone Mupen64Plus FZ app will crash as well. Redream is a Dreamcast emulator that works pretty well, but has severe graphical issues with many games.
Changelog
06MAR2024
– published guide
You can find the apk for Drastic also on APKPure, and it’s the new free version, the apk on archive.org linked here is older and the file size is different, but they’re both the last version (2.6.0.4a)
LikeLike
Seem to be having a decent amount of input latency on SNES games with both an 8bitdo Lite and 8bitdo Pro 2. I have them both in X input mode and also tried turning on runahead of 1 but it is still fairly noticeable. I don’t have any shaders or filters on so it should have more than enough power?
Any ideas
LikeLike
Just use the Snes9x 2010 core.
LikeLike
Also, make sure your controller’s firmware is up-to-date, if applicable.
LikeLike
hi. Is it working with a 2nd controller as well ? Does it increase the latency ?
LikeLike
Yes, I have had success with 2 players using two controllers of the same kind (8bitdo SN30 Pro Bluetooth). But, I had to do some troubleshooting, and it is finicky with those controllers
For instance, my first time connecting both controllers, my Controller 1 (ctrl 1) was mixing signal with my Controller 2 (ctrl 2). Playing Mortal Kombat, player 2 would push a button and make player 1 kick or punch. I had both controllers in Xinput by powering up the controllers with Start+X. I disconnected ctrl 2 from the firestick and tried powering up with Start+B (Dinput) and connected to the firestick. I mapped the inputs in RetroArch and had success. With a controller in Xinput, you can use the right Button with the Blocks, under Button B, to back out to the Firestick Home Screen. That is the Default setting for that button. But in Dinput, it will not back out, and has no function, unless you map it to a setting in RetroArch.
Later, after a week of playing for a couple hours a day with 2 players, I retried both controllers back in Xinput, and well it worked. I could have accidentally mapped a control on ctrl 2 with ctrl 1. But I will say, it has some bugs with using these controllers.
Bugs I have encountered with these specific controllers:
-When one controller turns off after being idle too long, while in game/RetroArch, RetroArch will not recognize the controller when you turn it back on. But the Button with the Blocks, sometimes works, and I would have to go back to the Firestick Home Screen and Force Quit RetroArch and Relaunch RetroArch. After Relaunch, my controller will work. If your Controller doesn’t work, then I have to use the Firestick Remote Control, and do the same process of shutting down RetroArch.
-Having to remap the inputs on certain games, while in game. Ctrl 1 and 2 will have the same mapping input in RetroArch, but a specific game has different mapping inputs on the controllers. So, ctrl 1 may be working as desired, but ctrl 2 will have different mapping inputs in game and not the same as ctrl 1. On ctrl 1, (B) maybe Low Punch, but on ctrl 2 (B) will be High Kick. I just redo the mapping input in the game core and save the mapping input to the specific game.
-Specific game will forget joystick mapping on ctrl 2. During game I will have to go to RetroArch and remap the joystick on ctrl 2.
Some of these bugs happen on more intensive games, and I believe it is the limitations of the firestick. I have paused a game, and opened an app (Youtube), watched a video and came back to a paused game in RetroArch.
Turn off settings on the Firestick that may use CPU or Ram (Data, Analytics, Video Commercial playing in the Home Screen). I have everything I can turned off, and will restart the Firestick before Gaming, this way I get a better experience.
LikeLike
Hi
Thank you very much for this totorial , is there any way to install the ES-DE for android , it’s will be a much better UI experience in Fire Stick
Thanks
regards
LikeLike
Thanks Russ for this great guide. The only thing I found a bit confusing was setting up Flycast, apologies if you have a separate guide I couldn’t find it, anyway I managed to Google it and figure out how to set it up. One thing I found with Flycast was that – with the cores I tested (Crazy Taxi, Sonic 2, Daytona, not a huge number I know) when I switched graphics from OpenGL to Vulkan I went from almost unplayable to a rock solid 60fps with no frame skipping, it was amazing couldn’t see any downside while testing. So anyway that may be helpful for people trying to play Dreamcast on their fire stick 🙂
LikeLike
Hello everyone,
I am not able to get the rumble function to work on the ps1 swanstation core. I’ve enabled it on the settings menu, and have switched the controller to DualShock on the input binds on the quick menu, I’ve tried with an Xbox one s and a ds4 controller, and still nothing. I’ve tried connecting the 8bitdo ultimate controller with the dongle, controller switch on 2.4ghz, and it won’t even connect, I can get to connect via blue tooth, but it won’t rumble. Any ideas, or am I just sol? Will the one that is shown on this article (sn30 pro?) work with rumble?
LikeLike
Any chance on helping with why I keep getting “Failed to load content” when trying to load NES games?
LikeLike
I hhave been having a hell of a time getting ppspsp menu to point to/find my external drive.. Can’t navigate the menu. I found you can open the game with x – plore and it opens it with ppspsp app but you have to do that with every game and it only stays in recents till the firestick restarts.. Damn Amazon.
LikeLike
my retroarch crashes whenever I try to scan a folder manually, could it be I have too much files in that folder?
LikeLike
Nvm, solved it but limiting the items per folder to around 700 to 800.
LikeLike
drastic link is broken. Any recommendations for replacement?
LikeLike
Any you going to upload your videos to different platforms due to issues with the big N?
LikeLike