Skip to content

Mesen - RetroBIOS

Type libretro
Classification Official ports
Source https://github.com/libretro/Mesen
Upstream https://github.com/SourMesen/Mesen
Version 0.9.9
Profiled 2026-03-24
Cores mesen, mesens
Systems nintendo-nes, nintendo-fds
Technical notes

Mesen is a cycle-accurate NES/Famicom emulator by Sour (the original NES-only version, archived in 2020 in favor of Mesen2). NES cartridge games need no BIOS. Famicom Disk System games require the FDS BIOS ROM.

The core tries FdsBios.bin first, then disksys.rom as fallback. Both are loaded from the system directory root. If neither is found or the file is not exactly 8192 bytes, FDS games fail to load (BiosMissing).

The Study Box is a Famicom tape-based learning peripheral (mapper 186). Its BIOS (StudyBox.bin, 256 KB) is loaded the same way. Only needed for Study Box tape dumps (.stbx format).

MesenDB.txt (game database) is baked into the libretro binary as MesenDB.inc and loaded in retro_init(). The external file path in InitDatabase() is never reached in the libretro context.

MesenPalette.pal is an optional custom palette file, loaded only when the mesen_palette core option is set to Custom. Accepts 192 bytes (64 colors) or 1536 bytes (512 colors with emphasis combos).

HdPacks go in system/HdPacks// -- per-game content, not system BIOS.

File path construction: retro_load_game() sets FolderUtilities::SetHomeFolder(systemFolder). All BIOS lookups use CombinePath(GetHomeFolder(), filename) -- flat, no subdirectories.

No functional divergence between upstream and libretro for BIOS loading.

3 files | 1 required, 2 optional | 3 in repo, 0 missing

disksys.rom required in repo
FDS BIOS ROM

StudyBox.bin optional in repo
Famicom Study Box BIOS ROM

MesenPalette.pal optional in repo
External NES color palette

Generated on 2026-09-14T09:03:10Z