Super Nintendo emulators
|Type||Home video game console|
The Super Nintendo Entertainment System (SNES) is a 16-bit, fourth-generation home video game console released by Nintendo on November 21, 1990, in Japan and on August 23, 1991, in the US. It retailed for $199.99. It has a Ricoh 5A22 CPU at 3.58 MHz. Borrowing the name of its predecessor, the Nintendo Entertainment System, it was similarly named the Super Famicom in Japan. During that time it had fierce competition with SEGA's Genesis (known in other regions as the Mega Drive).
Emulation for the SNES is robust, with several high-quality emulators for various systems, some of which are cycle-accurate.
|PC / x86|
beta 10.6 (bsnes-hd)
|✗||✓[N 1]||✓[N 2]||✓[N 2]||✓||✗||✓||~[N 3]||High||✓||✓||✓|
|✗||✗*||✓[N 2]||✓[N 2]||✓||✗||✓||✓||Mid-High||✗ [N 5]||✓||✓|
|Mesen S/SX||2022-3-10 (Mesen SX)
|BizHawk (bsnes v115)||2.8||✗||✓[N 1]||✓||?||?||✗||✗||✗||High||✓||✓||~|
(forked bsnes Qt v073)
|lsnes (based on bsnes)||rr2-β23
|kindred (Super Sleuth PE)||1.12 Preview Build 3||✗||✗||?||✗||?||✗||✗||✗||?||✗||✓||✗|
|Mednafen (bsnes v059)||1.31.0-UNSTABLE||✗||✓[N 1]||✓||?||?||✗||✓||✗||High||✓||✓||✗|
|Mobile / ARM|
(Different from 'Snes9x')
(Snes9x 1.39 based)
|Nintendo Switch Online||N/A||✗||✗||?||✗||✗||✗||✗||✗||Mid-High||✗||✓||✓|
|Snes9x GX||4.5.3||✗||✗||?||✗||✓||✗||✗||✗||?||✓ [N 5]||✓||✓|
RetroArch 360 0.9.8.3
(Snes9x 1.39 based)
|Snes9x for 3DS||git||✗||✗||?||✗||?||✗||✗||✗||Low||✓||✓||✓|
|Pocket SNES||Beta||✗||✗||?||✗||✗||✗||✓||✗||Low||?||✓ (libretro core)||✗|
- Super Gameboy is available and implemented using the bsnes core. However, it is by far the least maintained of the GB cores and is missing a significant amount of accuracy improvements to bsnes + SameBoy. Versions of bsnes at and before v073 used the Gambatte core for its Super Game Boy functionality.
- Use these builds for BS-X and Data Pack emulation
- Only bsnes-mercury libretro core supports RetroAchievements
- ares in pixel accuracy mode. ares in its least accurate configuration is still more CPU-demanding than bsnes in its least accurate configuration.
- Due to using a non-commercial license, its source code is still publicly available.
- libretro core and NovaSquirrel's fork are still active.
- Superseded by ares
- The codifier of emulation accuracy. Should play all commercially released games without trouble, assuming you have the power.
- Incompatible with old ROM hacks made to take advantage of emulator quirks, much like real hardware.
- Has a superb LLE audio engine.
- For maximum authenticity, higan offers better ROM management, but newcomers who care more about playing the ROMs they have should stick with the bsnes release.
- Compatible with most games, even many ROM hacks that make use of emulator quirks.
- Fast enough for pretty much any toaster (even Pentium 1 or 2 machines, though for a decent experience, you'll want at least a late Pentium 3).
- Shares its LLE audio engine with bsnes.
- Older versions may have buggy graphics and shaders in standalone, though it's video card- and driver-dependent.
- Controller support is hit-and-miss, especially when it comes to XInput.
- Not a unique emulator, but there are official cores for bsnes and Snes9x you can obtain easily.
- Very customizable and programmable by nature.
- Tends to have better graphics than standalone software.
- The viewport is scalable to any resolution.
- It makes good use of fullscreen with the right choice of interface.
- A highly robust and flexible shader system completely separate from the core.
- Dynamic rate control fixes most audio issues.
- Mirrored ROM and RAM maps, allowing ordinary ROM images to be played right away.
- The Snes9x Next core was forked from a commit somewhere between upstream version 1.52 and 1.53. It includes some extra speed hacks to run full speed on the Wii, as well as a SuperFX overclock option.
- bsnes-mercury restores things like HLE DSP and SGB emulation using Gambatte, as well as some optimizations that don't sacrifice accuracy. Things like the HLE DSP were removed in higan, and, much like Snes9x Next, it has the option to overclock SuperFX. The default options match bsnes, where HLE emulation is not enabled by default.
- Multi-system emulator by TASVideos, designed for tool-assisted speedruns, but also doubles as an easy-to-use emulator.
- Its SNES core is based on bsnes v115.
- Primarily for Windows, but some Linux compatibility has been reported, likely through Wine.
- Has support for libretro cores.
- Like BizHawk, it's multi-system and based on bsnes.
- Graphical shells exist (like Mednaffe) to help with the fact that it can only run from the command line.
- Its SNES core is based on bsnes v059, which is a pretty old release. It predates the performance/balanced/accuracy profiles as far back as 2010. However, this version is much faster than current higan versions.
- It's missing many of the improvements to the LLE audio engine that newer versions of Snes9x and higan have.
- It also lacks many of the updates to edge cases, such as A.S.P. Air Strike Patrol, one of two games notorious for manipulating the PPU mid-scanline. It also has problems rendering text, flickering lines near the bottom, and displaying shadows during flight.
- There are systems Mednafen emulates well and very accurately, but the SNES is not one of them. At that point, you'd be better off using standalone bsnes.
- Mesen S / Mesen SX
- Launched in April 2019 from the same author of the top-class NES/Famicom emulator Mesen. It was slated to have similar features as its famous forebearer.
- Users who increasingly tire of higan's and bsnes' limited user options and cumbersome ROM and save files management may gravitate towards Mesen-S sooner or later, which should run nicely in users' game systems alongside Snes9x or Mednafen (or similar peer).
- The least accurate of the bunch but still relevant for many reasons, including:
- Running full speed on even very old PCs such as an early Pentium 1.
- Forming the basis for many ROM hacks, which were often designed around (let alone possible, simply because of) its problems and would break on anything else.
- Having tons of bugs and not even emulating some of the original console's operations which some less notable games needed.
- One of these bugs was an ACE vulnerability that, if discovered in the emulator's prime, would've allowed a maliciously designed ROM to run its own code on the host machine. No real-world case of it being exploited exists aside from some harmless proof of concept, but it's always good to verify your ROMs before opening them in ZSNES.
- Having surprisingly good netplay.
- Sporting an iconic DOS-centric GUI.
- While fans have since modded the binaries (including patching out the vulnerability), the project is basically dead.
- Older versions rely on external pre-decompressed graphical packs to emulate some games with elaborate chips, much like older versions of Snes9x, such as 1.43. Assuming you get (what are now rare and very hard-to-find) graphical packs for the SPC7110—like from here—and Star Ocean and put them in folders you then set under "Paths" in ZSNES, they can be playable without missing graphics. With that being said, however, the newest version does not need them for SDD-1 titles, only for SPC7110 titles.
- Viable alternatives are bZSNES (for ZSNES-centric ROM hacks), ZMZ (for the UI), NO$SNS, or older versions of Snes9x (for speed boosts tailored to old systems). Otherwise, choose any of the others like bsnes/higan, or Snes9x (for better compatibility).
High-Resolution Affine Transformations
The SNES had a graphical mode called "Mode 7" that allowed scaling the first background layer. The Super-FX2 added more advanced scaling options, but they're not covered by Mode 7 and, therefore, enhancements for it. The SNES Mode 7 background is limited to 128x128 pixels, and the output resolution is 256x240. As a result, there's heavy aliasing and a general loss of quality with some transformations. However, there have been emulator enhancements to make it look better:
- High resolution: The scaled backgrounds are rendered with subpixel precision at a higher resolution compared to the rest of the game's graphics. This may cause visual discrepancies between both.
- Supersampling: Acts like a sort of anti-aliasing for Mode 7. All graphics are rendered with the same pixel size, though scaled backgrounds are rendered in a higher resolution, then processed back to the same resolution as the rest of the image for a more uniform look. Used to be the only option in bsnes.
- Widescreen: Later added by bsnes-hd.
With certain settings, there is heavy aliasing which we can reduce by increasing the sampling rate.
Mode 7 scaling bilinear filtering
Some older versions of SNES9X offered bilinear filtering for Mode 7 backgrounds, making them smoother/blurrier instead of pixelated as they are scaled instead of just applying the bilinear filter on the video output itself.
Alternative audio interpolation methods
Most SNES emulators, since at least ZSNES 1.3.x, support audio interpolation methods beyond the traditional SNES Gaussian interpolation, such as Linear, Cubic, Sinc, or even no interpolation, should someone prefer that.
Higher sample rates
Likewise, the sample rate can also be set to higher than 32 kHz, even in ZSNES 0.150. Though in some versions of ZSNES in the early 2000s, it did cause some artifacts. Nowadays, emulators support sample rates all the way up to 96 kHz.
There weren't as many accessories that were released for the SNES compared to the NES, but there are still quite a few to go over.
Super Game Boy
The Super Game Boy was a peripheral designed to play Game Boy and black Game Boy Color cartridges on the Super Nintendo through the cartridge slot, just like a typical SNES game. The Super Game Boy uses a special version of the Game Boy hardware to allow for Super Game Boy enhanced Game Boy games to operate its otherwise hidden features, such as colorization and improved sound by way of the SNES's more sophisticated sound hardware.
Although many Game Boy/Game Boy Color emulators and Game Boy Advance emulators fake this ability, higan and ares are the first emulators to truly emulate its features, which requires the SNES and GameBoy to be emulated simultaneously so it's demanding. Mesen S/SX also implemented the full support of Super Game Boy.
Another thing to note is that there's a redesigned model, only released in Japan, called the Super Game Boy 2. It can use a link cable connection that the first model lacks. It also fixes a slight overclocking issue and runs games at normal speed.
There are a few hiccups with emulating the Super Game Boy, however. higan's Game Boy core isn't up to snuff. One notable example is Pokémon Yellow and the special border that's supposed to display. higan displays the standard Game Boy border, while the real hardware displays a special green Pikachu border. On the other hand, Pokémon Gold and Silver, designed for the Game Boy Color, can operate on a Game Boy, and operates as intended when played on a Super Game Boy. Also, if one attempts to run the Game Boy Camera in higan in Super Game Boy mode, the emulator crashes. higan can run in Super Game Boy 2 mode, but link cable connections are not possible yet, not even with other Game Boy emulators that can emulate a link cable.
The asciiPad is a controller by asciiWare that has similar features to the NES Advantage. Unlike the standard SNES controller, it has seven small switches that extend the way buttons are pressed. All the switches can be set to one of three modes for the standard buttons they individually represent, except for the seventh labeled "Slow" which changes the frequency of the additional modes. The switch can be set to off, turbo, and auto. The turbo setting holds the button, and the auto setting control presses them automatically. higan is the first and only emulator known to support this specific controller's switches. Other emulators have a completely different implementation of turbo presses in their GUI, which can work for some, but not to this extent.
The mouse allowed for control in Mario Paint and Mario & Wario, among other games. Though in later games, mouse support was optional. Some emulators, including Snes9x and ares/bsnes/higan, support the Mouse. A ROM hack for Mario & Wario replaces mouse controls with traditional controls for the emulators that don't support this feature.
The Super Scope is a bazooka-looking light gun that is a bit more complex than the Zapper for the Nintendo Entertainment System. Super Scope 6, Yoshi's Safari, Battle Clash, and Metal Combat: Falcon's Revenge used it. Some emulators including Snes9x and bsnes/higan support the Super Scope, emulated with the mouse.
Similar to the NES Zapper, but differs from the Super Scope. It's a another light gun, but requiring calibration this time around. It looks like a real gun. It was intended to simulate the shooter arcade experience. Only one game is compatible, and that's Lethal Enforcers. Snes9x and higan support this gun.
Made by Hudson Soft and licensed by Nintendo, this functions similarly to the NES Four Score. Instead of using both controller ports, it just used one, allowing up to 5 players at once. Bomberman games used this accessory. Some emulators, including Snes9x and bsnes/higan, support five players.
JRA PAT, SNES Modem, and NTT Data Controller
This is a rather obscure Super Famicom game with compatible accessories. JRA PAT is a horse race gambling game that allowed you to use real money. The service is dead. No emulator appears to support the special controller and modem that plugs into the player 1 and player 2 slots.
A few games by Koei shipped with an Audio-CD that typically contained voice acting and supported the Voice-kun accessory, which would command a CD player with IR signals. Typically used by remote controllers so that audio plays at specific points in the game. These games are still playable in most emulators but without Voice-kun support. byuu intends to make either MSU-1 hacks or proper Voice-kun emulation for these games in future higan versions, which would make it the first emulator to emulate this feature.
The Satellaview was a subscription-based add-on released only in Japan that streamed content to the Super Famicom. BS-X or Satellaview software was broadcast to the console add-on and stored as temporary data to be deleted shortly afterward. As such, a wealth of games went undumped and lost forever.
Many of these games had Soundlink features and would have assets like streamed music and voice acting, as well as some extra data, but these have been lost forever outside of video recordings and OST releases. These games will likely play without music on your emulator. The entirely fan-made MSU-1 feature on the higan emulator tries to replicate the BS-X Satellaview and unreleased SNES-CD concept for streamed music in SNES games far beyond the 12 MB cartridge capacity,, but it's not the same thing.
Some games like BS Treasure Conflix make use of the additional RAM provided by the BS-X add-on. While you can try playing them on regular SNES emulators, you may face issues for many of these games (no font appearing, hangs with a black screen, and so on). You'll need Satellaview emulation to properly emulate those games.
bsnes-sx2 and snes9x-sx2 are recommended. They use your PC clock with no option to modify it, though. SNESGT had the option to modify the clock, but it wasn't updated for a while and isn't really recommended for SNES emulation in general. No$SNS has good BS-X emulation (and the best debugger tools for ROM hackers and translators) but falls behind the others when it comes to general emulation.
You'll need the BS-X BIOS to properly emulate the Satellaview. It goes as "BS-X.bin" under the "BIOS" folder when using snes9x-sx2. There are many variants. You'll want the translated one (with English text) with removed DRM so that you can play a given broadcast without restrictions on how many times you can do so, like in the original hardware.
Whenever you open a BS-X compatible ROM (that wasn't modified to behave like a normal SNES game, like most BS Zelda translations were), you'll be greeted by the BIOS software. It will ask you to choose your name and avatar, which you can control in a city. Of course, the St-GIGA broadcast service went defunct in 2000, so the big radio tower will just give you a "Hello Satellaview" test broadcast. However, you may be interested in seeing how Nintendo used to do loading screens. To see them without them shutting down instantly, open
BSX0001-47.bin (bsxdat folder) in a hex editor and change offset
0x00. Most houses will be closed, though.
You'll want to enter the little red house you start in front of and load the stored data. Sometimes, you might have to wait a while before actual gameplay starts or until a given time. On real hardware, people would wait for up to 6 minutes!
Data Pack emulation
Also known as DLC for the Super Famicom - not only the old Mega Drive could do its lock-on thing! (incredible, isn't it?)
Data Packs are Satellaview 8M Memory Paks, which have data meant to be used as an expansion for a Data Pack-compatible game. Data Pack-compatible game cartridges look like the BS-X Cartridge. For most of these games, data was distributed via St.GIGA’s Satellaview streaming services. Same Game and SD Gundam G-Next had some Data Packs sold in physical form via retail stores. RPG Tsukuru 2, Sound Novel Tsukuru and Ongaku Tsukuru Kanaderu could save user-created data to 8M Memory Paks.
The following games were compatible with Data Packs:
- Derby Stallion 96
- Joushou Mahjong Tenpai
- Ongaku Tsukuru Kanaderu
- RPG Tsukuru 2
- Same Game
- SD Gundam G-NEXT
- Shigesato Itoi no Bass Tsuri No. 1
- Sound Novel Tsukuru
These Data Packs are available on ROM sites as regular SFC files, but their actual nature couldn't be more different. Unlike regular SNES games, they won't load in SNES emulators by themselves. These emulators support this feature:
- Snes9x: To play SFC games with Memory Pack support (also works with BS-X): Use File -> Load MultiCart... and put the main game in Slot A and the Memory Pack dump in Slot B. Memory Pack changes are not saved automatically, you need to use Save Other -> Save Memory Pack. (Optional) You can put Satellaview Broadcast Files in a folder named SatData (can be changed in the settings). Satellaview Time & Date are based on current time.
- bsnes-plus: To play SFC games with Memory Pack support: Under "File/Load Slotted BS-X Cartridge". Memory Pack changes are not saved automatically, you need to use File -> Save Memory Pack... bsxdat folder contains Satellaview Broadcast Files. Satellaview expansion needs to be enabled to work. You can change the Satellaview Time & Date in the settings to either use the current time or start with a specific time setup (recommended).
- higan: Importing a memory pak is like importing a regular game, but the name of the memory pak file must end in .bs (if it’s in a .zip file, that’s OK, but the name inside the .zip file must end in .bs) in order for it to be successfully imported. Sometimes memory pak filenames end in .sfc, which will make higan try to import them as regular Super Famicom games and fail. Rename the file and it should work beautifully. Playing a game that has a slot for a memory pak is just like playing a regular game, but after you have selected which game you want to play higan will open another filesystem browser to let you pick which previously-imported memory pak you want to insert into the game. If you press “Cancel” at this point, the game will load without any cartridge in its memory pak slot. If you load the control cartridge into higan, make sure the emulated Satellaview is connected to the emulated Super Famicom’s expansion port by opening the “Super Famicom” menu, selecting the “Expansion Port” sub-menu, and choosing “Satellaview”. If the expansion port was previously configured with a different option, power-cycle the Super Famicom (also in the “Super Famicom” menu) to make sure the control cartridge will find the Satellaview when it starts up. Note that higan’s Satellaview emulation is not very accurate, so the control cartridge may not work as it should. Playing a memory pak on its own doesn’t make much sense, it’s not a standalone cartridge. Play a game with a memory pak slot, and choose which memory pak you want when higan asks for it.
SNES-CD revival and emulation
It's pretty well-known that the Super Famicom was going to get a CD add-on called the SNES-CD, developed by Sony, who had already helped with the sound chip for the SNES. However, Nintendo were unhappy with Sony's clause in the contract that would give them the rights to any software developed on the device. In retaliation, Nintendo announced that they'd be partnering with Phillips instead. Talks between Sony and Nintendo continued afterward as late as 1993, but the project couldn't be salvaged. Nintendo lost interest in the CD peripheral, seeing how the Sega CD failed in the US, and the PC-Engine CD only enjoyed modest success. They canceled the Phillips collaboration on yet another SNES-CD prototype, but in return, they allowed them to use some of their properties for their Phillips CD-i console. Later, they collaborated with the St. Giga radio service to create the Japan-exclusive Satellaview add-on for the Super Famicom, which played broadcasts of SFC games using streamed audio. As for Sony, they took the hardware and experience from their collaboration with Nintendo to create the first PlayStation. Nintendo would continue to support the cartridge format for its next console, the Nintendo 64. A shy attempt at rewritable disk media was attempted with the 64DD, but the add-on failed due to its 64 MB maximum storage limit, which would be obsoleted by later, bigger N64 cartridges, as well as the lack of support from third parties - many of whom had opted to support the PS1 instead.
Some prototype units of the Sony SNES-CD were made. While games were in development for the add-on, some were eventually reworked as regular SNES cartridge games with lots of content gutted (e.g., Nintendo R&D's Marvelous, Square's Secret of Mana, and Romancing Saga 2). Other games, like Hook, were ported to other systems instead (Hook to the Sega CD and Rayman to the Atari Jaguar, among others), while the rest were outright canceled. These games were to have much bigger worlds, streamed music, cutscenes, and even FMVs, according to various interviews. That never happened, however, and most of what was developed for these consoles, including their various manuals and specifications, were lost.
Recently, an actual Sony SNES-CD prototype was uncovered and repaired. It had various weird hardware restrictions (number of saves, CD size limit, no co-processors), with much of it likely having to do with its unfinished nature. For example, it had planned Audio CD support, though it doesn't actually work, which means the MSU-1 is a much more attractive alternative for hacks aiming to reflect what the SNES-CD could have been.
No$SNS 1.6 supports the Sony SNES-CD add-on. This was made possible after some reverse-engineering and analysis of the leaked BIOS file. Get the leaked Super Disc BIOS, circulating on the net as "SDBR_v0.95.sfc". Under the same directory as the no$sns executable, make a "BIOS" folder, put the BIOS file there, and rename it to "SFX-100.bin".
The only SNES-CD games available online currently are the BIOS for one of the discovered prototypes and two homebrew games. These games, Magic Floor and Super Boss Gaiden (both of which have alternate versions as regular SNES ROMs), come as BIN/CUE files. NO$SNS 1.6 supports only one CD mode, so it only reads the BIN, not the CUE. Both were tested on real hardware and had severe visual glitches due to the SNES-CD adding more undocumented interrupts, which are not accurately emulated anywhere. This means it's safe to say that while SNES-CD emulation exists nowadays, it would have low compatibility with any real unreleased SNES-CD game prototypes.
Cue the MSU-1, which aims to add some of these features to the SNES. It's a custom fan-made hardware specification for an additional chip, eventually made available and working with real SNES hardware as the SD2SNES flashcard. It's the closest to the SNES-CD that you'll ever get. No more 12 MB maximum cartridge size limitation!
One inconvenience is that most emulators don't really support this specification. It's currently supported by the SD2SNES flashcard, bsnes (v075 and up), higan (v094 and up), and Snes9x (1.55 and up). These hacks simply won't work at all in other emulators unless their developers implement an MSU-1 check to let the game run in these emulators without the MSU-1 enhancements (the MSU-1 specification has a specific feature to allow for compatibility testing).
To load the MSU-1 patched games with higan or bsnes:
- Patch the original SNES ROM with the IPS patch
- Make sure to copy
manifest.bmland the PCM files (generated with
create_pcm.bat, often found included with the sound pack) in the same directory as the ROM
- Make sure it's
%USERPROFILE%\Emulation\Super Famicom\in the case of higan, and follow the readme included to know what names to use
- Make sure it's
- Launch with higan/bsnes.
To load the MSU-1 patched games with Snes9x:
- Patch the original SNES ROM with the IPS patch
- Copy the patched ROM file, any MSU image file, and the PCM files (generated with
create_pcm.bat, often found included with the sound pack) in the same directory as the ROM.
- Make sure the files all carry the same name prefix as the base ROM, with the MSU image having a
.msuextension and all PCM files suffixed by track number.
- Make sure the files all carry the same name prefix as the base ROM, with the MSU image having a
- Launch the base ROM with Snes9x.
Notable hacks for the MSU-1 include:
- BS Zelda no Densetsu (a restoration of how the streamed audio played in the Satellaview game!)
- BS Zelda no Densetsu: Inishie no Sekiban
- Chrono Trigger (includes a conversion of the FMV intro from the PlayStation version of the game)
- Donkey Kong Country 2
- The Legend of Zelda: A Link to the Past (with an optional patch adding FMVs)
- Mega Man X
- Mega Man X3 (with CD version audio)
- Rock n' Roll Racing
- Secret of Mana
- Super Mario World
- Super Road Blaster (port of the FMV arcade game)
- List of Super Nintendo Entertainment System accessories