{
  "commit": "d38cd580364b2c788e633b9e51c15e1668f726c0",
  "count": 1,
  "generated_at": "2026-11-03T13:36:34Z",
  "items": [
    {
      "id": "np2kai",
      "profile": {
        "core_classification": "enhanced_fork",
        "core_version": "0.86",
        "cores": [
          "np2kai"
        ],
        "display_name": "NEC - PC-98 (Neko Project II Kai)",
        "emulator": "NP2kai",
        "files": [
          {
            "hle_fallback": true,
            "min_size": 98304,
            "name": "bios.rom",
            "note": "PC-9801 system BIOS ROM. The first 0x18000 bytes are read to 0xe8000. A file shorter than that is ignored and the built-in BIOS simulator is used, as when the file is absent.\n",
            "path": "np2kai/bios.rom",
            "required": false,
            "source_ref": "source bios/bios.c:440-447, source pccore.c:129, upstream common/strres.c:67",
            "validation": [
              "size"
            ]
          },
          {
            "aliases": [
              "FONT.ROM",
              "font.rom",
              "FONT.BMP"
            ],
            "hle_fallback": true,
            "name": "font.bmp",
            "note": "PC-98 font bitmap. Required for correct Japanese kanji display. Without this, only basic ASCII renders using built-in 8x8 data. FONT.ROM (V98 format) is also accepted.\n",
            "path": "np2kai/font.bmp",
            "required": false,
            "source_ref": "source sdl/libretro/libretro.c:1830, source font/font.c:86-125, upstream font/fontdata.c:11"
          },
          {
            "hle_fallback": true,
            "name": "sound.rom",
            "note": "FM sound board BIOS ROM (16 KB). Generic fallback for all sound boards. Board-specific variants are tried first: sound26.rom (PC-9801-26K), sound86.rom (86), sound118.rom (118), soundSPB.rom (Speak Board), soundMO.rom (MO), sound14.rom (14).\n",
            "path": "np2kai/sound.rom",
            "required": false,
            "size": 16384,
            "source_ref": "source sound/soundrom.c:15-16, 21-55, 93-106"
          },
          {
            "name": "2608_bd.wav",
            "note": "YM2608 OPNA rhythm sample: bass drum",
            "path": "np2kai/2608_bd.wav",
            "required": false,
            "source_ref": "upstream sound/rhythmc.c:11, 60-71"
          },
          {
            "name": "2608_sd.wav",
            "note": "YM2608 OPNA rhythm sample: snare drum",
            "path": "np2kai/2608_sd.wav",
            "required": false,
            "source_ref": "upstream sound/rhythmc.c:12, 60-71"
          },
          {
            "name": "2608_top.wav",
            "note": "YM2608 OPNA rhythm sample: top cymbal",
            "path": "np2kai/2608_top.wav",
            "required": false,
            "source_ref": "upstream sound/rhythmc.c:13, 60-71"
          },
          {
            "name": "2608_hh.wav",
            "note": "YM2608 OPNA rhythm sample: hi-hat",
            "path": "np2kai/2608_hh.wav",
            "required": false,
            "source_ref": "upstream sound/rhythmc.c:14, 60-71"
          },
          {
            "name": "2608_tom.wav",
            "note": "YM2608 OPNA rhythm sample: tom",
            "path": "np2kai/2608_tom.wav",
            "required": false,
            "source_ref": "upstream sound/rhythmc.c:15, 60-71"
          },
          {
            "name": "2608_rim.wav",
            "note": "YM2608 OPNA rhythm sample: rim shot",
            "path": "np2kai/2608_rim.wav",
            "required": false,
            "source_ref": "upstream sound/rhythmc.c:16, 60-71"
          },
          {
            "name": "2608_BD.WAV",
            "note": "YM2608 OPNA rhythm sample for the fmgen engine: bass drum",
            "path": "np2kai/2608_BD.WAV",
            "required": false,
            "source_ref": "source sound/fmgen/fmgen_opna.cpp:1417-1420, 1431-1444, source sound/opna.c:124-125"
          },
          {
            "name": "2608_SD.WAV",
            "note": "YM2608 OPNA rhythm sample for the fmgen engine: snare drum",
            "path": "np2kai/2608_SD.WAV",
            "required": false,
            "source_ref": "source sound/fmgen/fmgen_opna.cpp:1417-1420, 1431-1444, source sound/opna.c:124-125"
          },
          {
            "name": "2608_TOP.WAV",
            "note": "YM2608 OPNA rhythm sample for the fmgen engine: top cymbal",
            "path": "np2kai/2608_TOP.WAV",
            "required": false,
            "source_ref": "source sound/fmgen/fmgen_opna.cpp:1417-1420, 1431-1444, source sound/opna.c:124-125"
          },
          {
            "name": "2608_HH.WAV",
            "note": "YM2608 OPNA rhythm sample for the fmgen engine: hi-hat",
            "path": "np2kai/2608_HH.WAV",
            "required": false,
            "source_ref": "source sound/fmgen/fmgen_opna.cpp:1417-1420, 1431-1444, source sound/opna.c:124-125"
          },
          {
            "name": "2608_TOM.WAV",
            "note": "YM2608 OPNA rhythm sample for the fmgen engine: tom",
            "path": "np2kai/2608_TOM.WAV",
            "required": false,
            "source_ref": "source sound/fmgen/fmgen_opna.cpp:1417-1420, 1431-1444, source sound/opna.c:124-125"
          },
          {
            "name": "2608_RIM.WAV",
            "note": "YM2608 OPNA rhythm sample for the fmgen engine: rim shot. When it is missing fmgen tries 2608_RYM.WAV, but strncpy drops the directory, so that name is opened from the working directory, not from np2kai/.",
            "path": "np2kai/2608_RIM.WAV",
            "required": false,
            "source_ref": "source sound/fmgen/fmgen_opna.cpp:1417-1420, 1431-1444, source sound/opna.c:124-125"
          },
          {
            "aliases": [
              "d8000.rom",
              "bank3.bin",
              "bios9821.rom"
            ],
            "hle_fallback": true,
            "min_size": 8192,
            "name": "ide.rom",
            "note": "IDE BIOS of a PC-9821, the ROM a real machine maps at D8000h. The first 0x2000 bytes of the first name found are read to idebaddr << 12 and nothing past them. A shorter file is dropped. Without a loaded ROM the emulated IDE BIOS is used.\n",
            "path": "np2kai/ide.rom",
            "required": false,
            "source_ref": "source cbus/ideio.c:1928-1930, source cbus/ideio.c:1944-1981",
            "validation": [
              "size"
            ]
          },
          {
            "hle_fallback": true,
            "max_size": 16384,
            "name": "scsi.rom",
            "note": "SCSI controller BIOS ROM, up to 16 KB: the full-size test is commented out and a shorter file is used as read. The core includes a built-in SCSI BIOS stub as fallback.\n",
            "path": "np2kai/scsi.rom",
            "required": false,
            "source_ref": "upstream cbus/scsiio.c:720-732"
          },
          {
            "hle_fallback": true,
            "name": "sasi.rom",
            "note": "SASI controller BIOS ROM (4 KB). The core includes a built-in SASI BIOS stub as fallback.\n",
            "path": "np2kai/sasi.rom",
            "required": false,
            "size": 4096,
            "source_ref": "source cbus/sasiio.c:451-467"
          },
          {
            "aliases": [
              "bank0.bin"
            ],
            "hle_fallback": true,
            "name": "pci.rom",
            "note": "PCI BIOS ROM (32 KB). For PC-9821 PCI bus emulation. Without this, the built-in PCI BIOS simulator is used.\n",
            "path": "np2kai/pci.rom",
            "required": false,
            "size": 32768,
            "source_ref": "source io/pcidev.c:356-382"
          },
          {
            "name": "gpib.rom",
            "note": "GP-IB interface BIOS ROM (8 KB). If missing, GP-IB emulation is disabled entirely.\n",
            "path": "np2kai/gpib.rom",
            "required": false,
            "size": 8192,
            "source_ref": "source cbus/gpibio.c:320-356",
            "unsourceable": "never publicly dumped, GP-IB emulation is stub code (source comment: not implemented)"
          },
          {
            "hle_fallback": true,
            "name": "key.txt",
            "note": "Keyboard remapping configuration (text file). User-created file for custom keyboard layout. The core uses built-in defaults if absent.\n",
            "path": "np2kai/key.txt",
            "required": false,
            "source_ref": "upstream keystat.c:46, 116-151",
            "unsourceable": "user-created keyboard config, no default distributed in any NP2kai release"
          }
        ],
        "profiled_date": "2026-03-24",
        "source": "https://github.com/libretro/NP2kai",
        "source_commit": "1ea561cd7fd62b33f4e7b3f1c2e30fc3e6089f28",
        "systems": [
          "pc-98"
        ],
        "type": "libretro",
        "upstream": "https://github.com/AZO234/NP2kai",
        "upstream_commit": "5d47f3a04b0b8ea78f625eeec354ac132c80df06",
        "version_basis": {
          "kind": "file",
          "path": "np2ver.h",
          "pattern": "#define\\s+NP2VER_CORE\\s+\"([0-9][0-9.]*)\""
        }
      }
    }
  ],
  "kind": "emulators",
  "schema_version": 1
}
