Nintendo - SNES / Famicom (bsnes-mercury Performance)¶
Background¶
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 uncompromising; anything that affects accuracy is optional and off by default.
This core has been compiled with the Performance 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).
Author/License¶
The bsnes-mercury Performance core has been authored by
- byuu
- Alcaro
The bsnes-mercury Performance core is licensed under
A summary of the licenses behind RetroArch and its cores can be found here.
Extensions¶
Content that can be loaded by the bsnes-mercury Performance core have the following file extensions:
- .sfc
- .smc
- .bml
Databases¶
RetroArch database(s) that are associated with the bsnes-mercury Performance core:
- Nintendo - Super Nintendo Entertainment System
- Nintendo - Super Nintendo Entertainment System Hacks
- Nintendo - Sufami Turbo
BIOS¶
Required or optional firmware files go in the frontend's system directory.
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 BIOS |
Features¶
Frontend-level settings or features that the bsnes-mercury Performance 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 | ✕ |
LEDs | ✕ |
Directories¶
The bsnes-mercury Performance core's internal core name is 'bsnes-mercury'
The bsnes-mercury Performance 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 Performance core's core provided FPS is 60.0988118623 for NTSC games and 50.0069789082 for PAL games.
- The bsnes-mercury Performance core's core provided sample rate is 32040.5 Hz
- The bsnes-mercury Performance core's core provided aspect ratio is dependent on the 'Preferred aspect ratio' core option.
Super GameBoy¶
Warning
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.
MSU-1¶
Attention
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 Performance 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
Controllers¶
The bsnes-mercury Performance 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¶
- None - Doesn't disable input.
- SNES Joypad - Joypad
- SNES Mouse - Mouse
User 2 device types¶
- None - Doesn't disable input.
- SNES Joypad - Joypad
- SNES Mouse - Mouse
- Multitap - Joypad - Allows for up to five players to play together in multitap games.
- SuperScope - Lightgun
- Justifier - Lightgun
- Justifiers - Lightgun - Two Justifiers are plugged in, for two-player Justifier games.
Multitap support¶
Activating multitap support in compatible games can be configured by switching to the Multitap device type for User 2.
Controller tables¶
Joypad¶
User 1 - 5 Remap descriptors | RetroPad Inputs |
---|---|
B | |
Y | |
Select | |
Start | |
D-Pad Up | |
D-Pad Down | |
D-Pad Left | |
D-Pad Right | |
A | |
X | |
L | |
R |
Mouse¶
RetroMouse Inputs | SNES Mouse |
---|---|
Mouse Cursor | SNES Mouse Cursor |
Mouse 1 | SNES Mouse Left Button |
Mouse 2 | SNES Mouse Right Button |
Lightgun¶
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 |
Compatibility¶
Game | Issue |
---|---|
A.S.P. Air Strike Patrol | Black lines show up during gameplay. The shadow below the aircraft is missing. |
Funaki Masakatsu Hybrid Wrestler – Tougi Denshou | Corrupted graphics on the Pancrase logo screen. |
Mecarobot Golf | The ground "wobbles" during gameplay. |
Mega Man X2 | Only displays a black screen. |
Mega Man X3 | Only displays a black screen. |
Mortal Kombat II | Various glitched graphics. |
NHL ’94 | Corrupted line on the NHL logo screen. |
Tetris Attack | Lots of flickering on the VS. CPU mode map screen. |
External Links¶
- Official higan Website
- Official higan Upstream Downloads
- Libretro bsnes-mercury Performance Core info file
- Libretro bsnes-mercury Performance Github Repository
- Report Libretro bsnes-mercury Performance Core Issues Here
See also¶
Nintendo - Sufami Turbo¶
- Nintendo - SNES / Famicom (Beetle bsnes)
- Nintendo - SNES / Famicom (bsnes-mercury Accuracy)
- Nintendo - SNES / Famicom (bsnes-mercury Balanced)
- Nintendo - SNES / Famicom (bsnes Accuracy)
- Nintendo - SNES / Famicom (bsnes Balanced)
- Nintendo - SNES / Famicom (bsnes C++98 (v085))
- Nintendo - SNES / Famicom (bsnes Performance)
- Nintendo - SNES / Famicom (Snes9x)
- Nintendo - SNES / Famicom (Snes9x 2002)
- Nintendo - SNES / Famicom (Snes9x 2005 Plus)
- Nintendo - SNES / Famicom (Snes9x 2005)
- Nintendo - SNES / Famicom (Snes9x 2010)
Nintendo - Super Nintendo Entertainment System (+ Hacks)¶
- Nintendo - SNES / Famicom (Beetle bsnes)
- Nintendo - SNES / Famicom (bsnes-mercury Accuracy)
- Nintendo - SNES / Famicom (bsnes-mercury Balanced)
- Nintendo - SNES / Famicom (bsnes Accuracy)
- Nintendo - SNES / Famicom (bsnes Balanced)
- Nintendo - SNES / Famicom (bsnes C++98 (v085))
- Nintendo - SNES / Famicom (bsnes Performance)
- Nintendo - SNES / Famicom (higan Accuracy)
- Nintendo - SNES / Famicom (nSide Balanced)
- Nintendo - SNES / Famicom (Mesen-S)
- Nintendo - SNES / Famicom (Snes9x)
- Nintendo - SNES / Famicom (Snes9x 2002)
- Nintendo - SNES / Famicom (Snes9x 2005 Plus)
- Nintendo - SNES / Famicom (Snes9x 2005)
- Nintendo - SNES / Famicom (Snes9x 2010)