Nintendo - SNES / SFC / Game Boy / Color (Mesen-S)¶
Background¶
Mesen-S is a cross-platform SNES emulator for Windows & Linux built in C++ and C#.
Features
- High Accuracy: A lot of effort has gone into making Mesen-S as accurate as possible.
- High Compatibility
- SNES, Super Famicom, Game Boy, and Game Boy Color emulation is supported. Super Game Boy has complete support.
Author/License¶
The Mesen-S core has been authored by
- M. Bibaud (aka Sour)
The Mesen-S core is licensed under
A summary of the licenses behind RetroArch and its cores can be found here.
BIOS¶
Required or optional firmware files go in the frontend's system directory.
Filename | Description | md5sum |
---|---|---|
dsp1.data.rom | DSP1 co-processor firmware - Optional | 3d81b45fa0c2aa8b852dfb1ece7c0971 |
dsp1.program.rom | DSP1 co-processor firmware - Optional | ae209fbe789fbf11a48aea5ab1197321 |
dsp1b.data.rom | DSP1B co-processor firmware - Optional | 1e3f568634a7d8284020dddc0ae905bc |
dsp1b.program.rom | DSP1B co-processor firmware - Optional | d10f446888e097cbf500f3f663cf4f6d |
dsp2.data.rom | DSP2 co-processor firmware - Optional | e9417e29223b139c3c4b635a2a3b8744 |
dsp2.program.rom | DSP2 co-processor firmware - Optional | aa6e5922a3ed5ded54f24247c11143c5 |
dsp3.data.rom | DSP3 co-processor firmware - Optional | 0a81210c0a940b997dd9843281008ee6 |
dsp3.program.rom | DSP3 co-processor firmware - Optional | d99ca4562818d49cee1f242705bba6f8 |
dsp4.data.rom | DSP4 co-processor firmware - Optional | ee4990879eb68e3cbca239c5bc20303d |
dsp4.program.rom | DSP4 co-processor firmware - Optional | a151023b948b90ffc23a5b594bb6fef2 |
st010.data.rom | ST010 co-processor firmware - Optional | 254d70762b6f59f99c27c395aba7d07d |
st010.program.rom | ST010 co-processor firmware - Optional | 1d70019179a59a566a0bb5d3f2845544 |
st011.data.rom | ST011 co-processor firmware - Optional | 10bd3f4aa949737ab9836512c35bcc29 |
st011.program.rom | ST011 co-processor firmware - Optional | 95222ebf1c0c2990bcf25db43743f032 |
dmg_boot.bin | GB Boot Image - Optional | 32fbbd84168d3482956eb3c5051637f5 |
cgb_boot.bin | GBC Boot Image - Optional | dbfce9db9deaa2567f6a84fde55f9680 |
sgb_boot.bin | SGB Boot Image - Optional | d574d4f9c12f305074798f54c091a8b4 |
sgb2_boot.bin | SGB2 Boot Image - Optional | e0430bca9925fb9882148fd2dc2418c1 |
SGB1.sfc | SGB ROM - Optional | b15ddb15721c657d82c5bab6db982ee9 |
SGB2.sfc | SGB2 ROM - Optional | 8ecd73eb4edf7ed7e81aef1be80031d5 |
BS-X.bin | Satellaview Boot ROM - Optional | fed4d8242cfbed61343d53d48432aced |
Extensions¶
Content that can be loaded by the Mesen-S core have the following file extensions:
- .sfc
- .smc
- .fig
- .swc
- .bs
- .gb
- .gbc
Databases¶
RetroArch database(s) that are associated with the Mesen-S core:
- Nintendo - Game Boy
- Nintendo - Game Boy Color
- Nintendo - Super Nintendo Entertainment System
- Nintendo - Satellaview
Features¶
Frontend-level settings or features that the Mesen-S core respects.
Feature | Supported |
---|---|
Restart | ✔ |
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 Mesen-S core's library name is 'Mesen-S'
The Mesen-S core saves/loads to/from these directories.
Frontend's Save directory
File | Description |
---|---|
*.srm | Cartridge battery save |
Frontend's State directory
File | Description |
---|---|
*.state# | State |
Geometry and timing¶
- The Mesen-S core's core provided FPS is 60 for NTSC games and 50 for PAL games.
- The Mesen-S core's core provided sample rate is 32040 Hz
- The Mesen-S core's base width is 256
- The Mesen-S core's base height is 239
- The Mesen-S core's max width is 512
- The Mesen-S core's max height is 478
- The Mesen-S core's core provided aspect ratio is dependent on the 'Aspect Ratio' core option
Core options¶
The Mesen-S 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.
Attention
These core option descriptions have been sourced from the official Mesen-S documentation. Please go there for more information.
-
NTSC filter [mesen-s_ntsc_filter] (Disabled/Composite (Blargg)/S-Video (Blargg)/RGB (Blargg)/Monochrome (Blargg))
Selects a filter to apply to the picture. The NTSC filter available in Mesen-S is blargg’s NTSC filter - this filter is very fast, and available in various other emulators.
-
Region [mesen-s_region] (Auto/NTSC/PAL)
When set to Auto, the emulator will try to detect the game’s region (NTSC or PAL) - however, this is not always possible. When there is nothing to suggest a game is for the PAL region (Australia & Europe), the NTSC region (North America & Japan) will be used by default.
-
Game Boy Model [mesen-s_gbmodel] (Auto/Game Boy/Game Boy Color/Super Game Boy)
Determines which Game Boy model to emulate when loading a Game Boy or Game Boy Color game. When Auto is selected, Super Game Boy emulation is used for Game Boy games, and Game Boy Color emulation is used for Game Boy Color games.
-
Use SGB2 [mesen-s_sgb2] (Off/On)
When enabled, Super Game Boy 2 is used when emulating the SGB. Super Game Boy 2 has corrected CPU timing and some slight differences in behavior.
-
Vertical Overscan [mesen-s_overscan_vertical] (None/8px/16px)
This overscan setting allow you to cut out pixels vertically on the edge of the screen. On a CRT TV, a few pixels on each side of the screen are usually hidden. Most SNES games output 224 scanlines, while others use the SNES’ 239 scanlines mode. To avoid the window or picture size changing when the game changes between either mode, Mesen-S always outputs 239 scanlines. In the vast majority of games, this results in 7 blank lines on the top and 8 on the bottom. To hide these blank scanlines, set the overscan value to 8.
-
Horizontal Overscan [mesen-s_overscan_horizontal] (None/8px/16px)
This overscan setting allow you to cut out pixels horizontally on the edge of the screen.
-
Aspect Ratio [mesen-s_aspect_ratio] (Auto/No Stretching/NTSC/PAL/4:3/16:9)
The SNES’ resolution in most games is 256x224, but it used to be displayed on CRT TVs that had a rectangular picture. To simulate a CRT TV, you can use the Auto option - it will switch between NTSC and PAL aspect ratios depending on the game you are playing. Using anything other than the Default (No Stretching) option may cause pixels to have irregular sizes. You can reduce this effect by using video filters.
-
Blend Hi-Res Modes [mesen-s_blend_high_res] (Off/On)
Some games use the SNES’ “high resolution” mode which produces a 512x224 picture. However, this mode causes horizontal blending, which is sometimes used for pseudo-transparency effects. Enabling this option will allow these pseudo-transparency effects to look as they were intended (but causes the entire picture to look softer/blurrier).
-
Cubic Interpolation (Audio) [mesen-s_cubic_interpolation] (Off/On)
This option replaces the SNES’ default gaussian interpolation filter with a cubic interpolation filter which can produce better audio.
-
Overclock [mesen-s_overclock] (None/Low/Medium/High/Very High)
Use this to overclock the CPU.
Warning
Overclocking can cause issues in some games.
-
Overclock Type [mesen-s_overclock_type] (Before NMI/After NMI)
Before NMI: Increases the number of scanlines in the PPU, before the NMI signal is triggered at the end of the visible frame. This effectively gives more time for games to perform calculations, which can reduce slowdowns in games. This is the preferred option for overclocking.
After NMI: Increases the number of scanlines in the PPU, after the NMI signal is triggered at the end of the visible frame. This effectively gives more time for games to perform calculations, which can reduce slowdowns in games. This option is less compatible and should only be used if the Before NMI variation does not work as expected.
-
Super FX Clock Speed [mesen-s_superfx_overclock] (100%/200%/300%/400%/500%/1000%)
Increases the clock speed used for the Super FX chip, which can reduce lag in Super FX games. This method of overclocking is more efficient for Super FX titles.
-
Default power-on state for RAM [mesen-s_ramstate] (Random Values (Default)/All 0s/All 1s)
On a console, the RAM’s state at power on is undetermined and relatively random. This option lets you select Mesen-S’ behavior when initializing RAM - set all bits to 0, set all bits to 1, or randomize the value of each bit.
Controllers¶
The Mesen-S 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 - Input disabled.
- RetroPad - Joypad
- SNES Controller - Joypad
- SNES Mouse - Mouse
User 2 device types¶
- None - Input disabled.
- RetroPad - Joypad - SNES Controller
- SNES Controller - Joypad
- SNES Mouse - Mouse
- Super Scope - Lightgun
- Multitap - Joypad - Allows for up to five players to play together in mulitap games.
User 3 - 5 device types¶
- None - Input disabled.
- RetroPad - Joypad
- SNES Controller - Joypad
Multitap¶
Multitap support can be activated in the Mesen-S core by switching User 2's device type to Multitap.
Controller tables¶
Joypad¶
User Remap descriptors for 'SNES Controller' device type | 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 |
Pointer¶
RetroPointer Inputs | Super Scope |
---|---|
or Pointer Position | Crosshair |
Mouse 1 | Fire |
Mouse 2 | Cursor Button |
Mouse 3 | Turbo Toggle |
Attention
Currently there is no crosshair. Pressing the mouse grab binding twice in RetroArch (default F11) should make your system cursor visible.
Compatibility¶
The Mesen-S core fully emulates all SNES, GB, and GBC games that have ever been officially released.
External Links¶
- Official Mesen-S Website
- Official Mesen-S Documentation
- Libretro Mesen-S Core info file
- Official Mesen-S Github Repository
- Report Libretro Mesen-S Core Issues Here
See also¶
Nintendo - Game Boy (+ Color)¶
- Nintendo - Game Boy / Color (Emux GB)
- Nintendo - Game Boy / Color (Gambatte)
- Nintendo - Game Boy / Color (Gearboy)
- Nintendo - Game Boy / Color (SameBoy)
- Nintendo - Game Boy / Color (TGB Dual)
- Nintendo - Game Boy Advance (mGBA)
- Nintendo - Game Boy Advance (VBA-M)
- Nintendo - SNES / Famicom (higan Accuracy)
- Nintendo - SNES / Famicom (nSide Balanced)
SNES¶
- Nintendo - SNES / Famicom (Beetle bsnes)
- Nintendo - SNES / Famicom (bsnes-mercury Accuracy)
- Nintendo - SNES / Famicom (bsnes-mercury Balanced)
- Nintendo - SNES / Famicom (bsnes-mercury Performance)
- 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 (Snes9x)
- Nintendo - SNES / Famicom (Snes9x 2002)
- Nintendo - SNES / Famicom (Snes9x 2005 Plus)
- Nintendo - SNES / Famicom (Snes9x 2005)
- Nintendo - SNES / Famicom (Snes9x 2010)