feat: add 10 emulator profiles (119-series batch 2)
freeintv_ts_overlay (same BIOS as FreeIntv), bnes (NES, no BIOS),
clownmdemu (Mega Drive, open-source MCD boot ROM embedded),
m2000 (Philips P2000T, all embedded), mesen (NES, FDS + StudyBox BIOS),
race (NGP, HLE with disabled BIOS loader), vemulator (VMU, HLE only),
gw (Game & Watch, Lua simulator), pd777 (Cassette Vision, no BIOS),
play (PS2, full HLE, LoadBIOS commented out)
115 total profiles.
2026-03-17 20:15:28 +01:00
emulator : Mesen
type : libretro
2026-03-24 14:06:20 +01:00
core_classification : official_port
feat: add 10 emulator profiles (119-series batch 2)
freeintv_ts_overlay (same BIOS as FreeIntv), bnes (NES, no BIOS),
clownmdemu (Mega Drive, open-source MCD boot ROM embedded),
m2000 (Philips P2000T, all embedded), mesen (NES, FDS + StudyBox BIOS),
race (NGP, HLE with disabled BIOS loader), vemulator (VMU, HLE only),
gw (Game & Watch, Lua simulator), pd777 (Cassette Vision, no BIOS),
play (PS2, full HLE, LoadBIOS commented out)
115 total profiles.
2026-03-17 20:15:28 +01:00
source : "https://github.com/libretro/Mesen"
2026-03-24 14:06:20 +01:00
upstream : "https://github.com/SourMesen/Mesen"
2026-03-18 10:57:00 +01:00
logo : "https://raw.githubusercontent.com/SourMesen/Mesen2/master/UI/Assets/Mesen.svg"
2026-03-24 14:06:20 +01:00
profiled_date : "2026-03-24"
2026-03-18 05:19:57 +01:00
core_version : "0.9.9"
display_name : "Nintendo - NES / Famicom (Mesen)"
2026-03-27 11:43:29 +01:00
cores : [ mesen, mesens]
feat: add 10 emulator profiles (119-series batch 2)
freeintv_ts_overlay (same BIOS as FreeIntv), bnes (NES, no BIOS),
clownmdemu (Mega Drive, open-source MCD boot ROM embedded),
m2000 (Philips P2000T, all embedded), mesen (NES, FDS + StudyBox BIOS),
race (NGP, HLE with disabled BIOS loader), vemulator (VMU, HLE only),
gw (Game & Watch, Lua simulator), pd777 (Cassette Vision, no BIOS),
play (PS2, full HLE, LoadBIOS commented out)
115 total profiles.
2026-03-17 20:15:28 +01:00
systems : [ nintendo-nes, nintendo-fds]
notes : |
2026-03-24 14:06:20 +01:00
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.
feat: add 10 emulator profiles (119-series batch 2)
freeintv_ts_overlay (same BIOS as FreeIntv), bnes (NES, no BIOS),
clownmdemu (Mega Drive, open-source MCD boot ROM embedded),
m2000 (Philips P2000T, all embedded), mesen (NES, FDS + StudyBox BIOS),
race (NGP, HLE with disabled BIOS loader), vemulator (VMU, HLE only),
gw (Game & Watch, Lua simulator), pd777 (Cassette Vision, no BIOS),
play (PS2, full HLE, LoadBIOS commented out)
115 total profiles.
2026-03-17 20:15:28 +01:00
2026-03-24 14:06:20 +01:00
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).
feat: add 10 emulator profiles (119-series batch 2)
freeintv_ts_overlay (same BIOS as FreeIntv), bnes (NES, no BIOS),
clownmdemu (Mega Drive, open-source MCD boot ROM embedded),
m2000 (Philips P2000T, all embedded), mesen (NES, FDS + StudyBox BIOS),
race (NGP, HLE with disabled BIOS loader), vemulator (VMU, HLE only),
gw (Game & Watch, Lua simulator), pd777 (Cassette Vision, no BIOS),
play (PS2, full HLE, LoadBIOS commented out)
115 total profiles.
2026-03-17 20:15:28 +01:00
2026-03-24 14:06:20 +01:00
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).
feat: add 10 emulator profiles (119-series batch 2)
freeintv_ts_overlay (same BIOS as FreeIntv), bnes (NES, no BIOS),
clownmdemu (Mega Drive, open-source MCD boot ROM embedded),
m2000 (Philips P2000T, all embedded), mesen (NES, FDS + StudyBox BIOS),
race (NGP, HLE with disabled BIOS loader), vemulator (VMU, HLE only),
gw (Game & Watch, Lua simulator), pd777 (Cassette Vision, no BIOS),
play (PS2, full HLE, LoadBIOS commented out)
115 total profiles.
2026-03-17 20:15:28 +01:00
2026-03-24 14:06:20 +01:00
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.
feat: add 10 emulator profiles (119-series batch 2)
freeintv_ts_overlay (same BIOS as FreeIntv), bnes (NES, no BIOS),
clownmdemu (Mega Drive, open-source MCD boot ROM embedded),
m2000 (Philips P2000T, all embedded), mesen (NES, FDS + StudyBox BIOS),
race (NGP, HLE with disabled BIOS loader), vemulator (VMU, HLE only),
gw (Game & Watch, Lua simulator), pd777 (Cassette Vision, no BIOS),
play (PS2, full HLE, LoadBIOS commented out)
115 total profiles.
2026-03-17 20:15:28 +01:00
MesenPalette.pal is an optional custom palette file, loaded only when
the mesen_palette core option is set to Custom. Accepts 192 bytes
2026-03-24 14:06:20 +01:00
(64 colors) or 1536 bytes (512 colors with emphasis combos).
feat: add 10 emulator profiles (119-series batch 2)
freeintv_ts_overlay (same BIOS as FreeIntv), bnes (NES, no BIOS),
clownmdemu (Mega Drive, open-source MCD boot ROM embedded),
m2000 (Philips P2000T, all embedded), mesen (NES, FDS + StudyBox BIOS),
race (NGP, HLE with disabled BIOS loader), vemulator (VMU, HLE only),
gw (Game & Watch, Lua simulator), pd777 (Cassette Vision, no BIOS),
play (PS2, full HLE, LoadBIOS commented out)
115 total profiles.
2026-03-17 20:15:28 +01:00
2026-03-24 14:06:20 +01:00
HdPacks go in system/HdPacks/<rom_name>/ -- per-game content, not
system BIOS.
feat: add 10 emulator profiles (119-series batch 2)
freeintv_ts_overlay (same BIOS as FreeIntv), bnes (NES, no BIOS),
clownmdemu (Mega Drive, open-source MCD boot ROM embedded),
m2000 (Philips P2000T, all embedded), mesen (NES, FDS + StudyBox BIOS),
race (NGP, HLE with disabled BIOS loader), vemulator (VMU, HLE only),
gw (Game & Watch, Lua simulator), pd777 (Cassette Vision, no BIOS),
play (PS2, full HLE, LoadBIOS commented out)
115 total profiles.
2026-03-17 20:15:28 +01:00
2026-03-24 14:06:20 +01:00
File path construction : retro_load_game() sets
feat: add 10 emulator profiles (119-series batch 2)
freeintv_ts_overlay (same BIOS as FreeIntv), bnes (NES, no BIOS),
clownmdemu (Mega Drive, open-source MCD boot ROM embedded),
m2000 (Philips P2000T, all embedded), mesen (NES, FDS + StudyBox BIOS),
race (NGP, HLE with disabled BIOS loader), vemulator (VMU, HLE only),
gw (Game & Watch, Lua simulator), pd777 (Cassette Vision, no BIOS),
play (PS2, full HLE, LoadBIOS commented out)
115 total profiles.
2026-03-17 20:15:28 +01:00
FolderUtilities::SetHomeFolder(systemFolder). All BIOS lookups use
2026-03-24 14:06:20 +01:00
CombinePath(GetHomeFolder(), filename) -- flat, no subdirectories.
No functional divergence between upstream and libretro for BIOS loading.
feat: add 10 emulator profiles (119-series batch 2)
freeintv_ts_overlay (same BIOS as FreeIntv), bnes (NES, no BIOS),
clownmdemu (Mega Drive, open-source MCD boot ROM embedded),
m2000 (Philips P2000T, all embedded), mesen (NES, FDS + StudyBox BIOS),
race (NGP, HLE with disabled BIOS loader), vemulator (VMU, HLE only),
gw (Game & Watch, Lua simulator), pd777 (Cassette Vision, no BIOS),
play (PS2, full HLE, LoadBIOS commented out)
115 total profiles.
2026-03-17 20:15:28 +01:00
files :
- name : "disksys.rom"
2026-03-24 14:06:20 +01:00
aliases : [ "FdsBios.bin" ]
feat: add 10 emulator profiles (119-series batch 2)
freeintv_ts_overlay (same BIOS as FreeIntv), bnes (NES, no BIOS),
clownmdemu (Mega Drive, open-source MCD boot ROM embedded),
m2000 (Philips P2000T, all embedded), mesen (NES, FDS + StudyBox BIOS),
race (NGP, HLE with disabled BIOS loader), vemulator (VMU, HLE only),
gw (Game & Watch, Lua simulator), pd777 (Cassette Vision, no BIOS),
play (PS2, full HLE, LoadBIOS commented out)
115 total profiles.
2026-03-17 20:15:28 +01:00
system : nintendo-fds
description : "FDS BIOS ROM"
required : true
size : 8192
2026-03-24 14:06:20 +01:00
validation : [ size]
source_ref : "Core/FdsLoader.cpp:45-59 (LoadBios tries FdsBios.bin then disksys.rom), Core/FdsLoader.cpp:143-146 (LoadRom validates size == 0x2000)"
notes : "Mapped at 0xE000-0xFFFF as PRG ROM bank 0. Core checks FdsBios.bin first, falls back to disksys.rom. Size must be exactly 8192 bytes or BiosMissing is set."
feat: add 10 emulator profiles (119-series batch 2)
freeintv_ts_overlay (same BIOS as FreeIntv), bnes (NES, no BIOS),
clownmdemu (Mega Drive, open-source MCD boot ROM embedded),
m2000 (Philips P2000T, all embedded), mesen (NES, FDS + StudyBox BIOS),
race (NGP, HLE with disabled BIOS loader), vemulator (VMU, HLE only),
gw (Game & Watch, Lua simulator), pd777 (Cassette Vision, no BIOS),
play (PS2, full HLE, LoadBIOS commented out)
115 total profiles.
2026-03-17 20:15:28 +01:00
- name : "StudyBox.bin"
system : nintendo-nes
description : "Famicom Study Box BIOS ROM"
required : false
size : 262144
2026-03-24 14:06:20 +01:00
validation : [ size]
source_ref : "Core/StudyBoxLoader.cpp:125-133 (LoadBios), Core/StudyBoxLoader.cpp:149-152 (LoadRom validates size == 0x40000)"
notes : "256 KB BIOS for the Study Box tape peripheral (mapper 186). Only needed for .stbx tape dumps. Size must be exactly 262144 bytes."
feat: add 10 emulator profiles (119-series batch 2)
freeintv_ts_overlay (same BIOS as FreeIntv), bnes (NES, no BIOS),
clownmdemu (Mega Drive, open-source MCD boot ROM embedded),
m2000 (Philips P2000T, all embedded), mesen (NES, FDS + StudyBox BIOS),
race (NGP, HLE with disabled BIOS loader), vemulator (VMU, HLE only),
gw (Game & Watch, Lua simulator), pd777 (Cassette Vision, no BIOS),
play (PS2, full HLE, LoadBIOS commented out)
115 total profiles.
2026-03-17 20:15:28 +01:00
- name : "MesenPalette.pal"
system : nintendo-nes
description : "External NES color palette"
required : false
2026-03-24 14:06:20 +01:00
source_ref : "Libretro/libretro.cpp:301-323 (load_custom_palette), Libretro/libretro.cpp:405-406 (called when mesen_palette == Custom)"
validation : [ size]
notes : "Loaded when mesen_palette core option is Custom. Accepts exactly 192 bytes (64 RGB triplets) or 1536 bytes (512 entries for emphasis combos). Falls back to built-in default palette if size doesn't match."