mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-13 04:12:33 -05:00
profile emulators pd777 through tic80, add frozen snapshots (puae2021, snes9x2002/2005/2010, stella2014/2023). CI: replace github-script with gh CLI, add test execution, job-level permissions, propagate changed output, pin jsonschema.
261 lines
8.0 KiB
YAML
261 lines
8.0 KiB
YAML
emulator: SDLPAL
|
|
type: libretro
|
|
core_classification: official_port
|
|
source: "https://github.com/sdlpal/sdlpal"
|
|
upstream: "https://github.com/sdlpal/sdlpal"
|
|
profiled_date: "2026-03-25"
|
|
core_version: "v2.0.1"
|
|
display_name: "SDLPAL"
|
|
cores:
|
|
- sdlpal
|
|
systems:
|
|
- sdlpal
|
|
|
|
notes: |
|
|
Game engine reimplementing the classic Chinese RPG PAL (Sword and Fairy)
|
|
by SoftStar Inc. No BIOS or firmware required. All files are proprietary
|
|
game data from the original 1995 DOS or 1998 Win95 release.
|
|
|
|
Place game files in <system_dir>/sdlpal/ or point a .cfg at the game
|
|
directory. The game is available on Steam (app 1546570). Auto-detects
|
|
DOS vs Win95 game data.
|
|
|
|
The libretro port disables MP3, OGG, OPUS, native MIDI, and CD audio
|
|
backends (pal_config.h). Only RIX (mus.mkf) and software MIDI synthesis
|
|
via Timidity/TinySoundFont (midi.mkf + user-provided soundfont) are
|
|
available for music.
|
|
|
|
files:
|
|
# ================================================================
|
|
# Required game data archives
|
|
# util.c:733-737 UTIL_CheckResourceFiles common_files[]
|
|
# global.c:175-182 PAL_InitGlobals
|
|
# ================================================================
|
|
|
|
- name: "abc.mkf"
|
|
category: game_data
|
|
path: "sdlpal/abc.mkf"
|
|
required: true
|
|
source_ref: "util.c:734, global.c:55, battle.c:879"
|
|
note: "Animation and battle character data archive."
|
|
|
|
- name: "ball.mkf"
|
|
category: game_data
|
|
path: "sdlpal/ball.mkf"
|
|
required: true
|
|
source_ref: "util.c:734, global.c:177"
|
|
note: "Magic effect graphics archive."
|
|
|
|
- name: "data.mkf"
|
|
category: game_data
|
|
path: "sdlpal/data.mkf"
|
|
required: true
|
|
source_ref: "util.c:734, global.c:178"
|
|
note: "Core game data archive (scripts, events, game logic)."
|
|
|
|
- name: "f.mkf"
|
|
category: game_data
|
|
path: "sdlpal/f.mkf"
|
|
required: true
|
|
source_ref: "util.c:734, global.c:179"
|
|
note: "Face/portrait graphics archive."
|
|
|
|
- name: "fbp.mkf"
|
|
category: game_data
|
|
path: "sdlpal/fbp.mkf"
|
|
required: true
|
|
source_ref: "util.c:735, global.c:175"
|
|
note: "Full-screen background picture archive (cutscenes, title)."
|
|
|
|
- name: "fire.mkf"
|
|
category: game_data
|
|
path: "sdlpal/fire.mkf"
|
|
required: true
|
|
source_ref: "util.c:735, global.c:180"
|
|
note: "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"
|
|
note: "Game object palette/graphics archive."
|
|
|
|
- name: "map.mkf"
|
|
category: game_data
|
|
path: "sdlpal/map.mkf"
|
|
required: true
|
|
source_ref: "util.c:735, global.c:55, res.c:233"
|
|
note: "Map tile and layout data archive."
|
|
|
|
- name: "mgo.mkf"
|
|
category: game_data
|
|
path: "sdlpal/mgo.mkf"
|
|
required: true
|
|
source_ref: "util.c:736, global.c:176"
|
|
note: "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"
|
|
note: "Palette data archive."
|
|
|
|
- name: "rgm.mkf"
|
|
category: game_data
|
|
path: "sdlpal/rgm.mkf"
|
|
required: true
|
|
source_ref: "util.c:736, global.c:181"
|
|
note: "RGM graphics archive."
|
|
|
|
- name: "rng.mkf"
|
|
category: game_data
|
|
path: "sdlpal/rng.mkf"
|
|
required: true
|
|
source_ref: "util.c:736, rngplay.c:402"
|
|
note: "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"
|
|
note: "SSS data archive (message offsets in chunk 3)."
|
|
|
|
# ================================================================
|
|
# Message/text data (both required in default mode)
|
|
# text.c:718-719 PAL_InitText
|
|
# ================================================================
|
|
|
|
- name: "m.msg"
|
|
category: game_data
|
|
path: "sdlpal/m.msg"
|
|
required: true
|
|
source_ref: "util.c:740, text.c:718"
|
|
note: "Message text data (dialog, story). Opened via UTIL_OpenRequiredFile in default mode."
|
|
|
|
- name: "word.dat"
|
|
category: game_data
|
|
path: "sdlpal/word.dat"
|
|
required: true
|
|
source_ref: "util.c:741, text.c:719, global.c:197"
|
|
note: "Word data (menu items, status labels, item/spell names)."
|
|
|
|
# ================================================================
|
|
# Object descriptions (DOS version only)
|
|
# global.c:204 PAL_LoadObjectDesc -> ui.c:864
|
|
# ================================================================
|
|
|
|
- name: "desc.dat"
|
|
category: game_data
|
|
path: "sdlpal/desc.dat"
|
|
required: false
|
|
source_ref: "global.c:204, ui.c:864"
|
|
note: "Object description strings. DOS version only (skipped for Win95). Returns NULL if absent."
|
|
|
|
# ================================================================
|
|
# Embedded font files (optional, DOS game data)
|
|
# font.c:102-197 PAL_LoadEmbeddedFont
|
|
# ================================================================
|
|
|
|
- name: "wor16.asc"
|
|
category: game_data
|
|
path: "sdlpal/wor16.asc"
|
|
required: false
|
|
source_ref: "font.c:114"
|
|
note: "Chinese character code mapping for embedded font. Silently skipped if absent."
|
|
|
|
- name: "wor16.fon"
|
|
category: game_data
|
|
path: "sdlpal/wor16.fon"
|
|
required: false
|
|
source_ref: "font.c:172"
|
|
note: "Chinese character bitmap font data. Used with wor16.asc for DOS font rendering."
|
|
|
|
# ================================================================
|
|
# Sound effect files (optional, at least one recommended)
|
|
# sound.c:962-975 SOUND_Init
|
|
# ================================================================
|
|
|
|
- name: "voc.mkf"
|
|
category: game_data
|
|
path: "sdlpal/voc.mkf"
|
|
required: false
|
|
source_ref: "util.c:743, sound.c:969"
|
|
note: "VOC format sound effects archive (DOS version). Preferred for DOS game data."
|
|
|
|
- name: "sounds.mkf"
|
|
category: game_data
|
|
path: "sdlpal/sounds.mkf"
|
|
required: false
|
|
source_ref: "util.c:743, sound.c:964"
|
|
note: "WAV format sound effects archive (Win95 version). Preferred for Win95 game data."
|
|
|
|
# ================================================================
|
|
# Music files (optional, at least one recommended)
|
|
# audio.c:302-305 AUDIO_OpenDevice
|
|
# ================================================================
|
|
|
|
- name: "mus.mkf"
|
|
category: game_data
|
|
path: "sdlpal/mus.mkf"
|
|
required: false
|
|
source_ref: "util.c:744, audio.c:305"
|
|
note: "RIX/OPL music archive. Default music source, played through OPL emulation."
|
|
|
|
- name: "midi.mkf"
|
|
category: game_data
|
|
path: "sdlpal/midi.mkf"
|
|
required: false
|
|
source_ref: "util.c:744, midi.c:78, midi_tsf.c:68, midi_timidity.c:130"
|
|
note: "MIDI music archive. Used when Music=MIDI is configured in sdlpal.cfg."
|
|
|
|
# ================================================================
|
|
# AVI cutscene videos (Win95 version only, optional)
|
|
# aviplay.c:641-772 PAL_PlayAVI
|
|
# Guarded by fEnableAviPlay && fIsWIN95 (global.c:192)
|
|
# ================================================================
|
|
|
|
- name: "1.avi"
|
|
category: game_data
|
|
path: "sdlpal/1.avi"
|
|
required: false
|
|
source_ref: "main.c:197"
|
|
note: "Trademark screen video (Win95 only). Falls back to RNG animation if absent."
|
|
|
|
- name: "2.avi"
|
|
category: game_data
|
|
path: "sdlpal/2.avi"
|
|
required: false
|
|
source_ref: "main.c:237"
|
|
note: "Splash screen video (Win95 only). Falls back to sprite animation if absent."
|
|
|
|
- name: "3.avi"
|
|
category: game_data
|
|
path: "sdlpal/3.avi"
|
|
required: false
|
|
source_ref: "uigame.c:162"
|
|
note: "In-game event video (Win95 only)."
|
|
|
|
- name: "4.avi"
|
|
category: game_data
|
|
path: "sdlpal/4.avi"
|
|
required: false
|
|
source_ref: "ending.c:418"
|
|
note: "Ending sequence video part 1 (Win95 only)."
|
|
|
|
- name: "5.avi"
|
|
category: game_data
|
|
path: "sdlpal/5.avi"
|
|
required: false
|
|
source_ref: "ending.c:420"
|
|
note: "Ending sequence video part 2 (Win95 only)."
|
|
|
|
- name: "6.avi"
|
|
category: game_data
|
|
path: "sdlpal/6.avi"
|
|
required: false
|
|
source_ref: "ending.c:485"
|
|
note: "Ending sequence video part 3 (Win95 only)."
|