Skip to content

Nintendo - SNES / Famicom (bsnes-mercury Balanced)


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

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


The bsnes-mercury Balanced core has been authored by

  • byuu
  • Alcaro

The bsnes-mercury Balanced core is licensed under

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


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

  • .sfc
  • .smc
  • .bml


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


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

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


Frontend-level settings or features that the bsnes-mercury Balanced core respects.

Feature Supported
Core Options
RetroArch Cheats
Native Cheats
Multi-Mouse -
Disk Control
Crop Overscan


The bsnes-mercury Balanced core's internal core name is 'bsnes-mercury'

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

Frontend's Save directory

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

Frontend's State directory

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

Geometry and timing

  • The bsnes-mercury Balanced core's core provided FPS is 60.0988118623 for NTSC games and 50.0069789082 for PAL games.
  • The bsnes-mercury Balanced core's core provided sample rate is 32040.5 Hz
  • The bsnes-mercury Balanced core's core provided aspect ratio is dependent on the 'Preferred aspect ratio' core option.

Super GameBoy


Super GameBoy support in this core is 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.

For Super GameBoy support, you need sgb.boot.rom (in RetroArch's System directory), a GameBoy ROM and a Super GameBoy ROM.

Please note that the Game Boy and Super GameBoy ROMs have to be unzipped.

Super GameBoy is supported via the Subsystem API.

There are two ways to access the Subsystem API.

One way is to access the Subsystem API through RetroArch's GUI like this.

First, we load our GameBoy ROM through 'Load Super GameBoy' in RetroArch's Main Menu.

Next, we load our Super GameBoy ROM through 'Load Super GameBoy' in RetroArch's Menu Menu.

Then, we start the content by selecting 'Start GameBoy' In RetroArch's Menu Menu.

The other way is to launch RetroArch with commandline like this.

retroarch -L {path to bsnes core} {path to Super GameBoy ROM} --subsystem sgb {path to GameBoy rom}



MSU-1 support in this core is complex. Use the Snes9x core for simplified and easily accessible MSU-1 support.

MSU-1 support can be used by loading a correct .bml file.

There's documentation for loading MSU-1 games in standalone higan here.

Core options

The bsnes-mercury Balanced 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 [bsnes_violate_accuracy] (disabled|enabled)

    Respect accuracy-impacting settings.

  • Special chip accuracy [bsnes_chip_hle] (LLE|HLE)

    **The Allow settings to reduce accuracy core option must be enabled in order for this to function properly. **

    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 ST-0011 and ST-0018 co-processors cannot be HLE'd.

  • SuperFX speed [bsnes_superfx_overclock] (100%|150%|200%|300%|400%|500%|1000%)

    The Allow settings to reduce accuracy core option must be enabled in order for this to function properly.

    Overclock the SuperFX chip. 100% is stock clockspeed.

  • System region [bsnes_region] (auto|ntsc|pal)

    Choose which region the system is from.

  • Preferred aspect ratio [bsnes_aspect_ratio] (auto|ntsc|pal)

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

  • Crop overscan [bsnes_crop_overscan] (disabled|enabled)

    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) [bsnes_gamma_ramp] (disabled|enabled)

    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


The bsnes-mercury Balanced 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 types

User 2 device types

Multitap support

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

Controller tables


User 1 - 5 Remap descriptors RetroPad Inputs
D-Pad Up
D-Pad Down
D-Pad Left
D-Pad Right


RetroMouse Inputs SNES Mouse
Mouse Cursor SNES Mouse Cursor
Mouse 1 SNES Mouse Left Button
Mouse 2 SNES Mouse Right Button


RetroLightgun Inputs SuperScope Justifier(s)
Gun Crosshair SuperScope Crosshair Justifier Crosshair
Gun Trigger SuperScope Trigger Justifier Trigger
Gun Aux A SuperScope Cursor
Gun Aux B SuperScope Turbo
Gun Start SuperScope Pause Justifier Start


Game Issue
A.S.P. Air Strike Patrol Black lines show up during gameplay. The shadow below the aircraft is missing.

See also

Nintendo - Sufami Turbo

Nintendo - Super Nintendo Entertainment System (+ Hacks)