SNES / Super Famicom (bsnes-mercury Accuracy)Link

Contribute to this documentationLink

In order to propose improvements to this document, visit its corresponding source page on github. Changes are proposed using "Pull Requests."

There is a To-Do list for libretro/docs here

You can submit suggestions or issues regarding documentation at the libretro/docs issue tracker or in our forum thread.

BackgroundLink

bsnes-mercury is a fork of higan, aiming to restore some useful features that have been removed, as well as improving performance a bit. Maximum accuracy is still uncompromisable; anything that affects accuracy is optional and off by default.

This core has been compiled with the Accuracy profile.

Why use this core?Link

Improvements include:

  • Improved framerate
  • Faster ROM loading
  • HLE emulation of some special chips is optionally restored (defaults to LLE), to improve performance and reduce reliance on those chip ROMs (they're not really easy to find). Chips for which no HLE emulation was developed (ST-0011 and ST-0018) are still LLE.
  • SuperFX overclock is now available (off by default, of course); if enabled, it makes SuperFX look quite a lot smoother.

The bsnes-mercury cores are not less accurate at default settings than the mainline bsnes cores (you have to explicitly enable 2 core options to switch to the less accurate special chip HLE).

How to get and install the bsnes-mercury Accuracy core:Link

  • Start up RetroArch. Inside the main menu, go to 'Online Updater'.

  • Just to make sure we have the latest info files, select 'Update Core Info FIles'. Wait until this is done. Then, select 'Core Updater'.

  • Browse through the list and select 'SNES / Super Famicom (bsnes-mercury Accuracy)'.

After this has finished downloading, the core should now be ready for use!

How to start (after installation):Link

  • Go back to RetroArch's main menu screen. Select 'Load Content'.

  • Browse to the folder that contains the content you want to run.

  • Select the content that you want to run.

  • If you are asked which core to select, choose 'SNES / Super Famicom (bsnes-mercury Accuracy)'.

The content should now start running!

AuthorsLink

  • byuu
  • Alcaro

See alsoLink

SNESLink

LicenseLink

A summary of the licenses behind RetroArch and its cores have found here.

The bsnes-mercury Accuracy core is licensed under

ExtensionsLink

Content that can be loaded by the bsnes-mercury Accuracy core have the following file extensions:

  • .sfc
  • .smc
  • .bml

DatabasesLink

RetroArch database(s) that are associated with the bsnes-mercury Accuracy core:

BIOSLink

Required or optional firmware files go in RetroArch's system directory.

Attention

The bsnes-mercury Accuracy core uses split ROMS for special chip games.

Notable DSP1/DSP1B Games:

  • Super Mario Kart
  • Pilotwings

Notable DSP2 Games:

  • Dungeon Master

Notable DSP3 Games:

  • SD Gundam GX

Notable DSP4 Games:

  • Top Gear 3000

Notable Cx4 Games:

  • Mega Man X2
  • Mega Man X3

Attention

The co-processor firmware files for special chip games are only optional when the Allow settings to reduce accuracy core option is enabled and the Special chip accuracy core option is set to HLE. Otherwise, they are required.

Attention

The ST-0011 and ST-0018 co-processors cannot be HLE'd.

Filename Description md5sum
dsp1.data.rom DSP1 co-processor firmware 3d81b45fa0c2aa8b852dfb1ece7c0971
dsp1.program.rom DSP1 co-processor firmware ae209fbe789fbf11a48aea5ab1197321
dsp1b.data.rom DSP1B co-processor firmware 1e3f568634a7d8284020dddc0ae905bc
dsp1b.program.rom DSP1B co-processor firmware d10f446888e097cbf500f3f663cf4f6d
dsp2.data.rom DSP2 co-processor firmware e9417e29223b139c3c4b635a2a3b8744
dsp2.program.rom DSP2 co-processor firmware aa6e5922a3ed5ded54f24247c11143c5
dsp3.data.rom DSP3 co-processor firmware 0a81210c0a940b997dd9843281008ee6
dsp3.program.rom DSP3 co-processor firmware d99ca4562818d49cee1f242705bba6f8
dsp4.data.rom DSP4 co-processor firmware ee4990879eb68e3cbca239c5bc20303d
dsp4.program.rom DSP4 co-processor firmware a151023b948b90ffc23a5b594bb6fef2
cx4.data.rom CX4 co-processor firmware 037ac4296b6b6a5c47c440188d3c72e3
st010.data.rom ST010 co-processor firmware 254d70762b6f59f99c27c395aba7d07d
st010.program.rom ST010 co-processor firmware 1d70019179a59a566a0bb5d3f2845544
st011.data.rom ST011 co-processor firmware 10bd3f4aa949737ab9836512c35bcc29
st011.program.rom ST011 co-processor firmware 95222ebf1c0c2990bcf25db43743f032
st018.data.rom ST018 co-processor firmware 49c898b60d0f15e90d0ba780dd12f366
st018.program.rom ST018 co-processor firmware dda40ccd57390c96e49d30a041f9a9e7
sgb.boot.rom Super Game Boy 1 or 2 BIOS

FeaturesLink

RetroArch-level settings or features that the bsnes-mercury Accuracy core respects.

Feature Supported
Restart
Screenshots
Saves
States
Rewind
Netplay
Core Options
RetroAchievements
RetroArch Cheats
Native Cheats
Controls
Remapping
Multi-Mouse -
Rumble
Sensors
Camera
Location
Subsystem
Softpatching
Disk Control
Username
Language
Crop Overscan

DirectoriesLink

The bsnes-mercury Accuracy core's directory name is 'bsnes-mercury'

The bsnes-mercury Accuracy core saves/loads to/from these directories.

RetroArch's Save directory

  • 'content-name'.srm (Cartridge battery save)

RetroArch's State directory

  • 'content-name'.state# (State)

Geometry and timingLink

  • The bsnes-mercury Accuracy core's internal FPS is 60 except for PAL games. PAL games are 50 fps.
  • The bsnes-mercury Accuracy core's internal sample rate is (Rate)
  • The bsnes-mercury Accuracy core's core provided aspect ratio is dependent on the 'Preferred aspect ratio' core option.

Super Gameboy SupportLink

Warning

Super Gameboy support in this core is command-line only, Windows only and has buggy save state support and visual glitches. Use the higan Accuracy core or the nSide Balanced core for simplified, functional, and easily accessible Super Gameboy support.

Super Gameboy is supported via the Subsystem API. In RetroArch the Subsystem API is only available via CLI.

For SGB support, you need both the sgb.boot.rom (in RetroArch's system directory) and a SNES Super Game Boy ROM.

To launch SGB games, launch RetroArch like this:

retroarch -L {path to bsnes core} {path to SNES Super Game Boy ROM} --subsystem sgb {path to GB rom}

Warning

Super Game Boy ROM and GB roms must be unzipped.

MSU-1 SupportLink

Awaiting description.

Core optionsLink

The bsnes-mercury Accuracy core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.

Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.

  • Allow settings to reduce accuracy (Off/On)

Respect accuracy-impacting settings.

  • Special chip accuracy (LLE/HLE)

Choose whether to use LLE (real BIOS) or HLE (emulated BIOS) for enhancement chips. HLE is less accurate but also less demanding for the special chips. The Allow settings to reduce accuracy core option must be enabled in order for this to function properly. The ST-0011 and ST-0018 co-processors cannot be HLE'd.

  • SuperFX speed (100%/150%/200%/300%/400%/500%/1000%)

Overclock the SuperFX chip. 100% is stock clockspeed. The Allow settings to reduce accuracy core option must be enabled in order for this to function properly.

  • System region (auto/ntsc/pal)

Choose which region the system is from.

  • Preferred aspect ratio (auto/ntsc/pal)

Choose the preferred aspect ratio. RetroArch's aspect ratio must be set to Core provided in the Video seetings.

  • Crop overscan (Off/On)

Crop out the potentially random glitchy video output that would have been hidden by the bezel around the edge of a standard-definition television screen.

  • Gamma ramp (requires restart) (Off/On)

Simulates the way a console’s display device differs from modern computer monitor’s colour reproduction. In particular, it simulates the slightly-different gamma correction used by the Super Famicom.

Gamma ramp - Disabled

Gamma ramp - Enabled

ControllersLink

Device typesLink

The bsnes-mercury Accuracy core supports the following device type(s) in the controls menu, bolded device types are the default for the specified user(s):

User 1 device typesLink

User 2 device typesLink

Multitap supportLink

Activating multitap support in compatible games can be configured by switching to the Multitap device type for User 2.

Controller tablesLink

Joypad and analog device type tableLink

User 1 - 5 Input descriptors RetroPad Inputs SNES Joypad / Multitap
B B
Y Y
Select Select
Start Start
D-Pad Up D-Pad Up
D-Pad Down D-Pad Down
D-Pad Left D-Pad Left
D-Pad Right D-Pad Right
A A
X X
L L
R R

Mouse device type tableLink

User 1 - 2 Input descriptors RetroMouse Inputs SNES Mouse
SNES Mouse Cursor
SNES Mouse Left Button
SNES Mouse Right Button

Lightgun device type tableLink

User 2 Input descriptors RetroLightgun Inputs SuperScope Justifier(s)
Gun SuperScope Crosshair Justifier Crosshair
Gun Trigger SuperScope Trigger Justifier Trigger
Gun Cursor SuperScope Cursor
Gun Turbo SuperScope Turbo Justifier Offscreen
Gun Pause SuperScope Pause Justifier Start

CompatibilityLink

The bsnes-mercury Accuracy core fully emulates all SNES games that have ever been officially released.