Files
libretro/emulators/ymir.yml
T
Abdessamad Derraz 690a4bd664 fix: list ymir's gamecontrollerdb.txt
The standalone build loads it from the working directory then the profile root (app.cpp:5084-5119). The release packages ship it, the libretro tree never reads it.
2026-10-20 10:37:32 +02:00

111 lines
4.4 KiB
YAML

emulator: ymir
type: standalone + libretro
core_classification: community_fork
source:
standalone: "https://github.com/StrikerX3/Ymir"
libretro: "https://github.com/warmenhoven/Emir/tree/libretro"
upstream: "https://github.com/StrikerX3/Ymir"
profiled_date: "2026-03-26"
source_commit:
standalone: "5e9310410baa47cb7da5b068f399c9e4a34eedbc"
libretro: "5d99cbbf813206736f38b3574ecca7a8aedc07e5"
core_version:
standalone: "v0.2.1"
libretro: "PR#746"
display_name: "Sega - Saturn (Ymir)"
cores:
- ymir
systems:
- sega-saturn
notes: |
Ymir is a Sega Saturn emulator by StrikerX3. The libretro port by
warmenhoven wraps the shared ymir-core library (PR #746, not yet merged).
No .info file exists in libretro-core-info.
Standalone: scans configured directories recursively for files matching
the expected size. No specific filenames required. Identifies known ROMs
by XXH128 hash from an internal database (19 IPL variants, 4 CD Block
versions, 2 ROM carts). Unknown files are accepted if size matches.
Libretro: searches {system}/sega_101.bin, mpr-17933.bin, saturn_bios.bin
in order. First file found with exact 512 KiB size wins.
Batocera standalone: configgen maps IPLROMImages to /userdata/bios,
CDBlockROMImages to /userdata/roms/saturn/cdb/, ROMCartImages to
/userdata/roms/saturn.
No HLE fallback for IPL ROM. CD Block LLE is optional and falls back to
HLE when disabled or no ROM found. Known CDB versions: 1.04, 1.05, 1.06.
ROM cartridges: KoF95 and Ultraman shipped with physical ROM carts.
Auto-detected from game database when loading a disc.
Addon cartridges: 1M/4M DRAM expansion handled via core option (no files).
XXH128 hashes used for ROM identification only, not validation.
All file loading validates size only.
files:
- name: "sega_101.bin"
system: sega-saturn
required: true
size: 524288
validation: [size]
aliases: [mpr-17933.bin, saturn_bios.bin]
description: "Saturn IPL ROM (BIOS). Any region accepted."
source_ref:
standalone: "apps/ymir-sdl3/src/util/rom_loader.cpp:9-22, apps/ymir-sdl3/src/app/rom_manager.cpp:14-56, libs/ymir-core/include/ymir/sys/memory_defs.hpp:9"
libretro: "apps/ymir-libretro/src/libretro.cpp:260-263,534-558"
- name: "cdb/cdb_rom.bin"
system: sega-saturn
required: false
hle_fallback: true
size: 65536
validation: [size]
description: "SH1 CD Block ROM for low-level CD drive emulation. Scans cdb/ subdirectory for any matching file."
source_ref:
standalone: "apps/ymir-sdl3/src/util/rom_loader.cpp:25-38, apps/ymir-sdl3/src/app/rom_manager.cpp:58-93, libs/ymir-core/include/ymir/hw/sh1/sh1_defs.hpp:7"
libretro: "apps/ymir-libretro/src/libretro.cpp:565-591"
- name: "mpr-18811-mx.ic1"
system: sega-saturn
required: false
category: game_data
size: 2097152
validation: [size]
description: "ROM cartridge for The King of Fighters '95."
source_ref:
standalone: "apps/ymir-sdl3/src/app/rom_manager.cpp:96-131, libs/ymir-core/include/ymir/db/rom_cart_db.hpp:19-22"
libretro: "apps/ymir-libretro/src/libretro.cpp:621, 598-618"
- name: "mpr-19367-mx.ic1"
system: sega-saturn
required: false
category: game_data
size: 2097152
validation: [size]
description: "ROM cartridge for Ultraman: Hikari no Kyojin Densetsu."
source_ref:
standalone: "apps/ymir-sdl3/src/app/rom_manager.cpp:96-131, libs/ymir-core/include/ymir/db/rom_cart_db.hpp:25-28"
libretro: "apps/ymir-libretro/src/libretro.cpp:622, 598-618"
- name: "gamecontrollerdb.txt"
system: sega-saturn
required: false
mode: standalone
bundled: true
sha1: ["eb06dba857f50e613c997198e4bd2da8e2c9fb21", "4a1981a3ff91352c4de50fbc82e8cc960c49183b"]
md5: ["2d76f311eecb0cdab270bf3fc5547173", "ec570b054019676c6b20144cbd47e562"]
description: "SDL game controller mapping database"
note: >
Passed to SDL_AddGamepadMappingsFromFile from the working directory, then
from the profile root. A missing file or a load failure is logged and SDL
keeps its built-in mappings. The release packages copy the file from
mdqinc/SDL_GameControllerDB at build time. Hashes of the copies in the
v0.2.1 Linux and macOS packages and, with CRLF line ends, the Windows
zips.
source_ref:
standalone: "apps/ymir-sdl3/src/app/settings.hpp:41, apps/ymir-sdl3/src/app/app.cpp:5084-5119, apps/ymir-sdl3/src/app/profile.cpp:36-41, .github/workflows/build.yaml:198-230"