mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-11 14:03:23 -05:00
160 lines
6.0 KiB
YAML
160 lines
6.0 KiB
YAML
emulator: nekop2
|
|
type: libretro
|
|
core_classification: community_fork
|
|
source: "https://github.com/libretro/libretro-meowPC98"
|
|
upstream: "https://np2.yui.ne.jp (dead; source preserved in libretro repo)"
|
|
profiled_date: "2026-03-24"
|
|
source_commit: "5fdbb2187f6b14ca7bf668dd52b36c820b989995"
|
|
core_version: "0.86"
|
|
display_name: "NEC - PC-98 (Neko Project II)"
|
|
cores: [nekop2]
|
|
systems: [pc-98]
|
|
|
|
# Neko Project II (NP2) by Yui, ported to libretro by meepingsnesroms.
|
|
# PC-9801/9821 emulator (80286/IA-32 CPU). All files load from <system>/np2/.
|
|
# The libretro shim sets np2cfg.biospath to "<system>/np2/" and
|
|
# file_setcd() to the same path (libretro/libretro.c:856-864,196).
|
|
#
|
|
# BIOS_SIMULATE is hardcoded (bios/bios.c:26), so the core always has
|
|
# a built-in BIOS simulator and ITF ROM is never loaded from disk.
|
|
# Font data falls back to built-in 8x8 tables. Sound ROM falls back
|
|
# to a 9-byte stub. IDE/SCSI/SASI all have built-in stubs.
|
|
#
|
|
# .info declares firmware_count=0; the core loads several BIOS, font and
|
|
# sound files, each with a built-in fallback.
|
|
|
|
files:
|
|
# -- Main BIOS ROM --
|
|
# Loaded in bios/bios.c:232-237 via getbiospath(). 96 KB (0x18000)
|
|
# mapped at 0xe8000. Without this, the built-in BIOS simulator
|
|
# (nosyscode + BIOS_SIMULATE) is used (bios/bios.c:253).
|
|
- name: "bios.rom"
|
|
path: "np2/bios.rom"
|
|
min_size: 98304
|
|
validation: [size]
|
|
required: false
|
|
hle_fallback: true
|
|
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.
|
|
source_ref: "bios/bios.c:232-237, common/strres.c:53"
|
|
|
|
# -- PC-9821 IDE BIOS, the ROM at D8000h --
|
|
# Opened in bios/bios.c:263-264 via getbiospath(). The first 0x2000
|
|
# bytes are read to 0xd8000 (bios/bios.c:266), then the word at 0xd8009
|
|
# is cleared (bios/bios.c:269); the comment above that line reads
|
|
# "crush the IDE BIOS". Only compiled when SUPPORT_PC9821 is defined
|
|
# (libretro/compiler.h:169). GETBIOS writes BIOS9821.ROM on a PC-9821
|
|
# from segment D800h, length 0x2000 (np2tool/GETBIOS.ASM:96-106).
|
|
- name: "bios9821.rom"
|
|
path: "np2/bios9821.rom"
|
|
description: "PC-9821 IDE BIOS, the 8 KB ROM at D8000h-D9FFFh"
|
|
min_size: 8192
|
|
validation: [size]
|
|
required: false
|
|
note: >
|
|
Dump of D8000h-D9FFFh from a PC-9821, 8192 bytes as GETBIOS writes
|
|
it. The first 0x2000 bytes are read to 0xd8000 and the word at
|
|
0xd8009 is then zeroed, which leaves the ROM mapped with its IDE
|
|
BIOS disabled. A file shorter than 0x2000 bytes fails the read test
|
|
and the word is left alone; nothing past 0x2000 is read. No other
|
|
file name is tried.
|
|
source_ref: "bios/bios.c:262-272, np2tool/GETBIOS.ASM:96-106, libretro/compiler.h:169"
|
|
|
|
# -- Font file --
|
|
# Set in libretro.c:862 as "<system>/np2/font.bmp".
|
|
# font_load() in font/font.c:113 determines type by extension:
|
|
# .bmp = PC98 format, FONT.ROM = V98 format.
|
|
# Without any font file, built-in fontdata_8 provides 8x8 ASCII only.
|
|
- name: "font.bmp"
|
|
path: "np2/font.bmp"
|
|
required: false
|
|
hle_fallback: true
|
|
aliases: ["FONT.ROM"]
|
|
note: >
|
|
PC-98 font bitmap (288 KB). 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: "libretro/libretro.c:872, font/font.c:113, font/fontdata.c:12"
|
|
|
|
# -- Sound BIOS ROM --
|
|
# Loaded by soundrom_load() via loadsoundrom() in sound/soundrom.c:21-55.
|
|
# Filename built as "sound" + optional board name + ".rom".
|
|
# Board-specific variants: sound26.rom (PC-9801-26K), sound86.rom (86),
|
|
# sound118.rom (118), soundSPB.rom (Speak Board), sound14.rom (14).
|
|
# The code tries the board-specific name first, falls back to sound.rom.
|
|
# 16 KB (0x4000). Fallback: 9-byte defsoundrom stub.
|
|
- name: "sound.rom"
|
|
path: "np2/sound.rom"
|
|
required: false
|
|
hle_fallback: true
|
|
note: >
|
|
FM sound board BIOS ROM (16 KB). The core tries board-specific
|
|
variants first (sound26.rom, sound86.rom, sound118.rom, soundSPB.rom,
|
|
sound14.rom) then falls back to sound.rom.
|
|
source_ref: "sound/soundrom.c:15-16,21-55,65-78"
|
|
|
|
# -- YM2608 OPNA rhythm samples --
|
|
# Loaded by rhythm_load() in sound/rhythmc.c:60-71 via getbiospath().
|
|
# The core has no fmgen engine; only lowercase filenames are used.
|
|
- name: "2608_bd.wav"
|
|
path: "np2/2608_bd.wav"
|
|
required: false
|
|
note: "YM2608 OPNA rhythm sample: bass drum"
|
|
source_ref: "sound/rhythmc.c:11,60-71"
|
|
|
|
- name: "2608_sd.wav"
|
|
path: "np2/2608_sd.wav"
|
|
required: false
|
|
note: "YM2608 OPNA rhythm sample: snare drum"
|
|
source_ref: "sound/rhythmc.c:12"
|
|
|
|
- name: "2608_top.wav"
|
|
path: "np2/2608_top.wav"
|
|
required: false
|
|
note: "YM2608 OPNA rhythm sample: top cymbal"
|
|
source_ref: "sound/rhythmc.c:13"
|
|
|
|
- name: "2608_hh.wav"
|
|
path: "np2/2608_hh.wav"
|
|
required: false
|
|
note: "YM2608 OPNA rhythm sample: hi-hat"
|
|
source_ref: "sound/rhythmc.c:14"
|
|
|
|
- name: "2608_tom.wav"
|
|
path: "np2/2608_tom.wav"
|
|
required: false
|
|
note: "YM2608 OPNA rhythm sample: tom"
|
|
source_ref: "sound/rhythmc.c:15"
|
|
|
|
- name: "2608_rim.wav"
|
|
path: "np2/2608_rim.wav"
|
|
required: false
|
|
note: "YM2608 OPNA rhythm sample: rim shot"
|
|
source_ref: "sound/rhythmc.c:16"
|
|
|
|
# -- SCSI controller BIOS --
|
|
# Loaded in cbus/scsiio.c:219 via file_open_rb_c(). 16 KB (0x4000).
|
|
# Falls back to built-in scsibios[] stub.
|
|
- name: "scsi.rom"
|
|
path: "np2/scsi.rom"
|
|
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:208-233"
|
|
|
|
# -- SASI controller BIOS --
|
|
# Loaded in cbus/sasiio.c:453 via file_open_rb_c(). 4 KB (0x1000).
|
|
# Falls back to built-in sasibios[] stub.
|
|
- name: "sasi.rom"
|
|
path: "np2/sasi.rom"
|
|
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:442-465"
|