Files
libretro/emulators/ymir.yml
T
Abdessamad Derraz 185734d397 fix: re-profile ymir at HEAD of both builds
StrikerX3/Ymir answers as ymir-emu/Ymir, and the buildbot builds the libretro branch of warmenhoven/Emir, PR #746 having closed unmerged. The libretro build now reads all three BIOS names and picks one by region (apps/ymir-libretro/src/libretro.cpp:584-712, 1285-1306).
2026-10-21 11:10:39 +02:00

218 lines
9.4 KiB
YAML

emulator: ymir
type: standalone + libretro
core_classification: community_fork
source:
standalone: "https://github.com/ymir-emu/Ymir"
libretro: "https://github.com/warmenhoven/Emir/tree/libretro"
upstream: "https://github.com/ymir-emu/Ymir"
profiled_date: "2026-10-21"
source_commit:
standalone: "8cdf0a530ec1927f44bf3cd02c6ab51a586c4407"
libretro: "8174cbbeea4070654841cdd4604361b3eee8fdd1"
core_version:
standalone: "v0.4.1-1-g8cdf0a53"
libretro: "libretro branch"
display_name: "Sega - Saturn (Ymir)"
cores:
- ymir
found_by: {standalone: content}
systems:
- sega-saturn
notes: |
Ymir is a Sega Saturn emulator by StrikerX3. The libretro port by
warmenhoven wraps the shared ymir-core library on the libretro branch of
warmenhoven/Emir, which the buildbot builds (include_core_ymir in
libretro-super). PR #746 was closed unmerged.
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: reads {system}/sega_101.bin, mpr-17933.bin and saturn_bios.bin,
each kept when it is exactly 512 KiB. A candidate's region comes from the
IPL database, else from two hashes the port knows (sega_101.bin Japan,
mpr-17933.bin North America and Europe). The ymir_region option picks the
candidate of its region, else the first found, and once the disc is loaded
a candidate whose region matches the disc's area code replaces it.
ref: apps/ymir-libretro/src/libretro.cpp:305-309, 584-712,
apps/ymir-libretro/src/libretro.cpp:1228-1238, 1285-1306
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-53, libs/ymir-core/include/ymir/sys/memory_defs.hpp:9"
libretro: "apps/ymir-libretro/src/libretro.cpp:305-309, apps/ymir-libretro/src/libretro.cpp:651-690, apps/ymir-libretro/src/libretro.cpp:692-703"
# IPL images named by the standalone XXH128 database. The md5 is that of
# the image whose seeded XXH128 matches the database row.
- name: "SAT_1.00-(J).bin"
system: sega-saturn
required: false
mode: standalone
size: 524288
validation: [size]
md5: "af5828fdff51384f99b3c4926be27762"
description: "Saturn IPL ROM 1.00 (1994-09-21), Japan."
note: "Picked up by the recursive IPL scan like any 512 KiB file and identified by its XXH128 row."
source_ref:
standalone: "libs/ymir-core/src/ymir/db/ipl_db.cpp:9, libs/ymir-core/include/ymir/sys/memory_defs.hpp:10, apps/ymir-sdl3/src/app/rom_manager.cpp:14-53"
- name: "sega_101.bin"
system: sega-saturn
required: false
mode: standalone
size: 524288
validation: [size]
md5: "85ec9ca47d8f6807718151cbcca8b964"
description: "Saturn IPL ROM 1.01 (1994-12-28), Japan."
note: "Picked up by the recursive IPL scan like any 512 KiB file and identified by its XXH128 row."
source_ref:
standalone: "libs/ymir-core/src/ymir/db/ipl_db.cpp:10, libs/ymir-core/include/ymir/sys/memory_defs.hpp:10, apps/ymir-sdl3/src/app/rom_manager.cpp:14-53"
- name: "SAT_1.00a-(U+E).bin"
system: sega-saturn
required: false
mode: standalone
size: 524288
validation: [size]
md5: "f273555d7d91e8a5a6bfd9bcf066331c"
description: "Saturn IPL ROM 1.00a (1994-11-15), North America and Europe."
note: "Picked up by the recursive IPL scan like any 512 KiB file and identified by its XXH128 row."
source_ref:
standalone: "libs/ymir-core/src/ymir/db/ipl_db.cpp:11, libs/ymir-core/include/ymir/sys/memory_defs.hpp:10, apps/ymir-sdl3/src/app/rom_manager.cpp:14-53"
- name: "mpr-17933.bin"
system: sega-saturn
required: false
mode: standalone
size: 524288
validation: [size]
md5: "3240872c70984b6cbfda1586cab68dbe"
description: "Saturn IPL ROM 1.01a (1994-11-15), North America and Europe."
note: "Picked up by the recursive IPL scan like any 512 KiB file and identified by its XXH128 row."
source_ref:
standalone: "libs/ymir-core/src/ymir/db/ipl_db.cpp:12, libs/ymir-core/include/ymir/sys/memory_defs.hpp:10, apps/ymir-sdl3/src/app/rom_manager.cpp:14-53"
- name: "hisaturn.bin"
system: sega-saturn
required: false
mode: standalone
size: 524288
validation: [size]
md5: "3ea3202e2634cb47cb90f3a05c015010"
description: "HiSaturn IPL ROM 1.01 (1995-01-30), Japan."
note: "Picked up by the recursive IPL scan like any 512 KiB file and identified by its XXH128 row."
source_ref:
standalone: "libs/ymir-core/src/ymir/db/ipl_db.cpp:14, libs/ymir-core/include/ymir/sys/memory_defs.hpp:10, apps/ymir-sdl3/src/app/rom_manager.cpp:14-53"
- name: "mpr-18100.bin"
system: sega-saturn
required: false
mode: standalone
size: 524288
validation: [size]
md5: "cb2cebc1b6e573b7c44523d037edcd45"
description: "HiSaturn IPL ROM 1.02 (1995-05-19), Japan."
note: "Picked up by the recursive IPL scan like any 512 KiB file and identified by its XXH128 row."
source_ref:
standalone: "libs/ymir-core/src/ymir/db/ipl_db.cpp:15, libs/ymir-core/include/ymir/sys/memory_defs.hpp:10, apps/ymir-sdl3/src/app/rom_manager.cpp:14-53"
- name: "hisaturn_v103.bin"
system: sega-saturn
required: false
mode: standalone
size: 524288
validation: [size]
md5: "0306c0e408d6682dd2d86324bd4ac661"
description: "HiSaturn IPL ROM 1.03 (1995-07-20), Japan."
note: "Picked up by the recursive IPL scan like any 512 KiB file and identified by its XXH128 row."
source_ref:
standalone: "libs/ymir-core/src/ymir/db/ipl_db.cpp:16, libs/ymir-core/include/ymir/sys/memory_defs.hpp:10, apps/ymir-sdl3/src/app/rom_manager.cpp:14-53"
- name: "vsaturn.bin"
system: sega-saturn
required: false
mode: standalone
size: 524288
validation: [size]
md5: "ac4e4b6522e200c0d23d371a8cecbfd3"
description: "V-Saturn IPL ROM 1.01 (1995-07-03), Japan."
note: "Picked up by the recursive IPL scan like any 512 KiB file and identified by its XXH128 row."
source_ref:
standalone: "libs/ymir-core/src/ymir/db/ipl_db.cpp:17, libs/ymir-core/include/ymir/sys/memory_defs.hpp:10, apps/ymir-sdl3/src/app/rom_manager.cpp:14-53"
- 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:55-91, libs/ymir-core/include/ymir/hw/sh1/sh1_defs.hpp:7"
libretro: "apps/ymir-libretro/src/libretro.cpp:720-737"
- 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:93-130, libs/ymir-core/include/ymir/db/rom_cart_db.hpp:19-22"
libretro: "apps/ymir-libretro/src/libretro.cpp:760, apps/ymir-libretro/src/libretro.cpp:744-756"
- 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:93-130, libs/ymir-core/include/ymir/db/rom_cart_db.hpp:25-28"
libretro: "apps/ymir-libretro/src/libretro.cpp:761, apps/ymir-libretro/src/libretro.cpp:744-756"
- 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:42, apps/ymir-sdl3/src/app/services/rom_service.cpp:33-68, apps/ymir-sdl3/src/app/profile.cpp:36-46, .github/workflows/build.yaml:202-236"