Difference between revisions of "Super Nintendo emulators"

From Emulation General Wiki
Jump to navigation Jump to search
(Comparisons: http://arstechnica.com/gaming/2011/08/accuracy-takes-power-one-mans-3ghz-quest-to-build-a-perfect-snes-emulator/2/)
(That article is not only out of date, but wrong. The game works in balanced just fine.)
Line 165: Line 165:
 
* The most [[accurate]] of the bunch. Should play any and all commercially released games without trouble, assuming you have the power.
 
* The most [[accurate]] of the bunch. Should play any and all commercially released games without trouble, assuming you have the power.
 
* A Core 2 Duo at 2 GHz is the weakest I've seen run the balanced version full speed for most games.
 
* A Core 2 Duo at 2 GHz is the weakest I've seen run the balanced version full speed for most games.
* Balanced works. You do NOT need the accuracy build for anything except ''Speedy Gonzales: Los Gatos Bandidos''.
+
* Balanced works. You do NOT need the accuracy build for anything but one game. And it's just a missing shadow even for that.
 
* 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.

Revision as of 13:02, 4 September 2015

The Super Nintendo Entertainment System (SNES)

The 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.

Emulation for the SNES is robust, with several high quality emulators for various systems, with some even being cycle accurate.

Emulators

PC
Name OS Version Libretro Core Accuracy Recommended
bsnes (higan) Windows, Linux 0.94 Cycle
lsnes Windows rr2-β23 Cycle
Snes9x Multi-platform 1.53 High
BizHawk (bsnes) Windows 2.3.2 Cycle
Mednafen (bsnes) Multi-platform 1.22.2 Stable High
MESS Multi-platform 0.212 Low
Silhouette Macintosh 1.0 Low
ZSNES Multi-platform 1.51 Low
Mobile
Name OS Version Libretro Core Accuracy Recommended
Snes9x Next* Multi-platform 1.53 Mid
Snes9x EX+ Android 1.5.19 Low
SuperGNES Android r89 Low
CATSFC* Multi-platform 1.36 Low

*Only available on mobile as a libretro core (e.g. RetroArch).

Console
Name OS Version Libretro Core Accuracy Recommended
Virtual Console Wii and Wii U n/a Very 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

*Only available on consoles as a libretro core (e.g. RetroArch).

**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, etc.), but for the 3DS, it's the best option so far. A compatibility list is available here.

Comparisons

1. bsnes (higan)

  • The most accurate of the bunch. Should play any and all commercially released games without trouble, assuming you have the power.
  • A Core 2 Duo at 2 GHz is the weakest I've seen run the balanced version full speed for most games.
  • Balanced works. You do NOT need the accuracy build for anything but one game. And it's just a missing shadow even for that.
  • 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 romhacks that make use of emulator quirks.
  • Fast enough for pretty much any toaster (think Pentium 1 or 2, yes I tested!)
  • 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 fullscreen resolution and refresh rate
    • Vast shader support
  • Dynamic rate control kills off most any and all 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 speedhacks 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
  • Windows-only

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.
  • 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 signifigance 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.
  • Romhacks were often designed around its speedhacks and many won't work properly on anything else.
  • Though fans have modded this, 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)

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.

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.

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.

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.

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).

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.

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).

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.94 Cycle
BizHawk (bsnes) Windows 2.3.2 Cycle
Mednafen (bsnes) Multi-platform 1.22.2 Stable High

Data Pack Emulation

Also known as DLC for the Super Famicom - not only the old Megadrive 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.

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.

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.

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


MSU-1 Hack Emulation (SNES-CD like Hacks)

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 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.

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.

Obviously, no emulators, rom dumps or documentation exist publicly for the SNES-CD.

MSU-1

Come the MSU-1, which aims to add some of these features to the SNES. It's a custom 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!

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.

PC
Name OS Version MSU-1 Accuracy Recommended
higan Windows, Linux 0.94 Cycle
bsnes Windows, Linux 0.75 Cycle
  • 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.

Notable hacks for the MSU-1 include:

  • Mega Man X
  • Mega Man X3 with Saturn/PC audio
  • Zelda A Link to the Past (with optional patch adding FMVs)
  • Super Mario World
  • Rock 'n 'Roll Racing
  • Super Road Blaster (port of FMV Arcade game)
  • Donkey Kong Country 2
  • Chrono Trigger
  • BS Zelda - a restoration of how the streamed audio played in the Satellaview game!
  • BS Zelda Inishie no Sekiban
  • Secret of mana

Resources