Files
libretro/emulators/swanstation.yml
T
Abdessamad Derraz dfdb887fb8 fix: say which cores find their BIOS by content
DuckStation (bios.cpp:208, 397-427), SwanStation (host_interface.cpp:
136-194), rustation (lib.rs:107-160), FS-UAE (rommgr.cpp:92-151),
ares (firmware.cpp:116-136) and Altirra (uifirmwarescan.cpp:29-113)
scan a folder and identify firmware by hash; Ymir does in its
standalone build only. FS-UAE still opens rom.key by name
(rommgr.cpp:1397-1498). The export then stops writing their labels
into platform lists: Batocera's psx block goes from 106 entries to 10,
and System.dat's scph5000.bin keeps its own hashes.
2026-10-20 16:49:16 +02:00

102 lines
3.5 KiB
YAML

emulator: swanstation
type: libretro
core_classification: community_fork
source: "https://github.com/libretro/swanstation"
upstream: "https://github.com/stenzek/duckstation"
profiled_date: "2026-03-25"
source_commit: "b6c30a7b270a3f68ac41f268eafdfa678d17dea2"
core_version: "v0.1"
display_name: "Sony - PlayStation (SwanStation)"
cores: [swanstation]
found_by: content
systems: [sony-playstation]
notes: |
Fork of DuckStation maintained by the libretro community after stenzek removed
libretro support. Frozen at an early DuckStation state.
Boot loads a BIOS image. When none is found a built-in OpenBIOS copy
(dep/openbios) boots instead.
ref: src/core/system.cpp:650,678-682
Auto-detects BIOS by scanning system_dir for files of known sizes.
ref: src/core/host_interface.cpp:136-194 (FindBIOSImageInDirectory)
Accepts PS1 (512 KB), PS2 (4 MB), and PS3 (0x3E66F0) BIOS images.
Only the first 512 KB are loaded (src/core/bios.cpp:84, Image(BIOS_SIZE)).
ref: src/core/bios.h:9 (BIOS_SIZE=0x80000, BIOS_SIZE_PS2=0x400000, BIOS_SIZE_PS3=0x3E66F0)
27 known BIOS entries identified by MD5 hash.
ref: src/core/bios.cpp:28-71 (s_image_infos)
Each entry has: description, region, hash, patch_compatible flag.
Upstream DuckStation has evolved significantly (105 entries, PS2 BIOS, OpenBIOS,
priority system). SwanStation is frozen at the fork point.
files:
- name: "scph5500.bin"
description: "SCPH-5500 (v3.0 09-09-96 J)"
region: [japan]
required: false
hle_fallback: true
md5: "8dd7d5296a650fac7319bce665a6a53c"
size: 524288
validation: [size, md5]
source_ref: "source src/core/bios.cpp:49"
aliases: []
- name: "scph5501.bin"
description: "SCPH-5501, 5503, 7003 (v3.0 11-18-96 A)"
region: [north-america]
required: false
hle_fallback: true
md5: "490f666e1afb15b7362b406ed1cea246"
size: 524288
validation: [size, md5]
source_ref: "source src/core/bios.cpp:50-51"
aliases: []
- name: "scph5502.bin"
description: "SCPH-5502, 5552 (v3.0 01-06-97 E)"
region: [europe, oceania]
required: false
hle_fallback: true
md5: "32736f17079d0b2b7024407c39bd3050"
size: 524288
validation: [size, md5]
source_ref: "source src/core/bios.cpp:52-53"
aliases: []
- name: "psxonpsp660.bin"
description: "PSP, SCPH-1000R (v4.5 05-25-00 J)"
region: [world]
required: false
hle_fallback: true
md5: "c53ca5908936d412331790f4426c6c33"
size: 524288
validation: [size, md5]
source_ref: "source src/core/bios.cpp:66-67"
aliases: []
- name: "ps1_rom.bin"
description: "PS3 embedded PS1 BIOS (v5.0 06-23-03 A)"
region: [world]
required: false
hle_fallback: true
md5: "81bbe60ba7a3d1cea1d48c14cbcc647b"
size: [524288, 4194304, 4089584]
validation: [size, md5]
note: "Accepts PS1 (512KB), PS2 (4MB), and PS3 (0x3E66F0) sizes. Only first 512KB used."
source_ref: "source src/core/bios.h:9, source src/core/bios.cpp:71, source src/core/bios.cpp:81-90"
aliases: []
- name: "ps1_rom.bin"
description: "PS3 embedded PS1 BIOS (v5.0 06-23-03 A), whole 0x3E66F0 image"
region: [world]
required: false
hle_fallback: true
md5: "fbb5f59ec332451debccf1e377017237"
size: 4089584
validation: [size]
note: "Only the first 512 KB are read and hashed. Their md5 c02a6fbb1b27359f84e92fae8bc21316 is the first PS3 entry of the table."
source_ref: "source src/core/bios.h:9, source src/core/bios.cpp:70, source src/core/bios.cpp:82-99, source src/core/bios.cpp:129"
aliases: []