feat: add category field to emulator profiles, source missing BIOS

Add category: game_data to sdlpal, nxengine, opentyrian, easyrpg,
mkxp_z profiles. verify.py separates game_data from bios in core
gap metrics for cleaner coverage numbers.

New BIOS files: Cemu fonts (4), QEMU bios-256k + vgabios-stdvga,
GAM4980 ROMs (2), SC-3000 Export variant.
This commit is contained in:
Abdessamad Derraz
2026-03-21 07:31:33 +01:00
parent 13a2938dc7
commit 74f17694c2
17 changed files with 249 additions and 18 deletions

View File

@@ -65,6 +65,7 @@ files:
# ================================================================
- name: "easyrpg.soundfont"
category: game_data
path: "easyrpg.soundfont"
required: false
hle_fallback: true
@@ -81,6 +82,7 @@ files:
# ================================================================
- name: "wildmidi.cfg"
category: game_data
path: "wildmidi.cfg"
required: false
hle_fallback: true
@@ -96,6 +98,7 @@ files:
# ================================================================
- name: "RPG Maker 2000 RTP"
category: game_data
path: "rtp/2000/"
required: false
hle_fallback: true
@@ -115,6 +118,7 @@ files:
# ================================================================
- name: "RPG Maker 2003 RTP"
category: game_data
path: "rtp/2003/"
required: false
hle_fallback: true

View File

@@ -76,6 +76,7 @@ files:
# ================================================================
- name: "RPG Maker XP RTP (Standard)"
category: game_data
path: "mkxp-z/RTP/Standard/"
required: false
type: directory
@@ -93,6 +94,7 @@ files:
# ================================================================
- name: "RPG Maker VX RTP (RPGVX)"
category: game_data
path: "mkxp-z/RTP/RPGVX/"
required: false
type: directory
@@ -109,6 +111,7 @@ files:
# ================================================================
- name: "RPG Maker VX Ace RTP (RPGVXAce)"
category: game_data
path: "mkxp-z/RTP/RPGVXAce/"
required: false
type: directory

View File

@@ -43,6 +43,7 @@ notes: |
files:
- name: "Doukutsu.exe"
category: game_data
system: cave-story
description: "Cave Story freeware executable (data source for music, sfx, bitmaps, wavetable)"
required: true
@@ -53,6 +54,7 @@ files:
notes: "Placed in system/nxengine/. The core extracts ORG music, PXT sounds, stage tile attributes, BMP graphics, and wavetable.dat from this binary at each launch."
- name: "data/npc.tbl"
category: game_data
system: cave-story
description: "NPC attribute table (entity behavior flags, HP, damage, display rect offsets)"
required: true
@@ -60,6 +62,7 @@ files:
notes: "Located in system/nxengine/data/. The core uses this file to verify the data directory is present."
- name: "data/"
category: game_data
system: cave-story
description: "Full game asset directory tree (399 files: sprites, NPC sheets, stage maps, scripts, backgrounds)"
required: true

View File

@@ -70,48 +70,56 @@ files:
# Core data files (required, loaded unconditionally at init)
# -----------------------------------------------------------
- name: "tyrian.shp"
category: game_data
system: tyrian
description: "Main shape tables (12 sprite banks: fonts, interface, options, game sprites)"
required: true
source_ref: "sprite.c:669-722 (JE_loadMainShapeTables)"
- name: "palette.dat"
category: game_data
system: tyrian
description: "Color palette data (all palettes used by the game)"
required: true
source_ref: "palette.c:45 (JE_loadPals)"
- name: "tyrian.hdt"
category: game_data
system: tyrian
description: "Help and item data (weapons, ships, shields, enemies, help text)"
required: true
source_ref: "episodes.c:60 (JE_loadItemDat), helptext.c:184 (JE_loadHelpText)"
- name: "tyrian.pic"
category: game_data
system: tyrian
description: "Picture data (menu backgrounds, cutscene images)"
required: true
source_ref: "picload.c:32 (JE_loadPic)"
- name: "tyrian.cdt"
category: game_data
system: tyrian
description: "Credits text (encrypted pascal strings)"
required: true
source_ref: "mainint.c:2002 (JE_drawCredits)"
- name: "tyrian.snd"
category: game_data
system: tyrian
description: "Sound effects"
required: true
source_ref: "nortsong.c:112, opentyr.c:333 (JE_loadSndFile)"
- name: "voices.snd"
category: game_data
system: tyrian
description: "Voice samples"
required: true
source_ref: "nortsong.c:134, opentyr.c:333 (JE_loadSndFile)"
- name: "music.mus"
category: game_data
system: tyrian
description: "Music data (all game tracks)"
required: true
@@ -121,90 +129,105 @@ files:
# Episode level files (episode 1 required, 2-5 optional)
# -----------------------------------------------------------
- name: "tyrian1.lvl"
category: game_data
system: tyrian
description: "Episode 1 level data (also used as data directory detection marker)"
required: true
source_ref: "file.c:51 (data_dir probe), episodes.c:274 (JE_scanForEpisodes)"
- name: "levels1.dat"
category: game_data
system: tyrian
description: "Episode 1 level definitions"
required: true
source_ref: "episodes.c:263 (JE_initEpisode), tyrian2.c:2434"
- name: "cubetxt1.dat"
category: game_data
system: tyrian
description: "Episode 1 datacube text (in-game story lore)"
required: true
source_ref: "episodes.c:262 (JE_initEpisode), game_menu.c:1723"
- name: "tyrian2.lvl"
category: game_data
system: tyrian
description: "Episode 2 level data"
required: false
source_ref: "episodes.c:274"
- name: "levels2.dat"
category: game_data
system: tyrian
description: "Episode 2 level definitions"
required: false
source_ref: "episodes.c:263"
- name: "cubetxt2.dat"
category: game_data
system: tyrian
description: "Episode 2 datacube text"
required: false
source_ref: "episodes.c:262"
- name: "tyrian3.lvl"
category: game_data
system: tyrian
description: "Episode 3 level data"
required: false
source_ref: "episodes.c:274"
- name: "levels3.dat"
category: game_data
system: tyrian
description: "Episode 3 level definitions"
required: false
source_ref: "episodes.c:263"
- name: "cubetxt3.dat"
category: game_data
system: tyrian
description: "Episode 3 datacube text"
required: false
source_ref: "episodes.c:262"
- name: "tyrian4.lvl"
category: game_data
system: tyrian
description: "Episode 4 level data"
required: false
source_ref: "episodes.c:274"
- name: "levels4.dat"
category: game_data
system: tyrian
description: "Episode 4 level definitions"
required: false
source_ref: "episodes.c:263"
- name: "cubetxt4.dat"
category: game_data
system: tyrian
description: "Episode 4 datacube text"
required: false
source_ref: "episodes.c:262"
- name: "tyrian5.lvl"
category: game_data
system: tyrian
description: "Episode 5 level data"
required: false
source_ref: "episodes.c:274"
- name: "levels5.dat"
category: game_data
system: tyrian
description: "Episode 5 level definitions"
required: false
source_ref: "episodes.c:263"
- name: "cubetxt5.dat"
category: game_data
system: tyrian
description: "Episode 5 datacube text"
required: false
@@ -214,180 +237,210 @@ files:
# Shape data files (loaded per-level, character from lookup)
# -----------------------------------------------------------
- name: "shapes2.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character '2')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapes3.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character '3')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapes4.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character '4')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapes5.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character '5')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapes7.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character '7')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapes8.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character '8')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapes9.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character '9')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapes0.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character '0')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapesa.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character 'A')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapesb.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character 'B')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapesc.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character 'C')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapesd.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character 'D')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapese.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character 'E')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapesf.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character 'F')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapesg.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character 'G')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapesh.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character 'H')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapesi.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character 'I')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapesj.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character 'J')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapesk.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character 'K')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapesl.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character 'L')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapesm.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character 'M')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapesn.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character 'N')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapeso.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character 'O')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapesp.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character 'P')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapesq.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character 'Q')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapesr.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character 'R')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapess.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character 'S')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapest.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character 'T')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapesu.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character 'U')"
required: false
source_ref: "tyrian2.c:3079, lvlmast.c:23-27"
- name: "shapesv.dat"
category: game_data
system: tyrian
description: "Level tileset shapes (character 'V')"
required: false
@@ -397,18 +450,21 @@ files:
# Compressed shape files (newshX.shp, loaded per-level)
# -----------------------------------------------------------
- name: "newsh1.shp"
category: game_data
system: tyrian
description: "Compressed sprites (arrows, mouse cursor)"
required: false
source_ref: "mainint.c:493,884,1462 (JE_loadCompShapes '1')"
- name: "newsh6.shp"
category: game_data
system: tyrian
description: "Compressed sprites (explosions)"
required: false
source_ref: "tyrian2.c:771 (JE_loadCompShapes '6')"
- name: "newsh~.shp"
category: game_data
system: tyrian
description: "Compressed sprites (destruct mode)"
required: false
@@ -418,60 +474,70 @@ files:
# Optional / special mode files
# -----------------------------------------------------------
- name: "tyrianc.shp"
category: game_data
system: tyrian
description: "Christmas mode shape tables (replaces tyrian.shp at Xmas)"
required: false
source_ref: "opentyr.c:301-309"
- name: "voicesc.snd"
category: game_data
system: tyrian
description: "Christmas mode voice samples (replaces voices.snd at Xmas)"
required: false
source_ref: "opentyr.c:301,333"
- name: "tyrend.anm"
category: game_data
system: tyrian
description: "Ending animation sequence"
required: false
source_ref: "tyrian2.c:2473 (JE_playAnim)"
- name: "tshp2.pcx"
category: game_data
system: tyrian
description: "Additional ship graphics (PCX image)"
required: false
source_ref: "tyrian2.c:2757, pcxload.c:25-29"
- name: "estsc.shp"
category: game_data
system: tyrian
description: "Ending sequence character sprites"
required: false
source_ref: "mainint.c:1995 (load_sprites_file EXTRA_SHAPES)"
- name: "demo.1"
category: game_data
system: tyrian
description: "Demo replay file 1"
required: false
source_ref: "mainint.c:1781-1786"
- name: "demo.2"
category: game_data
system: tyrian
description: "Demo replay file 2"
required: false
source_ref: "mainint.c:1781-1786"
- name: "demo.3"
category: game_data
system: tyrian
description: "Demo replay file 3"
required: false
source_ref: "mainint.c:1781-1786"
- name: "demo.4"
category: game_data
system: tyrian
description: "Demo replay file 4"
required: false
source_ref: "mainint.c:1781-1786"
- name: "demo.5"
category: game_data
system: tyrian
description: "Demo replay file 5"
required: false

View File

@@ -47,6 +47,7 @@ files:
# ================================================================
- name: "abc.mkf"
category: game_data
path: "sdlpal/abc.mkf"
required: true
source_ref: "util.c:734, battle.c:879, global.c:55"
@@ -55,6 +56,7 @@ files:
and character animations.
- name: "ball.mkf"
category: game_data
path: "sdlpal/ball.mkf"
required: true
source_ref: "util.c:734, global.c:177"
@@ -62,6 +64,7 @@ files:
Ball/magic effect graphics archive.
- name: "data.mkf"
category: game_data
path: "sdlpal/data.mkf"
required: true
source_ref: "util.c:734, global.c:178"
@@ -69,6 +72,7 @@ files:
Core game data archive containing scripts, events, and game logic.
- name: "f.mkf"
category: game_data
path: "sdlpal/f.mkf"
required: true
source_ref: "util.c:734, global.c:179"
@@ -76,6 +80,7 @@ files:
Face/portrait graphics archive for character dialog.
- name: "fbp.mkf"
category: game_data
path: "sdlpal/fbp.mkf"
required: true
source_ref: "util.c:735, global.c:175"
@@ -83,6 +88,7 @@ files:
Full-screen background picture archive (cutscenes, title screen).
- name: "fire.mkf"
category: game_data
path: "sdlpal/fire.mkf"
required: true
source_ref: "util.c:735, global.c:180"
@@ -90,6 +96,7 @@ files:
Fire/spell effect graphics archive.
- name: "gop.mkf"
category: game_data
path: "sdlpal/gop.mkf"
required: true
source_ref: "util.c:735, res.c:234"
@@ -97,6 +104,7 @@ files:
GOP (game object palette/graphics) archive.
- name: "map.mkf"
category: game_data
path: "sdlpal/map.mkf"
required: true
source_ref: "util.c:735, res.c:233, global.c:55"
@@ -104,6 +112,7 @@ files:
Map tile and layout data archive for all game locations.
- name: "mgo.mkf"
category: game_data
path: "sdlpal/mgo.mkf"
required: true
source_ref: "util.c:736, global.c:176"
@@ -111,6 +120,7 @@ files:
Map graphic object (sprite overlay) archive.
- name: "pat.mkf"
category: game_data
path: "sdlpal/pat.mkf"
required: true
source_ref: "util.c:736, palette.c:53"
@@ -118,6 +128,7 @@ files:
Palette data archive for color management.
- name: "rgm.mkf"
category: game_data
path: "sdlpal/rgm.mkf"
required: true
source_ref: "util.c:736, global.c:181"
@@ -125,6 +136,7 @@ files:
RGM graphics archive.
- name: "rng.mkf"
category: game_data
path: "sdlpal/rng.mkf"
required: true
source_ref: "util.c:736, rngplay.c:402"
@@ -132,6 +144,7 @@ files:
RNG animation/cutscene sequence archive.
- name: "sss.mkf"
category: game_data
path: "sdlpal/sss.mkf"
required: true
source_ref: "util.c:737, global.c:182"
@@ -144,6 +157,7 @@ files:
# ================================================================
- name: "word.dat"
category: game_data
path: "sdlpal/word.dat"
required: true
source_ref: "util.c:741, text.c:719, global.c:197"
@@ -152,6 +166,7 @@ files:
strings. Either word.dat or m.msg is needed depending on game version.
- name: "m.msg"
category: game_data
path: "sdlpal/m.msg"
required: false
source_ref: "util.c:740"
@@ -166,6 +181,7 @@ files:
# ================================================================
- name: "voc.mkf"
category: game_data
path: "sdlpal/voc.mkf"
required: false
source_ref: "util.c:743, sound.c:969"
@@ -174,6 +190,7 @@ files:
sounds.mkf is needed for sound effects.
- name: "sounds.mkf"
category: game_data
path: "sdlpal/sounds.mkf"
required: false
source_ref: "util.c:743, sound.c:964"
@@ -187,6 +204,7 @@ files:
# ================================================================
- name: "midi.mkf"
category: game_data
path: "sdlpal/midi.mkf"
required: false
source_ref: "util.c:744, midi.c:78, midi_tsf.c:68"
@@ -194,6 +212,7 @@ files:
MIDI music archive. Used when Music type is set to MIDI.
- name: "mus.mkf"
category: game_data
path: "sdlpal/mus.mkf"
required: false
source_ref: "util.c:744, audio.c:305"

View File

@@ -49,6 +49,7 @@ notes: |
files:
- name: "xrick/data.zip"
category: game_data
system: rick-dangerous
description: "Rick Dangerous sound data (29 WAV files: sfx and music tracks)"
required: true