mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-13 12:22:33 -05:00
batch re-profiled nekop2 through pokemini. mupen64plus renamed to mupen64plus_next. new profiles: nes, mupen64plus_next. validation functions (_build_validation_index, check_file_validation) consolidated in common.py — single source of truth for verify.py and generate_pack.py. pipeline 100% consistent on all 6 platforms.
205 lines
7.6 KiB
YAML
205 lines
7.6 KiB
YAML
emulator: NP2kai
|
|
type: libretro
|
|
core_classification: enhanced_fork
|
|
source: "https://github.com/libretro/NP2kai"
|
|
upstream: "https://github.com/AZO234/NP2kai"
|
|
profiled_date: "2026-03-24"
|
|
core_version: "0.86"
|
|
display_name: "NEC - PC-98 (Neko Project II Kai)"
|
|
cores: [np2kai]
|
|
systems: [pc-98]
|
|
|
|
# NP2kai is a PC-9801/9821 emulator by AZO234, enhanced fork of Neko Project II
|
|
# by Yui (original upstream dead: np2.yui.ne.jp). All files load from
|
|
# <system>/np2kai/ subdirectory, set in retro_load_game()
|
|
# (sdl/libretro/libretro.c:1800-1815). All getbiospath() calls resolve
|
|
# relative to that directory.
|
|
#
|
|
# BIOS_SIMULATE is unconditionally #define'd (bios/bios.c:78), so the core
|
|
# always has a built-in BIOS simulator. itf.rom loading (bios.c:569) is dead
|
|
# code behind #else of this define and is never executed.
|
|
#
|
|
# .info declares firmware_count=11 but is incomplete: misses IDE, SCSI, SASI,
|
|
# PCI, GPIB ROMs and key.txt. Lists itf.rom which is dead code (phantom).
|
|
#
|
|
# The fmgen YM2608 rhythm engine (fmgen_opna.cpp:1413-1443) loads WAV files
|
|
# with uppercase names (2608_BD.WAV). The built-in rhythm engine (rhythmc.c)
|
|
# uses lowercase (2608_bd.wav). Both resolve from np2kai/.
|
|
# The fmgen engine also accepts "2608_RYM.WAV" as fallback for the rim sample.
|
|
#
|
|
# Sound ROM has board-specific variants tried before the generic fallback:
|
|
# sound26.rom (26K), sound86.rom (86), sound118.rom (118), soundSPB.rom
|
|
# (Speak Board), soundMO.rom (MO), sound14.rom (14). Built as "sound" +
|
|
# board name + ".rom" in soundrom.c:21-33.
|
|
|
|
files:
|
|
# -- Main BIOS ROM --
|
|
# Loaded in bios/bios.c:430-436 via getbiospath(). 96 KB (0x18000) mapped
|
|
# at 0xe8000. Only loaded when np2cfg.usebios is true (core option).
|
|
# Without this, CopyMemory copies nosyscode[] built-in simulator.
|
|
- name: "bios.rom"
|
|
path: "np2kai/bios.rom"
|
|
size: 98304
|
|
required: false
|
|
hle_fallback: true
|
|
note: >
|
|
PC-9801 system BIOS ROM (96 KB). The core boots without it using the
|
|
built-in BIOS simulator, but some software requires the real BIOS.
|
|
source_ref: "bios/bios.c:430-436, common/strres.c:60"
|
|
|
|
# -- Font file --
|
|
# Path set in libretro.c:1813 as "<system>/np2kai/font.bmp".
|
|
# font_load() in font/font.c:125 detects type by extension:
|
|
# .bmp/.BMP = PC98 format (fontpc98.c), FONT.ROM = V98 format (fontv98.c).
|
|
# Without any font file, fontdata_8 provides 8x8 ASCII only.
|
|
- name: "font.bmp"
|
|
path: "np2kai/font.bmp"
|
|
required: false
|
|
hle_fallback: true
|
|
aliases: ["FONT.ROM", "font.rom", "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.
|
|
source_ref: "sdl/libretro/libretro.c:1813, font/font.c:86-125, font/fontdata.c:11"
|
|
|
|
# -- Sound BIOS ROM --
|
|
# Loaded by soundrom_load() in soundrom.c:93-106 via loadsoundrom().
|
|
# Filename composed as "sound" + optional board name + ".rom" (soundrom.c:27-32).
|
|
# Board-specific variants tried first, then sound.rom as fallback.
|
|
# 16 KB (0x4000). Falls back to 9-byte defsoundrom[] stub.
|
|
- name: "sound.rom"
|
|
path: "np2kai/sound.rom"
|
|
size: 16384
|
|
required: false
|
|
hle_fallback: true
|
|
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).
|
|
source_ref: "sound/soundrom.c:15-16,21-55,93-106"
|
|
|
|
# -- YM2608 OPNA rhythm samples --
|
|
# Loaded by the built-in rhythm engine (rhythmc.c:60-71) using lowercase
|
|
# filenames, and by the fmgen engine (fmgen_opna.cpp:1413-1443) using
|
|
# uppercase (2608_BD.WAV etc). Both resolve via getbiospath().
|
|
- name: "2608_bd.wav"
|
|
path: "np2kai/2608_bd.wav"
|
|
required: false
|
|
aliases: ["2608_BD.WAV"]
|
|
note: "YM2608 OPNA rhythm sample: bass drum"
|
|
source_ref: "sound/rhythmc.c:11,60-71, sound/fmgen/fmgen_opna.cpp:1431"
|
|
|
|
- name: "2608_sd.wav"
|
|
path: "np2kai/2608_sd.wav"
|
|
required: false
|
|
aliases: ["2608_SD.WAV"]
|
|
note: "YM2608 OPNA rhythm sample: snare drum"
|
|
source_ref: "sound/rhythmc.c:12, sound/fmgen/fmgen_opna.cpp:1432"
|
|
|
|
- name: "2608_top.wav"
|
|
path: "np2kai/2608_top.wav"
|
|
required: false
|
|
aliases: ["2608_TOP.WAV"]
|
|
note: "YM2608 OPNA rhythm sample: top cymbal"
|
|
source_ref: "sound/rhythmc.c:13, sound/fmgen/fmgen_opna.cpp:1432"
|
|
|
|
- name: "2608_hh.wav"
|
|
path: "np2kai/2608_hh.wav"
|
|
required: false
|
|
aliases: ["2608_HH.WAV"]
|
|
note: "YM2608 OPNA rhythm sample: hi-hat"
|
|
source_ref: "sound/rhythmc.c:14, sound/fmgen/fmgen_opna.cpp:1432"
|
|
|
|
- name: "2608_tom.wav"
|
|
path: "np2kai/2608_tom.wav"
|
|
required: false
|
|
aliases: ["2608_TOM.WAV"]
|
|
note: "YM2608 OPNA rhythm sample: tom"
|
|
source_ref: "sound/rhythmc.c:15, sound/fmgen/fmgen_opna.cpp:1432"
|
|
|
|
- name: "2608_rim.wav"
|
|
path: "np2kai/2608_rim.wav"
|
|
required: false
|
|
aliases: ["2608_RIM.WAV", "2608_RYM.WAV"]
|
|
note: "YM2608 OPNA rhythm sample: rim shot. fmgen also accepts 2608_RYM.WAV."
|
|
source_ref: "sound/rhythmc.c:16, sound/fmgen/fmgen_opna.cpp:1431-1441"
|
|
|
|
# -- IDE BIOS ROM --
|
|
# Loaded by ideio.c:1913-1931. Tried in order: ide.rom, d8000.rom,
|
|
# bank3.bin, bios9821.rom. Only loaded when np2cfg.idebios is enabled
|
|
# and a real main BIOS ROM is present. Falls back to simulated IDE BIOS.
|
|
- name: "ide.rom"
|
|
path: "np2kai/ide.rom"
|
|
size: 8192
|
|
required: false
|
|
hle_fallback: true
|
|
aliases: ["d8000.rom", "bank3.bin", "bios9821.rom"]
|
|
note: >
|
|
IDE controller BIOS ROM (8 KB). For IDE HDD boot support.
|
|
Without this, a simulated IDE BIOS is used.
|
|
source_ref: "cbus/ideio.c:1913-1941"
|
|
|
|
# -- SCSI BIOS ROM --
|
|
# Loaded by scsiio.c:219. 16 KB (0x4000). Falls back to scsibios[] stub.
|
|
- name: "scsi.rom"
|
|
path: "np2kai/scsi.rom"
|
|
size: 16384
|
|
required: false
|
|
hle_fallback: true
|
|
note: >
|
|
SCSI controller BIOS ROM (16 KB). The core includes a built-in
|
|
SCSI BIOS stub as fallback.
|
|
source_ref: "cbus/scsiio.c:214-231"
|
|
|
|
# -- SASI BIOS ROM --
|
|
# Loaded by sasiio.c:455. 4 KB (0x1000). Falls back to sasibios[] stub.
|
|
- name: "sasi.rom"
|
|
path: "np2kai/sasi.rom"
|
|
size: 4096
|
|
required: false
|
|
hle_fallback: true
|
|
note: >
|
|
SASI controller BIOS ROM (4 KB). The core includes a built-in
|
|
SASI BIOS stub as fallback.
|
|
source_ref: "cbus/sasiio.c:451-467"
|
|
|
|
# -- PCI BIOS ROM --
|
|
# Loaded by pcidev.c:360-382. Tries pci.rom then bank0.bin.
|
|
# 32 KB (0x8000). Falls back to built-in PCI BIOS simulation.
|
|
- name: "pci.rom"
|
|
path: "np2kai/pci.rom"
|
|
size: 32768
|
|
required: false
|
|
hle_fallback: true
|
|
aliases: ["bank0.bin"]
|
|
note: >
|
|
PCI BIOS ROM (32 KB). For PC-9821 PCI bus emulation.
|
|
Without this, the built-in PCI BIOS simulator is used.
|
|
source_ref: "io/pcidev.c:356-382"
|
|
|
|
# -- GPIB BIOS ROM --
|
|
# Loaded by gpibio.c:327-356. 8 KB (0x2000). No built-in fallback:
|
|
# if missing, GPIB is disabled entirely (gpib.enable = 0).
|
|
- name: "gpib.rom"
|
|
path: "np2kai/gpib.rom"
|
|
size: 8192
|
|
required: false
|
|
note: >
|
|
GP-IB interface BIOS ROM (8 KB). If missing, GP-IB emulation
|
|
is disabled entirely.
|
|
source_ref: "cbus/gpibio.c:320-356"
|
|
|
|
# -- Keyboard remapping config --
|
|
# Loaded by keystat_initialize() in keystat.c:43 via getbiospath().
|
|
# Plain text file mapping keyboard scancodes. If missing, default
|
|
# built-in table is used.
|
|
- name: "key.txt"
|
|
path: "np2kai/key.txt"
|
|
required: false
|
|
note: >
|
|
Keyboard remapping configuration (text file). User-created file
|
|
for custom keyboard layout. The core uses built-in defaults if absent.
|
|
source_ref: "keystat.c:43,113-148"
|