mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-11 12:33:53 -06:00
Three changes to the search-list model, one commit because the readers
and the profiles must move together for the schema to hold.
Set requirement in a groups map. pom2 falls back on apple2.rom for the
][ and the ][+, and on apple2e.rom for the //e it boots and for the
unenhanced //e: one required on the file could not say both. A profile
now declares groups: {name: {required}}, a member writes no required
of its own (schema and validate_schemas refuse one) and load_emulator_
profiles derives it, true when one of its sets is. group takes a name,
a list, or a map from set to rank where the rank differs per set. pom2
is grouped from SystemProfile.cpp and MainWindow.cpp:246-296 at its pin.
One member per required set under --required-only. The pick is the
first the code reads among the held members the region filter leaves,
by rank then declaration order; a set the platform declares a member
of is carried by that declaration. The emulator pack, verify
--emulator, the platform pack, its manifest and verify --platform read
alternatives.required_only_spares or core_file_spares.
variant_group is now selection_slot: files a core chooses between by
a rule other than first found (disc territory for PicoDrive and
Pizza Boy SC, the o2em_bios option, a WebAssembly probe in SWF
Player). Where the code takes any one, the field became a group:
ARMSX1 (ArmSxBackend.java:149-157, name order), ePSXe (load_bios
0x433540-0x433621 of the 2.0.5 Linux x64 binary, one configured path,
HLE when BiosHLE is set), FPse and FPse-NG, DXX-Rebirth's HOGs
(inferno.cpp:472-512). odin and zesarux carried it with no effect.
slot.py compares ranks only between candidates that share a set.
84 lines
3.0 KiB
YAML
84 lines
3.0 KiB
YAML
emulator: "Yabause"
|
|
type: libretro
|
|
core_classification: community_fork
|
|
source: "https://github.com/libretro/yabause"
|
|
upstream: "https://github.com/Yabause/yabause"
|
|
profiled_date: "2026-03-25"
|
|
source_commit: "8926b0c6c347f8c5c755911ddb0ac695420ffbf8"
|
|
core_version: "v0.9.15"
|
|
version_basis:
|
|
kind: file
|
|
path: "yabause/src/libretro/libretro.c"
|
|
pattern: 'info->library_version\s+=\s+"([^"]+)'
|
|
display_name: "Sega - Saturn (Yabause)"
|
|
cores:
|
|
- yabause
|
|
systems:
|
|
- sega-saturn
|
|
|
|
notes: |
|
|
Yabause is a software-rendered Sega Saturn emulator. The last commit on the
|
|
master branch of Yabause/yabause is from 2018-07-07. The libretro port is
|
|
maintained by the community on the master branch of libretro/yabause.
|
|
|
|
Saturn BIOS search order:
|
|
1. {system}/saturn_bios.bin
|
|
2. {system}/sega_101.bin
|
|
3. {system}/mpr-17933.bin
|
|
First file found wins. HLE BIOS available via yabause_force_hle_bios core
|
|
option (reduced compatibility). Multi-disc (m3u) requires real BIOS.
|
|
|
|
Addon cartridges: 1M/4M RAM expansion via core option (no files needed).
|
|
ROM cartridge loading, SH1 ROM (CD Block LLE), and MPEG card ROM are
|
|
standalone-only features disabled in the libretro port.
|
|
|
|
The CD block answers every MPEG card authentication as passed
|
|
(yabause/src/cs2.c:3172-3212) but decodes no MPEG stream: MPEG Get Interrupt
|
|
always reports 0 (yabause/src/cs2.c:2870-2884), and the port passes no MPEG
|
|
ROM (yabause/src/libretro/libretro.c:1118). A disc that needs the Movie Card,
|
|
such as Lunar - Silver Star Story Complete (Japan), passes its check under a
|
|
real BIOS and stops on a black screen after the publisher logos. The Japanese
|
|
v1.00 and v1.01 images give the same frames, so the BIOS is not the cause
|
|
(record 2026-10-28-32cdefcdb231). Under the HLE BIOS the disc prints that it
|
|
needs the Twin Operator Movie Card or a Hi-Saturn. The edition without the
|
|
card, Lunar - Silver Star Story (Japan), reaches its title on the same v1.00
|
|
image (record 2026-10-28-9270d1928be7).
|
|
|
|
BIOS loading: retro_load_game() at yabause/src/libretro/libretro.c:1035-1049.
|
|
Core load: LoadBios() at yabause/src/memory.c:1260-1263, T123Load() at yabause/src/memory.h:196-265.
|
|
|
|
groups:
|
|
saturn-bios:
|
|
required: true
|
|
|
|
files:
|
|
- name: "saturn_bios.bin"
|
|
system: sega-saturn
|
|
group: saturn-bios
|
|
priority: 1
|
|
hle_fallback: true
|
|
max_size: 524288
|
|
validation: [max_size]
|
|
note: "Primary Saturn BIOS. Any region accepted."
|
|
source_ref: "source yabause/src/libretro/libretro.c:1035"
|
|
|
|
- name: "sega_101.bin"
|
|
system: sega-saturn
|
|
group: saturn-bios
|
|
priority: 2
|
|
hle_fallback: true
|
|
max_size: 524288
|
|
validation: [max_size]
|
|
note: "Saturn BIOS v1.01 (Japan). Fallback if saturn_bios.bin missing."
|
|
source_ref: "source yabause/src/libretro/libretro.c:1039"
|
|
|
|
- name: "mpr-17933.bin"
|
|
system: sega-saturn
|
|
group: saturn-bios
|
|
priority: 3
|
|
hle_fallback: true
|
|
max_size: 524288
|
|
validation: [max_size]
|
|
note: "Saturn BIOS (NA/EU). Last fallback."
|
|
source_ref: "source yabause/src/libretro/libretro.c:1043"
|