Skip to content

# Nestopia UE - RetroBIOS

Type | libretro
Classification | community_fork
Source | https://github.com/libretro/nestopia
Upstream | https://gitlab.com/jgemu/nestopia
Version | 1.53.1
Profiled | 2026-03-24
Cores | nestopia
Systems | nintendo-nes, nintendo-fds

Technical notes

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.

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.

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.

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.

8 files | 1 required, 7 optional | 2 in repo, 6 missing | 2 with HLE fallback Categories: 3 BIOS, 5 game data

`disksys.rom` -required : FDS BIOS ROM

- System: nintendo-fds
- Size: 8.0 KB
- SHA1: `57fe1bdee955bb48d357e463ccbf129496930b62`
- MD5: `ca30b50f880eb660a320674ed365ef7a`
- Validation: crc32
- Source: `libretro/libretro.cpp:1608-1634 (FDS load), source/core/NstFds.cpp:61-131 (Bios class, CRC32 validation)`
- Platforms: batocera, emudeck, lakka, recalbox, retroarch, retrobat, retrodeck, retropie
- Mapped at 0xE000-0xFFFF (8 KB). retro_load_game returns false if missing when loading .fds files. CRC32 checked: Famicom 0x5E607DCF, Twin Famicom 0x4DF24A6C.

`NstDatabase.xml` -optional, HLE available : Nestopia game database for region and mapper autodetection

- System: nintendo-nes
- Source: `libretro/libretro.cpp:1561-1586 (database load), libretro/nstdatabase.hpp (baked-in fallback)`
- Platforms: lakka, retroarch, retrodeck, retropie
- 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.

`custom.pal` -optional, HLE available, missing from repo : External NES color palette

- System: nintendo-nes
- Size: 192 B
- Source: `libretro/libretro.cpp:1540-1559 (palette load)`
- 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.

`nestopia/samples/moepro/` -optional, game_data, missing from repo : Moero Pro Yakyuu audio samples (16 .wav files, 00.wav-15.wav)

- System: nintendo-nes
- Source: `libretro/libretro.cpp:142-180 (load_wav), libretro/libretro.cpp:247 (LOAD_SAMPLE_MOERO_PRO_YAKYUU callback), source/core/NstSoundPlayer.hpp:53 (16 samples)`

`nestopia/samples/moepro88/` -optional, game_data, missing from repo : Moero Pro Yakyuu '88 audio samples (20 .wav files, 00.wav-19.wav)

- System: nintendo-nes
- Source: `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)`

`nestopia/samples/mptennis/` -optional, game_data, missing from repo : Moero Pro Tennis audio samples (19 .wav files, 00.wav-18.wav)

- System: nintendo-nes
- Source: `libretro/libretro.cpp:142-180 (load_wav), libretro/libretro.cpp:251 (LOAD_SAMPLE_MOERO_PRO_TENNIS callback), source/core/NstSoundPlayer.hpp:55 (19 samples)`

`nestopia/samples/terao/` -optional, game_data, missing from repo : Terao no Dosukoi Oozumou audio samples (6 .wav files, 00.wav-05.wav)

- System: nintendo-nes
- Source: `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)`

`nestopia/samples/ftaerobi/` -optional, game_data, missing from repo : Aerobics Studio audio samples (8 .wav files, 00.wav-07.wav)

- System: nintendo-nes
- Source: `libretro/libretro.cpp:142-180 (load_wav), libretro/libretro.cpp:255 (LOAD_SAMPLE_AEROBICS_STUDIO callback), source/core/NstSoundPlayer.hpp:57 (8 samples)`

Generated on 2026-03-25T14:56:43Z