+
Skip to content

Citrodata/Ymir

 
 

Repository files navigation

Ymir

Stable release Nightly release Discord Shield Patreon Shield

A work-in-progress Sega Saturn emulator.

Join the Discord community.

Find the official compatibility list here.

Grab the latest release: stable, nightly.

Features

  • Load games from MAME CHD, BIN+CUE, IMG+CCD, MDF+MDS or ISO files
  • Automatic IPL (BIOS) ROM detection
  • Automatic region switching
  • Up to two players with a variety of controllers on both ports
  • Fully customizable keybindings
  • Backup RAM, DRAM and ROM cartridges (more to come)
  • Integrated backup memory manager to import and export saves, and transfer between internal and cartridge RAM
  • Forwards-compatible save states
  • Rewinding (up to one minute at 60 fps), turbo speed, frame step (forwards and backwards)
  • Full screen mode with VRR support and low input lag
  • Graphics enhancements such as optional deinterlaced/progressive rendering of high resolution modes and transparent mesh polygon rendering
  • Optional low level CD block emulation
  • A work-in-progress feature-rich debugger

Ymir runs on Windows 10 or later, macOS 13 (Ventura) or later, most modern Linux distributions and FreeBSD, and supports x86-64 (Intel, AMD) and ARM CPUs.

Usage

Grab the latest release here. Check the Releases page for previous versions.

Ymir does not require installation. Simply download it to any directory and run the executable. On Windows you might also need to install the latest Microsoft Visual C++ Redistributable package (x86_64 installer).

The program accepts command-line arguments. Invoke ymir-sdl3 --help to list the options:

Ymir - Sega Saturn emulator
Usage:
  Ymir [OPTION...] positional parameters

  -p, --profile arg  Path to profile directory
  -h, --help         Display help text
  -f, --fullscreen   Start in fullscreen mode
  -P, --paused       Start paused
  -E, --exceptions   Capture all unhandled exceptions

Use -p <profile-path> to point to a separate set of configuration and state files, useful if you wish to have different user profiles (hence the name).

The options are case-sensitive -- lowercase -p sets the profile path, uppercase -P makes the emulator start paused.

-E captures all unhandled exceptions, which can be useful to troubleshoot crashes or failure to start the emulator.

Note that the Windows version does not output anything to the console, but it does honor the command line parameters.

Ymir requires an IPL (BIOS) ROM to work. You can place the ROMs under the roms directory created alongside the executable on the first run. The emulator will scan and automatically select the IPL ROM matching the loaded disc. If no disc is loaded, it will use a ROM matching the first preferred region. Failing that, it will pick whatever is available. You can override the selection on Settings > IPL.

Ymir can load game disc images from MAME CHD, BIN+CUE, IMG+CCD, MDF+MDS or ISO files. It does not support injecting .elf files directly at the moment.

Compiling

See COMPILING.md.

Please note that the author (@StrikerX3) works primarily with Windows and Linux systems and only provides support for other platforms on a best-effort basis. For Linux specifically, only the .tar.xz package is officially supported by the author. The project relies on community support for other packages and platforms.

Support my work

If you enjoy my projects and want to help me keep developing them, consider supporting me:

  • Patreon for ongoing support
  • PIX for one-time donations in Brazil: ask me on Discord.

Your support is completely optional but genuinely appreciated. It helps me dedicate more time and energy to these passion projects while keeping everything open-source and free for everyone. Thank you!

About

Sega Saturn emulator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 98.7%
  • CMake 1.3%
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载