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" # 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-56" - 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-56" - 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-56" - 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-56" - 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-56" - 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-56" - 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-56" - 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-56" - 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"