Files
libretro/emulators/yabasanshiro.yml
T
Abdessamad Derraz e7aa9e870b fix: state libretro core versions from their code
Each libretro profile records version_basis and core_version is read
there at its pin. snes9x states 1.63 in snes9x.h, nestopia 2.0.0, mgba
0.11.0, vice 3.10, atari800's libretro tree 7.0.0. Cores whose build
takes its version from git carry the nearest tag in describe form
(flycast v2.7-90-ge88b0ce, ppsspp, duckstation, gearcoleco), placeholders
copied from .info files (Git, SVN) are replaced by the code's statement,
and a code that states none is null with kind none.
2026-10-27 19:21:27 +01:00

108 lines
4.0 KiB
YAML

emulator: "YabaSanshiro"
type: standalone + libretro
core_classification: official_port
source:
libretro: "https://github.com/libretro/yabause/tree/yabasanshiro"
standalone: "https://github.com/sydarn/yabause/tree/pi4-update"
upstream: "https://github.com/devmiyax/yabause"
profiled_date: "2026-10-24"
source_commit:
libretro: "09ed8e5b2e97e7a848ea2514545c34c7b809e399"
standalone: "a40dace1ae0af3ebd45848549fdf396f40e3930f"
core_version:
libretro: "3.4.2"
standalone: "1.11.beta3"
version_basis:
libretro:
kind: file
path: "yabause/src/libretro/Makefile.common"
pattern: '-DVERSION=\\"([^\\"]+)\\"'
standalone:
kind: file
path: "yabause/CMakeLists.txt"
pattern: 'set\(YAB_VERSION_MAJOR (\w+)\)\nset\(YAB_VERSION_MINOR (\w+)\)\nset\(YAB_VERSION_PATCH (\w+)\)'
format: "{1}.{2}.{3}"
display_name: "Sega - Saturn (YabaSanshiro)"
cores:
- yabasanshiro
- "yabasanshiro-2"
- "yabasanshiroSA"
- "yabasanshiro-sa"
systems:
- sega-saturn
data_root:
linux:
path: "~/.yabasanshiro"
source_ref: "yabause/src/retro_arena/main.cpp:292-301"
note: "Created at startup. Holds backup.bin, keymapv2.json, the per-game settings files, save states and screenshots. No firmware is read from it."
notes: |
YabaSanshiro is a Sega Saturn emulator by devmiyax, forked from Yabause.
Requires OpenGL 3.3 or OpenGL ES 3.0.
Saturn BIOS search order:
1. {system}/saturn_bios.bin
2. {system}/sega_101.bin
3. {system}/mpr-17933.bin
First file found wins. Real BIOS required for normal operation.
HLE available via yabasanshiro_force_hle_bios core option (deprecated,
debug only).
Addon cartridges: 1M/4M RAM expansion via core option (no files needed).
ROM cartridge and MPEG card ROM loading disabled in libretro port
(cartpath = empty, mpegpath = NULL).
BIOS loading: retro_load_game() at yabause/src/libretro/libretro.c:1048-1071.
Core load: LoadBios() at yabause/src/memory.c:1353-1356, T123Load() at yabause/src/memory.h:219-289.
Standalone: the retro_arena SDL2 front end of the sydarn/yabause
pi4-update branch, built with -DYAB_PORTS=retro_arena. It prints version
1.11.beta3 (yabause/CMakeLists.txt:15-18, yabause/src/config.h.in:5). It
opens a BIOS only at the path given with -b or --bios, under any name.
Without it biospath stays NULL and the core runs its HLE BIOS
(yabause/src/retro_arena/main.cpp:161, yabause/src/retro_arena/main.cpp:230-234,
yabause/src/retro_arena/main.cpp:325-328, yabause/src/yabause.c:373-388).
The image is read through T123Load, which truncates a file above 512 KiB
and checks nothing else (yabause/src/memory.c:1400-1403,
yabause/src/memory.h:219-242). A -b path that cannot be read stops
YabauseInit. The MPEG card and ROM cartridge paths stay empty, so no
other firmware is read.
ROCKNIX passes -b with the first of saturn_bios.bin, sega_101.bin,
mpr-17933.bin, mpr-18811-mx.ic1, mpr-19367-mx.ic1 and stvbios.zip found
under its BIOS folder when its use_hlebios setting is 1
(ROCKNIX projects/ROCKNIX/packages/emulators/standalone/yabasanshiro-sa/scripts/start_yabasanshiro.sh:80-91).
AmberELEC passes saturn_bios.bin from its BIOS folder unless HLE is
selected (AmberELEC packages/games/emulators/yabasanshiroSA/yabasanshiro.sh:63-70).
Both build the pi4-update tip and patch the home directory to
/storage/.config/yabasanshiro.
files:
- name: "saturn_bios.bin"
system: sega-saturn
mode: libretro
priority: 1
required: true
hle_fallback: true
note: "Primary Saturn BIOS. Any region accepted."
source_ref: "yabause/src/libretro/libretro.c:1048"
- name: "sega_101.bin"
system: sega-saturn
mode: libretro
priority: 2
required: false
hle_fallback: true
note: "Saturn BIOS v1.01 (Japan). Fallback if saturn_bios.bin missing."
source_ref: "yabause/src/libretro/libretro.c:1052"
- name: "mpr-17933.bin"
system: sega-saturn
mode: libretro
priority: 3
required: false
hle_fallback: true
note: "Saturn BIOS v1.003 (NA/EU). Last fallback."
source_ref: "yabause/src/libretro/libretro.c:1056"