feat: add 10 emulator profiles (batch 3)
freechaf (Channel F, 3 ROMs), freeintv (Intellivision, exec+grom),
ep128emu (Enterprise/TVC/CPC/ZX, 22 ROMs all built-in),
kronos (Saturn + 14 ST-V blobs), gambatte (GB/GBC boot ROMs),
mgba (GBA/GB/GBC/SGB, 10 CRC32 revisions), nestopia (FDS + NstDatabase),
px68k (X68000, 6 ROMs in keropi/), fuse (ZX Spectrum, 17 machines),
o2em (Odyssey2/Videopac, 4 BIOS by CRC32)
41 total profiles. Cross-reference: 644 undeclared, 167 in repo.
2026-03-17 19:23:58 +01:00
emulator : Nestopia UE
type : libretro
2026-03-24 22:31:22 +01:00
core_classification : community_fork
feat: add 10 emulator profiles (batch 3)
freechaf (Channel F, 3 ROMs), freeintv (Intellivision, exec+grom),
ep128emu (Enterprise/TVC/CPC/ZX, 22 ROMs all built-in),
kronos (Saturn + 14 ST-V blobs), gambatte (GB/GBC boot ROMs),
mgba (GBA/GB/GBC/SGB, 10 CRC32 revisions), nestopia (FDS + NstDatabase),
px68k (X68000, 6 ROMs in keropi/), fuse (ZX Spectrum, 17 machines),
o2em (Odyssey2/Videopac, 4 BIOS by CRC32)
41 total profiles. Cross-reference: 644 undeclared, 167 in repo.
2026-03-17 19:23:58 +01:00
source : "https://github.com/libretro/nestopia"
2026-03-24 22:31:22 +01:00
upstream : "https://gitlab.com/jgemu/nestopia"
2026-03-18 10:57:00 +01:00
logo : "https://raw.githubusercontent.com/0ldsk00l/nestopia/master/icons/svg/nestopia.svg"
2026-03-24 22:31:22 +01:00
profiled_date : "2026-03-24"
2026-03-18 05:19:57 +01:00
core_version : "1.53.1"
display_name : "Nintendo - NES / Famicom (Nestopia)"
2026-03-24 22:31:22 +01:00
cores : [ nestopia]
feat: add 10 emulator profiles (batch 3)
freechaf (Channel F, 3 ROMs), freeintv (Intellivision, exec+grom),
ep128emu (Enterprise/TVC/CPC/ZX, 22 ROMs all built-in),
kronos (Saturn + 14 ST-V blobs), gambatte (GB/GBC boot ROMs),
mgba (GBA/GB/GBC/SGB, 10 CRC32 revisions), nestopia (FDS + NstDatabase),
px68k (X68000, 6 ROMs in keropi/), fuse (ZX Spectrum, 17 machines),
o2em (Odyssey2/Videopac, 4 BIOS by CRC32)
41 total profiles. Cross-reference: 644 undeclared, 167 in repo.
2026-03-17 19:23:58 +01:00
systems : [ nintendo-nes, nintendo-fds]
notes : |
2026-03-24 22:31:22 +01:00
Nestopia UE is a cycle-accurate NES/Famicom emulator. The libretro port
tracks the upstream Nestopia JG project. NES cartridge games need no BIOS.
Famicom Disk System games require disksys.rom (8 KB FDS BIOS) in the
system directory. The core validates the BIOS via CRC32 against two known
dumps : standard Famicom (0x5E607DCF) and Twin Famicom (0x4DF24A6C). An
unknown BIOS triggers a warning but still loads.
feat: add 10 emulator profiles (batch 3)
freechaf (Channel F, 3 ROMs), freeintv (Intellivision, exec+grom),
ep128emu (Enterprise/TVC/CPC/ZX, 22 ROMs all built-in),
kronos (Saturn + 14 ST-V blobs), gambatte (GB/GBC boot ROMs),
mgba (GBA/GB/GBC/SGB, 10 CRC32 revisions), nestopia (FDS + NstDatabase),
px68k (X68000, 6 ROMs in keropi/), fuse (ZX Spectrum, 17 machines),
o2em (Odyssey2/Videopac, 4 BIOS by CRC32)
41 total profiles. Cross-reference: 644 undeclared, 167 in repo.
2026-03-17 19:23:58 +01:00
2026-03-24 22:31:22 +01:00
NstDatabase.xml is an optional game database for region autodetection,
mapper selection, and 4-player adapter recognition. A copy is baked into
the core binary (libretro/nstdatabase.hpp) as fallback. The upstream
Nestopia JG requires this file; the libretro port makes it optional.
feat: add 10 emulator profiles (batch 3)
freechaf (Channel F, 3 ROMs), freeintv (Intellivision, exec+grom),
ep128emu (Enterprise/TVC/CPC/ZX, 22 ROMs all built-in),
kronos (Saturn + 14 ST-V blobs), gambatte (GB/GBC boot ROMs),
mgba (GBA/GB/GBC/SGB, 10 CRC32 revisions), nestopia (FDS + NstDatabase),
px68k (X68000, 6 ROMs in keropi/), fuse (ZX Spectrum, 17 machines),
o2em (Odyssey2/Videopac, 4 BIOS by CRC32)
41 total profiles. Cross-reference: 644 undeclared, 167 in repo.
2026-03-17 19:23:58 +01:00
2026-03-24 22:31:22 +01:00
An optional custom palette file (custom.pal, 64 RGB triplets) overrides
built-in palettes when the nestopia_palette core option is set to Custom.
The libretro port embeds all named palettes (Royaltea, Smooth FBx, etc.)
that the upstream loads from external .pal files.
feat: add 10 emulator profiles (batch 3)
freechaf (Channel F, 3 ROMs), freeintv (Intellivision, exec+grom),
ep128emu (Enterprise/TVC/CPC/ZX, 22 ROMs all built-in),
kronos (Saturn + 14 ST-V blobs), gambatte (GB/GBC boot ROMs),
mgba (GBA/GB/GBC/SGB, 10 CRC32 revisions), nestopia (FDS + NstDatabase),
px68k (X68000, 6 ROMs in keropi/), fuse (ZX Spectrum, 17 machines),
o2em (Odyssey2/Videopac, 4 BIOS by CRC32)
41 total profiles. Cross-reference: 644 undeclared, 167 in repo.
2026-03-17 19:23:58 +01:00
2026-03-24 22:31:22 +01:00
Five Famicom games use external ADPCM audio samples placed in
system/nestopia/samples/{game}/ as numbered .wav files. These originate
from MAME sample ZIPs. Games function without them but miss some audio.
feat: add 10 emulator profiles (batch 3)
freechaf (Channel F, 3 ROMs), freeintv (Intellivision, exec+grom),
ep128emu (Enterprise/TVC/CPC/ZX, 22 ROMs all built-in),
kronos (Saturn + 14 ST-V blobs), gambatte (GB/GBC boot ROMs),
mgba (GBA/GB/GBC/SGB, 10 CRC32 revisions), nestopia (FDS + NstDatabase),
px68k (X68000, 6 ROMs in keropi/), fuse (ZX Spectrum, 17 machines),
o2em (Odyssey2/Videopac, 4 BIOS by CRC32)
41 total profiles. Cross-reference: 644 undeclared, 167 in repo.
2026-03-17 19:23:58 +01:00
files :
# --- Famicom Disk System BIOS (required for FDS games) ---
- name : "disksys.rom"
system : nintendo-fds
description : "FDS BIOS ROM"
required : true
size : 8192
2026-03-24 22:31:22 +01:00
validation : [ crc32]
feat: add 10 emulator profiles (batch 3)
freechaf (Channel F, 3 ROMs), freeintv (Intellivision, exec+grom),
ep128emu (Enterprise/TVC/CPC/ZX, 22 ROMs all built-in),
kronos (Saturn + 14 ST-V blobs), gambatte (GB/GBC boot ROMs),
mgba (GBA/GB/GBC/SGB, 10 CRC32 revisions), nestopia (FDS + NstDatabase),
px68k (X68000, 6 ROMs in keropi/), fuse (ZX Spectrum, 17 machines),
o2em (Odyssey2/Videopac, 4 BIOS by CRC32)
41 total profiles. Cross-reference: 644 undeclared, 167 in repo.
2026-03-17 19:23:58 +01:00
md5 : "ca30b50f880eb660a320674ed365ef7a"
sha1 : "57fe1bdee955bb48d357e463ccbf129496930b62"
source_ref : "libretro/libretro.cpp:1608-1634 (FDS load), source/core/NstFds.cpp:61-131 (Bios class, CRC32 validation)"
notes : "Mapped at 0xE000-0xFFFF (8 KB). retro_load_game returns false if missing when loading .fds files. CRC32 checked: Famicom 0x5E607DCF, Twin Famicom 0x4DF24A6C."
# --- NES game database (optional, overrides baked-in copy) ---
- name : "NstDatabase.xml"
system : nintendo-nes
description : "Nestopia game database for region and mapper autodetection"
required : false
feat: hle_fallback on 39 emulator profiles (266 entries)
Batch analysis of all 273 profiles to identify HLE/embedded
fallbacks. Added hle_fallback: true where the core has verified
software replacement for missing BIOS files:
- Embedded ROMs: vice (102), ep128emu (22), fuse (18), frodo (4)
- HLE BIOS: bsnes* (33 across 3 profiles), puae (9 AROS),
noods (4), melonds* (6 FreeBIOS), flycast (3 reios)
- Open-source replacements: sameboy (8), pokemini (1), gpsp (1)
- Built-in fallbacks: np2kai (7), atari800 (6 Altirra),
picodrive (3), quasi88 (4), gambatte (2)
Conservative: only added where notes or source code confirm HLE.
Skipped 50+ profiles where files are optional alternatives, not
HLE replaceable (neocd, opera, kronos, pcem, etc.)
2026-03-19 13:03:48 +01:00
hle_fallback : true
feat: add 10 emulator profiles (batch 3)
freechaf (Channel F, 3 ROMs), freeintv (Intellivision, exec+grom),
ep128emu (Enterprise/TVC/CPC/ZX, 22 ROMs all built-in),
kronos (Saturn + 14 ST-V blobs), gambatte (GB/GBC boot ROMs),
mgba (GBA/GB/GBC/SGB, 10 CRC32 revisions), nestopia (FDS + NstDatabase),
px68k (X68000, 6 ROMs in keropi/), fuse (ZX Spectrum, 17 machines),
o2em (Odyssey2/Videopac, 4 BIOS by CRC32)
41 total profiles. Cross-reference: 644 undeclared, 167 in repo.
2026-03-17 19:23:58 +01:00
source_ref : "libretro/libretro.cpp:1561-1586 (database load), libretro/nstdatabase.hpp (baked-in fallback)"
2026-03-24 22:31:22 +01:00
notes : "XML database matching games by SHA1+CRC32. Used for region, mapper, mirroring, and 4-player adapter detection. Built-in fallback exists so this file is optional."
feat: add 10 emulator profiles (batch 3)
freechaf (Channel F, 3 ROMs), freeintv (Intellivision, exec+grom),
ep128emu (Enterprise/TVC/CPC/ZX, 22 ROMs all built-in),
kronos (Saturn + 14 ST-V blobs), gambatte (GB/GBC boot ROMs),
mgba (GBA/GB/GBC/SGB, 10 CRC32 revisions), nestopia (FDS + NstDatabase),
px68k (X68000, 6 ROMs in keropi/), fuse (ZX Spectrum, 17 machines),
o2em (Odyssey2/Videopac, 4 BIOS by CRC32)
41 total profiles. Cross-reference: 644 undeclared, 167 in repo.
2026-03-17 19:23:58 +01:00
# --- Custom palette (optional, core option nestopia_palette = Custom) ---
- name : "custom.pal"
system : nintendo-nes
description : "External NES color palette"
required : false
feat: hle_fallback on 39 emulator profiles (266 entries)
Batch analysis of all 273 profiles to identify HLE/embedded
fallbacks. Added hle_fallback: true where the core has verified
software replacement for missing BIOS files:
- Embedded ROMs: vice (102), ep128emu (22), fuse (18), frodo (4)
- HLE BIOS: bsnes* (33 across 3 profiles), puae (9 AROS),
noods (4), melonds* (6 FreeBIOS), flycast (3 reios)
- Open-source replacements: sameboy (8), pokemini (1), gpsp (1)
- Built-in fallbacks: np2kai (7), atari800 (6 Altirra),
picodrive (3), quasi88 (4), gambatte (2)
Conservative: only added where notes or source code confirm HLE.
Skipped 50+ profiles where files are optional alternatives, not
HLE replaceable (neocd, opera, kronos, pcem, etc.)
2026-03-19 13:03:48 +01:00
hle_fallback : true
feat: add 10 emulator profiles (batch 3)
freechaf (Channel F, 3 ROMs), freeintv (Intellivision, exec+grom),
ep128emu (Enterprise/TVC/CPC/ZX, 22 ROMs all built-in),
kronos (Saturn + 14 ST-V blobs), gambatte (GB/GBC boot ROMs),
mgba (GBA/GB/GBC/SGB, 10 CRC32 revisions), nestopia (FDS + NstDatabase),
px68k (X68000, 6 ROMs in keropi/), fuse (ZX Spectrum, 17 machines),
o2em (Odyssey2/Videopac, 4 BIOS by CRC32)
41 total profiles. Cross-reference: 644 undeclared, 167 in repo.
2026-03-17 19:23:58 +01:00
size : 192
source_ref : "libretro/libretro.cpp:1540-1559 (palette load)"
2026-03-24 22:31:22 +01:00
notes : "64 RGB triplets (64 x 3 bytes = 192 bytes). Loaded unconditionally at startup; applied only when nestopia_palette core option is set to Custom. Falls back to built-in Royaltea palette. Multiple valid palettes exist so no canonical hash."
# --- ADPCM audio samples (optional, game-specific) ---
- name : "nestopia/samples/moepro/"
system : nintendo-nes
description : "Moero Pro Yakyuu audio samples (16 .wav files, 00.wav-15.wav)"
required : false
category : game_data
source_ref : "libretro/libretro.cpp:142-180 (load_wav), libretro/libretro.cpp:247 (LOAD_SAMPLE_MOERO_PRO_YAKYUU callback), source/core/NstSoundPlayer.hpp:53 (16 samples)"
- name : "nestopia/samples/moepro88/"
system : nintendo-nes
description : "Moero Pro Yakyuu '88 audio samples (20 .wav files, 00.wav-19.wav)"
required : false
category : game_data
source_ref : "libretro/libretro.cpp:142-180 (load_wav), libretro/libretro.cpp:249 (LOAD_SAMPLE_MOERO_PRO_YAKYUU_88 callback), source/core/NstSoundPlayer.hpp:54 (20 samples)"
- name : "nestopia/samples/mptennis/"
system : nintendo-nes
description : "Moero Pro Tennis audio samples (19 .wav files, 00.wav-18.wav)"
required : false
category : game_data
source_ref : "libretro/libretro.cpp:142-180 (load_wav), libretro/libretro.cpp:251 (LOAD_SAMPLE_MOERO_PRO_TENNIS callback), source/core/NstSoundPlayer.hpp:55 (19 samples)"
- name : "nestopia/samples/terao/"
system : nintendo-nes
description : "Terao no Dosukoi Oozumou audio samples (6 .wav files, 00.wav-05.wav)"
required : false
category : game_data
source_ref : "libretro/libretro.cpp:142-180 (load_wav), libretro/libretro.cpp:253 (LOAD_SAMPLE_TERAO_NO_DOSUKOI_OOZUMOU callback), source/core/NstSoundPlayer.hpp:56 (6 samples)"
- name : "nestopia/samples/ftaerobi/"
system : nintendo-nes
description : "Aerobics Studio audio samples (8 .wav files, 00.wav-07.wav)"
required : false
category : game_data
source_ref : "libretro/libretro.cpp:142-180 (load_wav), libretro/libretro.cpp:255 (LOAD_SAMPLE_AEROBICS_STUDIO callback), source/core/NstSoundPlayer.hpp:57 (8 samples)"