Files
libretro/emulators/yabasanshiro.yml
T
Abdessamad Derraz ab9fe76de2 fix: resolve the cores handhelds rename
ArkOS ran the GBA with gpsp_ezode_mod and dArkOS with mgba_rumble: no
profile named them, so an install for the card's games kept every GBA
core's files, FBNeo's 3,472 data files among them. Each rename proven
from the OS build (same code base, same BIOS loading) joins its
profile's cores. The resolver folds either separator, and falls back to
the emulator column when the core names a mode, a machine or a plugin
of that program, only where its profile declares the folder's system:
MAME documents no GameKing ROM. 109 unresolved names are 56, each one
recorded with why in tests/test_games_index.py.
2026-11-09 06:04:42 +01:00

110 lines
4.1 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"
- "yabasanshiro-libretro"
- "yabasanshiroSA1_5"
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"