{
  "commit": "d38cd580364b2c788e633b9e51c15e1668f726c0",
  "count": 1,
  "generated_at": "2026-11-03T13:36:34Z",
  "items": [
    {
      "id": "nestopia",
      "profile": {
        "core_classification": "community_fork",
        "core_version": "2.0.0",
        "cores": [
          "nestopia"
        ],
        "display_name": "Nintendo - NES / Famicom (Nestopia)",
        "emulator": "Nestopia UE",
        "files": [
          {
            "crc32": [
              "5e607dcf",
              "4df24a6c"
            ],
            "description": "FDS BIOS ROM",
            "md5": "ca30b50f880eb660a320674ed365ef7a",
            "name": "disksys.rom",
            "note": "Mapped at 0xE000-0xFFFF (8 KB). retro_load_game returns false if missing when loading .fds files. CRC32 checked: Famicom 0x5E607DCF, Twin Famicom 0x4DF24A6C.",
            "on_mismatch": "warn",
            "required": true,
            "sha1": "57fe1bdee955bb48d357e463ccbf129496930b62",
            "size": 8192,
            "source_ref": "source libretro/libretro.cpp:2171-2199 (FDS load), source source/core/NstFds.cpp:57-127 (Bios class, CRC32 logged), source source/core/api/NstApiFds.cpp:101-150 (iNES header skipped)",
            "system": "nintendo-fds",
            "validation": [
              "crc32"
            ]
          },
          {
            "description": "Nestopia game database for region and mapper autodetection",
            "hle_fallback": true,
            "installed_on": [
              "batocera"
            ],
            "name": "NstDatabase.xml",
            "note": "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.",
            "required": false,
            "source_ref": "source libretro/libretro.cpp:2123-2153 (database load), source libretro/nstdatabase.hpp (baked-in fallback)",
            "system": "nintendo-nes"
          },
          {
            "description": "External NES color palette",
            "hle_fallback": true,
            "name": "custom.pal",
            "note": "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.",
            "required": false,
            "size": 192,
            "source_ref": "source libretro/libretro.cpp:2101-2122 (palette load)",
            "system": "nintendo-nes"
          },
          {
            "category": "game_data",
            "description": "Moero Pro Yakyuu audio samples (16 .wav files, 00.wav-15.wav)",
            "name": "nestopia/samples/moepro/",
            "required": false,
            "source_ref": "source libretro/libretro.cpp:183-391 (load_wav), source libretro/libretro.cpp:451 (LOAD_SAMPLE_MOERO_PRO_YAKYUU callback), source source/core/NstSoundPlayer.hpp:49 (16 samples)",
            "system": "nintendo-nes",
            "type": "directory"
          },
          {
            "category": "game_data",
            "description": "Moero Pro Yakyuu '88 audio samples (20 .wav files, 00.wav-19.wav)",
            "name": "nestopia/samples/moepro88/",
            "required": false,
            "source_ref": "source libretro/libretro.cpp:183-391 (load_wav), source libretro/libretro.cpp:453 (LOAD_SAMPLE_MOERO_PRO_YAKYUU_88 callback), source source/core/NstSoundPlayer.hpp:50 (20 samples)",
            "system": "nintendo-nes",
            "type": "directory"
          },
          {
            "category": "game_data",
            "description": "Moero Pro Tennis audio samples (19 .wav files, 00.wav-18.wav)",
            "name": "nestopia/samples/mptennis/",
            "required": false,
            "source_ref": "source libretro/libretro.cpp:183-391 (load_wav), source libretro/libretro.cpp:455 (LOAD_SAMPLE_MOERO_PRO_TENNIS callback), source source/core/NstSoundPlayer.hpp:51 (19 samples)",
            "system": "nintendo-nes",
            "type": "directory"
          },
          {
            "category": "game_data",
            "description": "Terao no Dosukoi Oozumou audio samples (6 .wav files, 00.wav-05.wav)",
            "name": "nestopia/samples/terao/",
            "required": false,
            "source_ref": "source libretro/libretro.cpp:183-391 (load_wav), source libretro/libretro.cpp:457 (LOAD_SAMPLE_TERAO_NO_DOSUKOI_OOZUMOU callback), source source/core/NstSoundPlayer.hpp:52 (6 samples)",
            "system": "nintendo-nes",
            "type": "directory"
          },
          {
            "category": "game_data",
            "description": "Aerobics Studio audio samples (8 .wav files, 00.wav-07.wav)",
            "name": "nestopia/samples/ftaerobi/",
            "required": false,
            "source_ref": "source libretro/libretro.cpp:183-391 (load_wav), source libretro/libretro.cpp:459 (LOAD_SAMPLE_AEROBICS_STUDIO callback), source source/core/NstSoundPlayer.hpp:53 (8 samples)",
            "system": "nintendo-nes",
            "type": "directory"
          }
        ],
        "logo": "https://raw.githubusercontent.com/0ldsk00l/nestopia/master/icons/svg/nestopia.svg",
        "notes": "Nestopia UE is a cycle-accurate NES/Famicom emulator. The libretro port\ntracks the upstream Nestopia JG project. NES cartridge games need no BIOS.\nFamicom Disk System games require disksys.rom (8 KB FDS BIOS) in the\nsystem directory. The core validates the BIOS via CRC32 against two known\ndumps: standard Famicom (0x5E607DCF) and Twin Famicom (0x4DF24A6C). An\nunknown BIOS triggers a warning but still loads.\n\nNstDatabase.xml is an optional game database for region autodetection,\nmapper selection, and 4-player adapter recognition. A copy is baked into\nthe core binary (libretro/nstdatabase.hpp) as fallback. The upstream\nNestopia JG requires this file, while the libretro port makes it optional.\n\nAn optional custom palette file (custom.pal, 64 RGB triplets) overrides\nbuilt-in palettes when the nestopia_palette core option is set to Custom.\nThe libretro port embeds all named palettes (Royaltea, Smooth FBx, etc.)\nthat the upstream loads from external .pal files.\n\nFive Famicom games use external ADPCM audio samples placed in\nsystem/nestopia/samples/{game}/ as numbered .wav files. These originate\nfrom MAME sample ZIPs. Games function without them but miss some audio.\n",
        "profiled_date": "2026-03-24",
        "source": "https://github.com/libretro/nestopia",
        "source_commit": "2110d21b7174455ec98948bb474147dea0e3cad0",
        "systems": [
          "nintendo-nes",
          "nintendo-fds"
        ],
        "type": "libretro",
        "upstream": "https://gitlab.com/jgemu/nestopia",
        "upstream_commit": "b3adbeb42482e979ab99e16bcd9a22480f13479f",
        "version_basis": {
          "kind": "file",
          "path": "libretro/libretro.cpp",
          "pattern": "#define\\s+NST_VERSION\\s+\"([^\"]+)\""
        }
      }
    }
  ],
  "kind": "emulators",
  "schema_version": 1
}
