Difference between revisions of "Super Nintendo emulators"

From Emulation General Wiki
Jump to navigation Jump to search
m (1 revision)
(Cleaning up, added references and links)
Line 1: Line 1:
[[File:SNES-and-controller.jpg|thumb||250px|The Super Nintendo Entertainment System (SNES)]]The '''[https://en.wikipedia.org/wiki/Super_Nintendo_Entertainment_System Super Nintendo Entertainment System]''' (SNES) is a 16-bit, 4th generation console released on 1990 in North America. In Japan, it was known as the Super Famicom. The '''Satellaview''' was a subscription based add-on released only in Japan that streamed content to the Super Famicom. The '''Super Game Boy''' was a peripheral designed to play Game Boy and black Game Boy Color cartridges on the Super Nintendo. Both the Satellaview and the Super Game Boy are supported by [[higan]].
+
[[File:SNES-and-controller.jpg|thumb||250px|The Super Nintendo Entertainment System (SNES)]]The '''[[gametech:Super Nintendo Entertainment System|Super Nintendo Entertainment System]]''' (SNES) is a 16-bit, fourth-generation console released in 1990 by [[wikipedia:Nintendo|Nintendo]] in North America. In Japan, it was known as the Super Famicom. The '''Satellaview''' was a subscription-based add-on released only in Japan that streamed content to the Super Famicom. The '''[[gametech:Super Game Boy|Super Game Boy]]''' was a peripheral designed to play Game Boy and black Game Boy Color cartridges on the Super Nintendo. Both the Satellaview and the Super Game Boy are supported by [[higan]].
  
Emulation for the SNES is robust, with several high quality emulators for various systems, with some even being [[cycle accurate]].
+
Emulation for the SNES is robust, with several high quality emulators for various systems, some of which are [[cycle accurate]].
  
 
==Emulators==
 
==Emulators==
Line 184: Line 184:
 
|}
 
|}
  
<nowiki>*</nowiki>This emulator is in beta stages at the moment, but it does run quite a few games. It doesn't support any cart-chips (SuperFX, DSP-1, Cx4, and so on), but for the Old 3DS, it's the best option so far. If using a New 3DS, use CATSFC with RetroArch.
+
<nowiki>*</nowiki> ''This emulator is currently in beta, but it does run several games. A compatibility list is available [http://wiki.gbatemp.net/wiki/BlargSnes_Compatibility_List here]. It doesn't support any cart-chips (SuperFX, DSP-1, Cx4, etc.), but for the Old 3DS, it's the best option so far. If using a New 3DS, use CATSFC with RetroArch.''
A compatibility list is available [http://wiki.gbatemp.net/wiki/BlargSnes_Compatibility_List here].
 
  
 
===Comparisons===
 
===Comparisons===
 
1. [[Higan]] (formerly bsnes)
 
1. [[Higan]] (formerly bsnes)
* The most [[accurate]] of the bunch. Should play all commercially released games without trouble, assuming you have the power.
+
* The most [[Emulation Accuracy|accurate]] of the bunch. It should play all commercially released games without trouble, assuming you have the power.
* ROM hacks designed around emulator quirks will most likely not work. Same as with real hardware.
+
* ROM hacks designed around emulator quirks will most likely not work, same as with real hardware.
 
* LLE audio sounds amazing.
 
* LLE audio sounds amazing.
  
 
2. [[Snes9x]]
 
2. [[Snes9x]]
* Compatible with most games, even many romhacks that make use of emulator quirks.
+
* Compatible with most games, even many ROM hacks that make use of emulator quirks.
* Fast enough for pretty much any toaster (think Pentium 1 or 2, yes I tested!)
+
* Fast enough for pretty much any toaster (even Pentium 1 or 2 machines)
 
* LLE audio, same as bsnes's.
 
* LLE audio, same as bsnes's.
 
* Often buggy graphical output and shader support in standalone
 
* Often buggy graphical output and shader support in standalone
 
** Driver/GPU dependent.
 
** Driver/GPU dependent.
 
** Remember those diagonal lines of offset across older 3D games on certain graphics cards? Yeah. ''Finding a picture.''
 
** Remember those diagonal lines of offset across older 3D games on certain graphics cards? Yeah. ''Finding a picture.''
* Hit and miss controller support, especially when it comes to XInput devices.
+
* Hit-and-miss controller support, especially when it comes to XInput devices.
  
3. [[RetroArch]], which has bsnes, and Snes9x cores.
+
3. [[RetroArch]], which has bsnes and Snes9x cores.
 
* The same points as the emulators themselves
 
* The same points as the emulators themselves
 
* Amazing graphical output
 
* Amazing graphical output
 
** At any resolution
 
** At any resolution
** At any fullscreen resolution and refresh rate
+
** At any full-screen resolution and refresh rate
 
** Vast [[Shaders_and_Filters|shader]] support
 
** Vast [[Shaders_and_Filters|shader]] support
 
* Dynamic rate control kills off most audio distortion, such as crackling.
 
* Dynamic rate control kills off most audio distortion, such as crackling.
 
* Does not require Game Folders or anything like higan standalone.
 
* Does not require Game Folders or anything like higan standalone.
* Has a fork of Snes9x known as Snes9x Next that is based on a WIP of Snes9x between 1.52 and 1.53 with some extra speedhacks so it runs full speed on a Wii, as well as a SuperFX overclock option.
+
* Has a fork of Snes9x known as Snes9x Next that is based on a WIP of Snes9x between 1.52 and 1.53 with some extra speed hacks so it runs full speed on a Wii, as well as a SuperFX overclock option.
 
* Has a fork of bsnes known as bsnes-mercury, which aims to restore functionality like HLE DSP chip emulation and SGB emulation using Gambatte that was removed in later versions of bsnes, as well as have some optimizations that don't affect emulation accuracy. It also has an option to overclock SuperFX. Default options make it exactly the same as regular bsnes, with LLE DSP chip emulation enabled.  
 
* Has a fork of bsnes known as bsnes-mercury, which aims to restore functionality like HLE DSP chip emulation and SGB emulation using Gambatte that was removed in later versions of bsnes, as well as have some optimizations that don't affect emulation accuracy. It also has an option to overclock SuperFX. Default options make it exactly the same as regular bsnes, with LLE DSP chip emulation enabled.  
  
 
5. [[BizHawk]]
 
5. [[BizHawk]]
* Useful for TAS (Tool Assisted Speedruns)
+
* Useful for TAS (tool-assisted speedruns)
 
* Written in C#, requires .NET 4.0
 
* Written in C#, requires .NET 4.0
 
* Support for [[Libretro]] SNES cores
 
* Support for [[Libretro]] SNES cores
Line 220: Line 219:
  
 
5. [[Mednafen]]
 
5. [[Mednafen]]
* The SNES core is based on bsnes v059 which is rather old from 2010. It pre-dates the performance/balanced/accuracy builds. This version is much faster than the current version.
+
* The SNES core is based on bsnes v059 which is rather old from 2010. It predates the performance/balanced/accuracy builds. This version is much faster than the current version.
 
* Missing many of the LLE audio improvements that newer versions of Snes9x and higan use currently.
 
* Missing many of the LLE audio improvements that newer versions of Snes9x and higan use currently.
 
* The version of bsnes that Mednafen is using is missing out on many accuracy updates that particularly impacts a few edge case games such as Air Strike Patrol. The significance of this game is it was one of two games known to manipulate the PPU mid-scanline and is notoriously difficult to emulate. Some of the problems Mednafen has versus newer cores is poorly rendered text, flickering lines near the bottom of the screen, and missing shadow during flight.
 
* The version of bsnes that Mednafen is using is missing out on many accuracy updates that particularly impacts a few edge case games such as Air Strike Patrol. The significance of this game is it was one of two games known to manipulate the PPU mid-scanline and is notoriously difficult to emulate. Some of the problems Mednafen has versus newer cores is poorly rendered text, flickering lines near the bottom of the screen, and missing shadow during flight.
Line 227: Line 226:
 
6. [[ZSNES]]
 
6. [[ZSNES]]
 
* Will run full speed on very old x86 systems such as an early Pentium 1.
 
* Will run full speed on very old x86 systems such as an early Pentium 1.
* Romhacks were often designed around its speedhacks and many won't work properly on anything else.
+
* ROM hacks were often designed around its speed hacks and many won't work properly on anything else.
* Though fans have modded this, it is basically a dead emulator with no future.
+
* Though fans have made modded builds, it is basically a dead emulator with no future.
 
* Many bugs and lacked functions for many games, see [[ZSNES#Review|ZSNES review]]
 
* Many bugs and lacked functions for many games, see [[ZSNES#Review|ZSNES review]]
 
* Polarizing graphical user interface (loved by some, hated by others)
 
* Polarizing graphical user interface (loved by some, hated by others)
* Much like older versions of Snes9x, relies on external pre-decompressed graphical packs to emulate some games with elaborate chips. Assuming you get the (now really hard to find) graphical packs for the SPC7110 (like from [http://other.ipherswipsite.com/gpacks/ here]) and Star Ocean (todo), and you put them in folders you then set under "Paths" in ZSNES, they can be playable without missing graphics. Same for older versions of Snes9x (like 1.43).
+
* Much like older versions of Snes9x, relies on external pre-decompressed graphical packs to emulate some games with elaborate chips. Assuming you get the (now really hard to find) graphical packs for the SPC7110 (like from [http://other.ipherswipsite.com/gpacks/ here]) and Star Ocean (to-do), and you put them in folders you then set under "Paths" in ZSNES, they can be playable without missing graphics. Same for older versions of Snes9x (like 1.43).
  
'''NOTE:''' ZSNES has a '''serious vulnerability''' allowing for '''executing arbitrary code''' (potentially malware), if made to load '''a ROM tampered with''' to allow so. Using ZSNES with SNES ROMs gotten from unknown sources is thus not recommended. Viable alternatives are BZSNES (if you want to load ZSNES-compatible hacks), ZMS (if you want the UI), NO$SNS or older versions of Snes9x (for speed on old computers) or any of the other emulators like bsnes/higan and Snes9x (for better compatibility).
+
'''NOTE:''' ZSNES has a '''serious vulnerability''' allowing for '''executing arbitrary code''' (potentially malware) if allowed to load '''a tampered ROM'''. Using ZSNES with SNES ROMs gotten from unknown sources is thus not recommended. Viable alternatives are BZSNES (if you want to load ZSNES-compatible hacks), ZMZ (if you want the UI), NO$SNS or older versions of Snes9x (for speed on old computers) or any of the other emulators like bsnes/higan and Snes9x (for better compatibility).
  
==Satellaview Emulation==
+
==Satellaview emulation==
BS-X or Satellaview software was being broadcast to a special Japan-only hardware as temporary data to be deleted shortly after. As such, a wealth of games went undumped and lost forever.
+
BS-X or Satellaview software was broadcast the console add-on and stored as temporary data to be deleted shortly afterwards. 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 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 maximum cartridge capacity (12MB), but it's not the same thing.
+
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 maximum cartridge capacity (12MB), 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 as regular emulators, you may face issues for many of these games (no font appearing, hangs with black screen...). You'll need Satellaview emulation to properly emulate those.
+
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 as regular emulators, you may face issues for many of these games (no font appearing, hangs with black screen, and so on). You'll need Satellaview emulation to properly emulate those.
  
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 romhackers and translators) but falls behind the others when it comes to general emulation.
+
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. It has 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).  
+
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 - asking 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 (you may be interested though in seeing how Nintendo used to do loading screens: to get to enjoy them without them shutting down instantly, open BSX0001-47.bin (bsxdat folder) in a hex editor and change at offset 0x06 that 0x30 to 0x00.) and most houses will be closed.
+
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 <code>BSX0001-47.bin</code> (bsxdat folder) in a hex editor and change offset <code>0x06</code> from <code>0x30</code> to <code>0x00</code>. 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. In some cases, you may 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).
+
You'll want to enter the little red house you start in front of and load the stored data. In some cases, you may have to wait a while before actual game play starts, or until a given time (on real hardware people would wait for up to 6 minutes).
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 302: Line 301:
 
|}
 
|}
  
==Data Pack Emulation==
+
==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?)  
 
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 Packs which have data meant to be used as 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 retail form in stores. RPG Tsukuru 2, Sound Novel Tsukuru and Ongaku Tsukuru Kanaderu could save user-created data to 8M Memory Packs.
+
Data Packs are Satellaview 8M Memory Paks which have data meant to be used as 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 games which were compatible with Data Packs are: Same Game, Derby Stallion 96, RPG Tsukuru 2, Sound Novel Tsukuru, Ongaku Tsukuru Kanaderu, Joushou Mahjong Tenpai, SD Gundam G-NEXT, and Shigesato Itoi no Bass Tsuri No. 1.
+
The following games were compatible with Data Packs:
 
+
* Derby Stallion 96
These Data Packs are available in rom sites, named as regular sfc files, but their actual nature couldn't be farther than that. Anyways, they won't load in SNES emulators alone, that's for sure.
+
* 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.
 
Two emulators support this feature:
 
Two emulators support this feature:
 
 
* '''Snes9x:''' Under "File/Load Multi Cart...", choose the base game for "Slot A" and the expansion pack for "Slot B", and then the BS-X BIOS file. The combined game variant should open. Most Memory Pack games should work this way but some are unemulated for various reasons - it's one of the last overlooked areas in SNES emulation after all.
 
* '''Snes9x:''' Under "File/Load Multi Cart...", choose the base game for "Slot A" and the expansion pack for "Slot B", and then the BS-X BIOS file. The combined game variant should open. Most Memory Pack games should work this way but some are unemulated for various reasons - it's one of the last overlooked areas in SNES emulation after all.
 
* '''bsnes-sx2:''' Under "File/Load Slotted BS-X Cartridge". However, due to how the emulator doesn't have a "Show files from all extensions" option, and an oversight during development, the expansion pack file can't be selected. Due to this, current versions can't go in-game.
 
* '''bsnes-sx2:''' Under "File/Load Slotted BS-X Cartridge". However, due to how the emulator doesn't have a "Show files from all extensions" option, and an oversight during development, the expansion pack file can't be selected. Due to this, current versions can't go in-game.
Line 339: Line 344:
  
  
==SNES-CD Revival and Emulation==
+
==SNES-CD revival and emulation==
 
===SNES-CD===
 
===SNES-CD===
It's well-known enough that the Super Famicom was to get a CD add-on, the SNES-CD, developed by Sony who already helped with the sound chip for the SNES. However, Sony got greedy and tried to include a clause in the contract to give them all rights to any software developed on the device - and Nintendo acted like assholes in retaliation by publicly humiliating the Sony execs present in the SNES-CD announcement by claiming they'll partner with Phillips instead. Talks between Sony and Nintendo still resumed afterwards as late as 1993, but couldn't salvage the project. Nintendo lost interest in the CD peripheral seeing how the Sega-CD failed in the US (though the PC-Engine CD enjoyed some relative success). They cancelled the Phillips collaboration on yet another SNES-CD prototype, but allowed them in return 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 basically created their own CD-based SNES-successor console, the first PlayStation. Nintendo wouldn't support CD format afterwards besides a shy attempt as the N64DD that failed due to the third-parties (Square, Enix, Hudson) that were supposed to support it jumping ship to the PS1 like almost everyone else. And the rest is history.
+
It's well-known enough that the Super Famicom was to get a CD add-on called the SNES-CD, developed by Sony who already helped with the sound chip for the SNES. However, Sony got greedy and tried to include a clause in the contract to give them all rights to any software developed on the device. In retaliation, Nintendo publicly humiliated the Sony executives present at the SNES-CD announcement by claiming they would partner with Phillips instead. Talks between Sony and Nintendo continued afterwards 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 cancelled 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 lack of support from third parties, many of whom had opted to support the PS1 instead. And the rest is history.
  
Some prototype units of the Sony SNES-CD were indeed made, and games developed for it but they were reworked as regular SNES cartridge games with lots of content gutted (like Square's Secret of Mana/Romancing Saga 2, and Nintendo R&D's Marvelous), ported to other consoles (like Hook for the Sega-CD), or outright cancelled. They were to have much bigger worlds, streamed music, cutscenes, and even FMVs according to various interviews. However that never happened, and even most of the stuff developed for these consoles, as well as their various manuals/specifications, were lost.  
+
Some prototype units of the Sony SNES-CD were indeed 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 the Sega CD instead, while the rest were outright cancelled. These games were to have much bigger worlds, streamed music, cutscenes, and even FMVs according to various interviews. That never happened, however, and even most of the stuff developed for these consoles, including their various manuals and specifications, were lost.  
  
Lately, an actual Sony SNES-CD prototype has been uncovered and repaired. It had various weird hardware restrictions (number of saves, CD size limit, no coprocessors) with much of it likely having to do with its unfinished nature (for example, it had a planned Audio CD support that doesn't actually work), which means the MSU-1 is a much more attractive alternative for hacks aiming to restore what SNES-CD should have been like.
+
Recently, an actual Sony SNES-CD prototype has been uncovered<ref>http://arstechnica.com/gaming/2015/11/the-fabled-snes-playstation-prototype-has-been-turned-on-and-disassembled/</ref> and repaired.<ref>https://www.youtube.com/watch?v=ug-CyGXMabg</ref><ref>https://www.youtube.com/watch?v=qh91IO9cV48</ref> 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 a planned Audio CD support that doesn't actually work, which means the MSU-1 is a much more attractive alternative for hacks aiming to reflect what 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".
 
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 available SNES-CD games online right now are a BIOS for one of the discovered prototypes, and homebrew games (Magic Floor, Super Boss Gaiden - both have alternate versions as regular SNES roms) which come as BIN+CUE files. NO$SNS 1.6 supports only one CD mode, so it doesn't actually read the CUE but just the BIN file.
+
 
 +
 
 +
The only SNES-CD games available online at this time are a 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 doesn't actually read the CUE but just the BIN file.
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 370: Line 377:
  
 
===MSU-1===
 
===MSU-1===
Come 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), and the closest to SNES-CD you'll ever get. No more 12MB maximal cartridge size limitation!
+
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 12MB maximum cartridge size limitation!
  
One inconvenient is that this specification isn't really supported by most emulators. It's currently supported by the SD2SNES flashcard, BSNES 075 onwards and higan 094 onwards. These hacks simply won't work at all in other emulators, or their developers will implement a MSU-1 check to let the game run in these emulators without the MSU-1 enhancements.
+
One inconvenience is that this specification isn't really supported by most emulators. It's currently supported by the SD2SNES flash card, bsnes (v075 and up), and higan (v094 and up). These hacks simply won't work at all in other emulators, unless their developers implement a MSU-1 check to let the game run in these emulators without the MSU-1 enhancements.
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 399: Line 406:
 
|}
 
|}
  
* 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.bml and the .pcm files (generated with create_pcm.bat, often found ready in 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) and launch with higan/bsnes.
+
To load the MSU-1 patched games with higan or bsnes:
 +
# Patch the original SNES ROM with the IPS patch
 +
# Make sure to copy <code>manifest.bml</code> and the PCM files (generated with <code>create_pcm.bat</code>, often found included with the sound pack) in the same directory as the ROM
 +
#* Make sure it's <code>%USERPROFILE%\Emulation\Super Famicom\</code> in the case of higan, and follow the readme included to know what names to use
 +
# Launch with higan/bsnes.
  
 
Notable hacks for the MSU-1 include:
 
Notable hacks for the MSU-1 include:
* Mega Man X
+
* [http://bszelda.zeldalegends.net/right.shtml BS Zelda no Densetsu] (a restoration of how the streamed audio played in the Satellaview game!)
* Mega Man X3 with Saturn/PC audio
+
* [http://bszelda.zeldalegends.net/sekibanfiles.shtml BS Zelda no Densetsu: Inishie no Sekiban]
* Zelda A Link to the Past (with optional patch adding FMVs)
+
* [http://www.romhacking.net/hacks/2546/ Chrono Trigger]
* Super Mario World
+
* [http://www.dkc-atlas.com/forum/viewtopic.php?f=33&t=2073 Donkey Kong Country 2]
* Rock 'n 'Roll Racing
+
* [http://www.romhacking.net/hacks/2483/ The Legend of Zelda: A Link to the Past] (with an optional patch adding FMVs)
* Super Road Blaster (port of FMV Arcade game)
+
* [http://www.romhacking.net/hacks/2274/ Mega Man X]
* Donkey Kong Country 2
+
* [http://www.romhacking.net/hacks/2342/ Mega Man X3] (with Saturn/PC audio)
* Chrono Trigger
+
* [http://www.romhacking.net/hacks/2311/ Rock n' Roll Racing]
* BS Zelda - a restoration of how the streamed audio played in the Satellaview game!
+
* [http://www.romhacking.net/hacks/2467/ Secret of Mana]
* BS Zelda Inishie no Sekiban
+
* [http://www.romhacking.net/hacks/2472/ Super Mario World]
* Secret of Mana
+
* [http://www.dforce3000.de/?uid=48 Super Road Blaster] (port of the FMV arcade game)
 +
 
 +
==References==
 +
{{reflist}}
  
 
==Resources==
 
==Resources==
*[http://wiki.superfamicom.org/snes/show/HomePage SNES Development Wiki] - SNES Development Wiki for you know, SNES Development.
+
* [http://wiki.superfamicom.org/snes/show/HomePage SNES Development Wiki] SNES Development Wiki for you know, SNES Development.
*[http://tasvideos.org/EmulatorResources/SNESAccuracyTests.html SNES Accuracy Tests (TASVideos)] - Test results on various emulators using test ROMs
+
* [http://tasvideos.org/EmulatorResources/SNESAccuracyTests.html SNES Accuracy Tests (TASVideos)] Test results on various emulators using test ROMs
  
 
[[Category:Consoles]]
 
[[Category:Consoles]]
 
[[Category:Nintendo consoles]]
 
[[Category:Nintendo consoles]]
 
[[Category:Super Nintendo emulators|*]]
 
[[Category:Super Nintendo emulators|*]]

Revision as of 06:37, 24 September 2016

The Super Nintendo Entertainment System (SNES)

The Super Nintendo Entertainment System (SNES) is a 16-bit, fourth-generation console released in 1990 by Nintendo in North America. In Japan, it was known as the Super Famicom. The Satellaview was a subscription-based add-on released only in Japan that streamed content to the Super Famicom. The Super Game Boy was a peripheral designed to play Game Boy and black Game Boy Color cartridges on the Super Nintendo. Both the Satellaview and the Super Game Boy are supported by higan.

Emulation for the SNES is robust, with several high quality emulators for various systems, some of which are cycle accurate.

Emulators

PC
Name OS Version Libretro Core Accuracy Recommended
Higan (formerly bsnes) Windows, Linux v110 Cycle
Snes9x Multi-platform 1.53 High
BizHawk (bsnes) Windows 2.9.1 Cycle
Mednafen (bsnes) Multi-platform 1.32.1 High
lsnes Windows rr2-β23 Cycle
MESS Multi-platform 0.264 Low
Silhouette Macintosh 1.0 Low
ZSNES Multi-platform 1.51 Low
CATSFC Multi-platform 1.36 Low
NO$SNS Windows 1.6 Medium
Mobile
Name OS Version Libretro Core Accuracy Recommended
Snes9x Next Multi-platform 1.53 Mid
Snes9x EX+ Android 1.5.28 High
Snes9x EX Android 1.5.28 Low
SuperGNES Android r89 Low
CATSFC Multi-platform 1.36 Low
Snes8x Windows Phone 2.15.3 ? Mid
Console
Name OS Version Libretro Core Accuracy Recommended
Virtual Console Wii and Wii U n/a Mid-High
Snes9x Next Multi-platform 1.53 Mid
Snes9xTYL(me)cm Mod PlayStation Portable r26 Low
CATSFC Multi-platform 1.36 Low
blargSNES* 3DS 1.3 Low

* This emulator is currently in beta, but it does run several games. A compatibility list is available here. It doesn't support any cart-chips (SuperFX, DSP-1, Cx4, etc.), but for the Old 3DS, it's the best option so far. If using a New 3DS, use CATSFC with RetroArch.

Comparisons

1. Higan (formerly bsnes)

  • The most accurate of the bunch. It should play all commercially released games without trouble, assuming you have the power.
  • ROM hacks designed around emulator quirks will most likely not work, same as with real hardware.
  • LLE audio sounds amazing.

2. Snes9x

  • 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)
  • LLE audio, same as bsnes's.
  • Often buggy graphical output and shader support in standalone
    • Driver/GPU dependent.
    • Remember those diagonal lines of offset across older 3D games on certain graphics cards? Yeah. Finding a picture.
  • Hit-and-miss controller support, especially when it comes to XInput devices.

3. RetroArch, which has bsnes and Snes9x cores.

  • The same points as the emulators themselves
  • Amazing graphical output
    • At any resolution
    • At any full-screen resolution and refresh rate
    • Vast shader support
  • Dynamic rate control kills off most audio distortion, such as crackling.
  • Does not require Game Folders or anything like higan standalone.
  • Has a fork of Snes9x known as Snes9x Next that is based on a WIP of Snes9x between 1.52 and 1.53 with some extra speed hacks so it runs full speed on a Wii, as well as a SuperFX overclock option.
  • Has a fork of bsnes known as bsnes-mercury, which aims to restore functionality like HLE DSP chip emulation and SGB emulation using Gambatte that was removed in later versions of bsnes, as well as have some optimizations that don't affect emulation accuracy. It also has an option to overclock SuperFX. Default options make it exactly the same as regular bsnes, with LLE DSP chip emulation enabled.

5. BizHawk

  • Useful for TAS (tool-assisted speedruns)
  • Written in C#, requires .NET 4.0
  • Support for Libretro SNES cores
  • Windows-only

5. Mednafen

  • The SNES core is based on bsnes v059 which is rather old from 2010. It predates the performance/balanced/accuracy builds. This version is much faster than the current version.
  • Missing many of the LLE audio improvements that newer versions of Snes9x and higan use currently.
  • The version of bsnes that Mednafen is using is missing out on many accuracy updates that particularly impacts a few edge case games such as Air Strike Patrol. The significance of this game is it was one of two games known to manipulate the PPU mid-scanline and is notoriously difficult to emulate. Some of the problems Mednafen has versus newer cores is poorly rendered text, flickering lines near the bottom of the screen, and missing shadow during flight.
  • While acceptable for many games its recommended to use Snes9x, higan, or RetroArch instead.

6. ZSNES

  • Will run full speed on very old x86 systems such as an early Pentium 1.
  • ROM hacks were often designed around its speed hacks and many won't work properly on anything else.
  • Though fans have made modded builds, it is basically a dead emulator with no future.
  • Many bugs and lacked functions for many games, see ZSNES review
  • Polarizing graphical user interface (loved by some, hated by others)
  • Much like older versions of Snes9x, relies on external pre-decompressed graphical packs to emulate some games with elaborate chips. Assuming you get the (now really hard to find) graphical packs for the SPC7110 (like from here) and Star Ocean (to-do), and you put them in folders you then set under "Paths" in ZSNES, they can be playable without missing graphics. Same for older versions of Snes9x (like 1.43).

NOTE: ZSNES has a serious vulnerability allowing for executing arbitrary code (potentially malware) if allowed to load a tampered ROM. Using ZSNES with SNES ROMs gotten from unknown sources is thus not recommended. Viable alternatives are BZSNES (if you want to load ZSNES-compatible hacks), ZMZ (if you want the UI), NO$SNS or older versions of Snes9x (for speed on old computers) or any of the other emulators like bsnes/higan and Snes9x (for better compatibility).

Satellaview emulation

BS-X or Satellaview software was broadcast the console add-on and stored as temporary data to be deleted shortly afterwards. 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 maximum cartridge capacity (12MB), 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 as regular emulators, you may face issues for many of these games (no font appearing, hangs with black screen, and so on). You'll need Satellaview emulation to properly emulate those.

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 0x06 from 0x30 to 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. In some cases, you may have to wait a while before actual game play starts, or until a given time (on real hardware people would wait for up to 6 minutes).

PC
Name OS Version BS-X Emulation Recommended
bsnes Windows sx2 v0.09 (based on v082) Cycle
Snes9x Windows x86, x64 sx2 0.02 (based on 1.53) High
NO$SNS Windows 1.5 (2013) Mid
SNESGT Windows 2.18 (2007) Mid
bsnes (higan) Windows, Linux 0.96 Cycle
BizHawk (bsnes) Windows 2.9.1 Cycle
Mednafen (bsnes) Multi-platform 1.32.1 High

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 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. Two emulators support this feature:

  • Snes9x: Under "File/Load Multi Cart...", choose the base game for "Slot A" and the expansion pack for "Slot B", and then the BS-X BIOS file. The combined game variant should open. Most Memory Pack games should work this way but some are unemulated for various reasons - it's one of the last overlooked areas in SNES emulation after all.
  • bsnes-sx2: Under "File/Load Slotted BS-X Cartridge". However, due to how the emulator doesn't have a "Show files from all extensions" option, and an oversight during development, the expansion pack file can't be selected. Due to this, current versions can't go in-game.
PC
Name OS Version Data Pack Emulation Recommended
bsnes Windows sx2 v0.09 (based on v082) Incomplete
Snes9x Windows x86, x64 sx2 0.02 (based on 1.53) Mid


SNES-CD revival and emulation

SNES-CD

It's well-known enough that the Super Famicom was to get a CD add-on called the SNES-CD, developed by Sony who already helped with the sound chip for the SNES. However, Sony got greedy and tried to include a clause in the contract to give them all rights to any software developed on the device. In retaliation, Nintendo publicly humiliated the Sony executives present at the SNES-CD announcement by claiming they would partner with Phillips instead. Talks between Sony and Nintendo continued afterwards 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 cancelled 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 lack of support from third parties, many of whom had opted to support the PS1 instead. And the rest is history.

Some prototype units of the Sony SNES-CD were indeed 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 the Sega CD instead, while the rest were outright cancelled. These games were to have much bigger worlds, streamed music, cutscenes, and even FMVs according to various interviews. That never happened, however, and even most of the stuff developed for these consoles, including their various manuals and specifications, were lost.

Recently, an actual Sony SNES-CD prototype has been uncovered[1] and repaired.[2][3] 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 a planned Audio CD support that doesn't actually work, which means the MSU-1 is a much more attractive alternative for hacks aiming to reflect what 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 at this time are a 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 doesn't actually read the CUE but just the BIN file.

PC
Name OS Version SNES-CD (Sony) Accuracy Recommended
NO$SNS Windows 1.6 Medium

MSU-1

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 12MB maximum cartridge size limitation!

One inconvenience is that this specification isn't really supported by most emulators. It's currently supported by the SD2SNES flash card, bsnes (v075 and up), and higan (v094 and up). These hacks simply won't work at all in other emulators, unless their developers implement a MSU-1 check to let the game run in these emulators without the MSU-1 enhancements.

PC
Name OS Version MSU-1 Accuracy Recommended
higan Windows, Linux 0.96 Cycle
bsnes Windows, Linux 0.75 Cycle

To load the MSU-1 patched games with higan or bsnes:

  1. Patch the original SNES ROM with the IPS patch
  2. Make sure to copy manifest.bml 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 it's %USERPROFILE%\Emulation\Super Famicom\ in the case of higan, and follow the readme included to know what names to use
  3. Launch with higan/bsnes.

Notable hacks for the MSU-1 include:

References

Resources