bsnes-mercury Balanced is a libretro core for RetroArch that targets Nintendo SNES and Famicom content. It is a fork of higan that aims to restore some useful features that had been removed and to improve performance somewhat. The core is compiled with the Balanced profile.

Accuracy at default settings

At default settings, the bsnes-mercury cores are not less accurate than the mainline bsnes cores. Switching to less accurate special chip HLE behaviour requires explicitly enabling two core options. Maximum accuracy is described as uncompromisable in the fork's design, with any accuracy-affecting behaviour optional and off by default.

Documented improvements over upstream

  • - Improved framerate
  • - Faster ROM loading
  • - HLE emulation of some special chips is optionally restored, defaulting to LLE; chips for which no HLE emulation was developed (ST-0011 and ST-0018) remain LLE
  • - SuperFX overclock is available and off by default; when enabled it makes SuperFX look smoother

Supported content formats

Content that can be loaded by the bsnes-mercury Balanced core uses the following file extensions: .sfc, .smc and .bml.

Firmware placement

Required or optional firmware files go in the frontend's system directory. The documentation lists firmware for the DSP1, DSP1B, DSP2, DSP3 and DSP4 co-processors, the CX4 co-processor, the ST010, ST011 and ST018 co-processors, and the Super Game Boy BIOS (sgb.boot.rom). Each listed file has an associated md5sum in the official table; the same table provides the filenames to place in the system directory.

Core options

The core exposes the following options from the core options menu. Defaults are shown first. Allow settings to reduce accuracy depends on the option being enabled: Respect accuracy-impacting settings. Special chip accuracy: LLE or HLE, with the LLE default; enabling HLE is less accurate but less demanding, and ST-0011 and ST-0018 cannot be HLE'd. SuperFX speed: 100%, 150%, 200%, 300%, 400%, 500% or 1000%, with 100% being stock clockspeed. System region: auto, ntsc or pal. Preferred aspect ratio: auto, ntsc or pal. Crop overscan: disabled or enabled. Gamma ramp (requires restart): disabled or enabled. The Allow settings to reduce accuracy option must be enabled for Special chip accuracy and SuperFX speed to function properly.

Saves and states

The core's internal core name is bsnes-mercury. Cartridge battery saves are written to the frontend's Save directory as 'content-name'.srm, and states are written to the frontend's State directory as 'content-name'.state#.

Geometry and timing

The core reports 60.0988118623 FPS for NTSC games and 50.0069789082 FPS for PAL games, a sample rate of 32040.5 Hz, and an aspect ratio that depends on the Preferred aspect ratio core option. For the core-provided aspect ratio to apply, RetroArch's aspect ratio must be set to Core provided in the Video settings.

Controllers

For User 1, the selectable device types are None, SNES Joypad (the default) and SNES Mouse. For User 2, the device types are None, SNES Joypad (the default), SNES Mouse, Multitap, SuperScope, Justifier and Justifiers. Multitap support in compatible games is configured by switching User 2 to the Multitap device type, which allows up to five players. Justifiers represents two Justifiers plugged in for two-player Justifier games.

Frontend features the core reports supporting

The documented frontend-level settings the core respects include Restart, Screenshots, Saves, States, Rewind, Netplay, Core Options, Memory Monitoring for achievements, RetroArch Cheats, Controls, Remapping, Subsystem and Softpatching. The documentation marks Native Cheats, Rumble, Sensors, Camera, Location, Disk Control, Username, Language, Crop Overscan and LEDs as not supported.

Super GameBoy

For Super GameBoy support you need sgb.boot.rom in RetroArch's System directory, plus a GameBoy ROM and a Super GameBoy ROM. The Game Boy and Super GameBoy ROMs have to be unzipped. Super GameBoy is exposed through the Subsystem API.

Loading Super GameBoy through the RetroArch menu

  • 1. Load the GameBoy ROM through 'Load Super GameBoy' in RetroArch's Main Menu.
  • 2. Load the Super GameBoy ROM through 'Load Super GameBoy' in RetroArch's Menu Menu.
  • 3. Start the content by selecting 'Start GameBoy' in RetroArch's Menu Menu.

Launching Super GameBoy from the command line

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

MSU-1

MSU-1 support in this core is documented as complex, and the documentation suggests the Snes9x core for simplified and easily accessible MSU-1 support. MSU-1 support can be used by loading a correct .bml file.

Documented compatibility note

The official documentation lists one game-specific issue: in A.S.P. Air Strike Patrol, black lines show up during gameplay and the shadow below the aircraft is missing.

Authors and license

The bsnes-mercury Balanced core is authored by byuu and Alcaro and is licensed under GPLv3.

Reference table · Scroll horizontally to see all columns.

FilenameDescription
dsp1.data.romDSP1 co-processor firmware
dsp1.program.romDSP1 co-processor firmware
dsp1b.data.romDSP1B co-processor firmware
dsp1b.program.romDSP1B co-processor firmware
dsp2.data.romDSP2 co-processor firmware
dsp2.program.romDSP2 co-processor firmware
dsp3.data.romDSP3 co-processor firmware
dsp3.program.romDSP3 co-processor firmware
dsp4.data.romDSP4 co-processor firmware
dsp4.program.romDSP4 co-processor firmware
cx4.data.romCX4 co-processor firmware
st010.data.romST010 co-processor firmware
st010.program.romST010 co-processor firmware
st011.data.romST011 co-processor firmware
st011.program.romST011 co-processor firmware
st018.data.romST018 co-processor firmware
st018.program.romST018 co-processor firmware
sgb.boot.romSuper Game Boy BIOS

Reference table · Scroll horizontally to see all columns.

OptionSetting keyDefaultValues
Allow settings to reduce accuracybsnes_violate_accuracydisableddisabled | enabled
Special chip accuracybsnes_chip_hleLLELLE | HLE
SuperFX speedbsnes_superfx_overclock100%100% | 150% | 200% | 300% | 400% | 500% | 1000%
System regionbsnes_regionautoauto | ntsc | pal
Preferred aspect ratiobsnes_aspect_ratioautoauto | ntsc | pal
Crop overscanbsnes_crop_overscandisableddisabled | enabled
Gamma ramp (requires restart)bsnes_gamma_rampdisableddisabled | enabled

Reference table · Scroll horizontally to see all columns.

UserDevice typesDefault
User 1None, SNES Joypad, SNES MouseSNES Joypad
User 2None, SNES Joypad, SNES Mouse, Multitap, SuperScope, Justifier, JustifiersSNES Joypad

Reference table · Scroll horizontally to see all columns.

ExtensionNotes
sfcSNES content
smcSNES content
bmlMSU-1 content is loaded via a correct .bml file

Reference table · Scroll horizontally to see all columns.

Associated RetroArch database
Nintendo - Super Nintendo Entertainment System
Nintendo - Super Nintendo Entertainment System Hacks
Nintendo - Sufami Turbo
Evidence and publication details

Sources & references

Content responsibility: FrameTinker editorial desk. Source authors and software maintainers are credited separately below; this is not a claim of hands-on testing.

Published .

RetroArch: bsnes mercury balanced — official gaming software documentation https://raw.githubusercontent.com/libretro/docs/master/docs/library/bsnes_mercury_balanced.mdRetrieved Oct 12, 2026

Something doesn’t match your setup?

Suggest a correction