mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-13 12:22:33 -05:00
feat: re-profile 22 emulators, refactor validation to common.py
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.
This commit is contained in:
@@ -1,173 +1,204 @@
|
||||
emulator: NP2kai
|
||||
type: libretro
|
||||
core_classification: enhanced_fork
|
||||
source: "https://github.com/libretro/NP2kai"
|
||||
profiled_date: "2026-03-18"
|
||||
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 (Neko Project II kai).
|
||||
# All BIOS/font/sound files are loaded from <system>/np2kai/ subdirectory.
|
||||
# The core sets np2cfg.biospath to "<system>/np2kai/" in retro_load_game()
|
||||
# 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.
|
||||
#
|
||||
# The core has a built-in BIOS simulator (BIOS_SIMULATE) that can boot
|
||||
# without a real BIOS ROM, but a real bios.rom provides better compatibility.
|
||||
# Font data is auto-generated from built-in tables if font.bmp is missing,
|
||||
# but Japanese kanji display requires the real font file.
|
||||
# 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 extension (.WAV) but the built-in rhythm engine (rhythmc.c)
|
||||
# uses lowercase (.wav). Both paths resolve from np2kai/.
|
||||
# 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-440. 96 KB (0x18000) mapped at 0xe8000.
|
||||
# Without this, the built-in BIOS simulator is used (less compatible).
|
||||
# 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). Provides full hardware compatibility.
|
||||
The core can boot without it using the built-in BIOS simulator, but
|
||||
some software may not work correctly. Loaded at address 0xe8000.
|
||||
source_ref: "bios/bios.c:430-440, common/strres.c:60"
|
||||
|
||||
# -- ITF ROM --
|
||||
# Initial Test Firmware, loaded at ITF_ADRS (0xf8000), 32 KB.
|
||||
# Only loaded when BIOS_SIMULATE is not defined (bios/bios.c:569-574).
|
||||
# In the libretro build, BIOS_SIMULATE is typically enabled, so this is
|
||||
# only needed for non-simulated builds.
|
||||
- name: "itf.rom"
|
||||
path: "np2kai/itf.rom"
|
||||
required: false
|
||||
hle_fallback: true
|
||||
note: >
|
||||
Initial Test Firmware ROM (32 KB). Used for hardware initialization
|
||||
and memory check at boot. Only loaded when the built-in ITF simulator
|
||||
is disabled. Most libretro builds include the simulator.
|
||||
source_ref: "bios/bios.c:569-574"
|
||||
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 --
|
||||
# Set explicitly in libretro.c:1813 as "<system>/np2kai/font.bmp".
|
||||
# The core also supports FONT.ROM / font.rom (V98 format) via font_load().
|
||||
# Without any font file, built-in 8x8 bitmap data is used but kanji
|
||||
# characters will not display correctly.
|
||||
# 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 (288 KB). Required for correct Japanese kanji display.
|
||||
Without this file, only basic ASCII characters render correctly using
|
||||
built-in data.
|
||||
source_ref: "sdl/libretro/libretro.c:1813, font/fontdata.c:11-14"
|
||||
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() as "sound.rom" (soundrom.c:15-16, 28-32).
|
||||
# The filename is composed as "sound" + optional board name + ".rom".
|
||||
# 16 KB ROM for the FM sound board.
|
||||
# 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). Used by the PC-9801-26K/86/118
|
||||
sound boards. The core falls back to a minimal built-in default
|
||||
(9-byte stub) if this file is missing.
|
||||
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 both the built-in rhythm engine (rhythmc.c:60-71) and the
|
||||
# fmgen engine (fmgen_opna.cpp:1413-1443). Required for YM2608 OPNA
|
||||
# rhythm sound channel (bass drum, snare, etc).
|
||||
# The fmgen engine tries uppercase .WAV, the built-in engine uses .wav.
|
||||
# Place lowercase versions - the filesystem handles case on most platforms.
|
||||
# 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, sound/fmgen/fmgen_opna.cpp:1431-1433"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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_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:1413-1443"
|
||||
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 IDE BIOS is enabled in
|
||||
# core options (np2cfg.idebios) and a real BIOS ROM is also present.
|
||||
# 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). Required for real IDE BIOS emulation
|
||||
(HDD boot from IDE). Without this, a simulated IDE BIOS is used.
|
||||
source_ref: "cbus/ideio.c:1913-1931"
|
||||
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-231. Falls back to built-in scsibios[] stub.
|
||||
# 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). For PC-98 SCSI HDD support.
|
||||
The core includes a built-in SCSI BIOS stub as fallback.
|
||||
source_ref: "cbus/scsiio.c:219-231"
|
||||
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:364-382. Tries pci.rom then bank0.bin.
|
||||
# Falls back to built-in PCI BIOS simulation.
|
||||
# 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:360-382"
|
||||
source_ref: "io/pcidev.c:356-382"
|
||||
|
||||
# -- GPIB BIOS ROM --
|
||||
# Loaded by gpibio.c:327-356.
|
||||
# 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. Rarely needed, only for GP-IB peripheral
|
||||
emulation.
|
||||
source_ref: "cbus/gpibio.c:327-356"
|
||||
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"
|
||||
|
||||
Reference in New Issue
Block a user