mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-31 16:17:19 -05:00
The region BIOS option names scph5500/5501/5502.bin by default and LoadImageFromFile checks only the size (host_interface.cpp:124-133, bios.cpp:82-105). The md5 table serves the directory scan and the Fast Boot patch. validation: [size], found_by: name. Closes the open swanstation finding.
132 lines
6.4 KiB
YAML
132 lines
6.4 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: "631f0fb31b809e0f889d7c551fe695788e39c1d3"
|
|
upstream_commit: "526b4a128827ecaef037134095cd95f431b52d06"
|
|
core_version: "1.0.0"
|
|
version_basis:
|
|
kind: file
|
|
path: "src/libretro/libretro_host_interface.cpp"
|
|
pattern: 'library_version\s*=\s*"([0-9][^" ]*)'
|
|
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
|
|
|
|
The BIOS option of the console region names a file, scph5500.bin,
|
|
scph5501.bin and scph5502.bin by default, opened by that name with a size
|
|
check only. When it is missing or of another size the core scans system_dir
|
|
for files of known sizes and keeps one whose md5 the table knows.
|
|
ref: src/core/host_interface.cpp:100-133, src/libretro/libretro_core_options.h:96-137
|
|
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.
|
|
|
|
The console region picks the image, Auto by default. NTSC-U answers the
|
|
"Sony Computer Entertainment Amer ica" licence string, a SCUS or SLUS
|
|
executable, a disc whose region the detector cannot read, an image that
|
|
fails to open and a boot without content.
|
|
ref: src/core/system.cpp:193-209, 401-456, 592-645
|
|
ref: src/core/host_interface.cpp:100-183 (FindBIOSImageInDirectory keeps a region match)
|
|
ref: src/libretro/libretro_core_options.h:82-95 (swanstation_Console_Region, default Auto)
|
|
|
|
Upstream DuckStation has evolved significantly (105 entries, PS2 BIOS, OpenBIOS,
|
|
priority system). SwanStation is frozen at the fork point.
|
|
|
|
files:
|
|
- name: "scph5500.bin"
|
|
found_by: "name"
|
|
description: "SCPH-5500 (v3.0 09-09-96 J)"
|
|
region: [japan]
|
|
required: false
|
|
hle_fallback: true
|
|
md5: "8dd7d5296a650fac7319bce665a6a53c"
|
|
size: 524288
|
|
validation: ["size"]
|
|
source_ref: "source src/core/bios.cpp:49, source src/core/bios.cpp:82-105, source src/core/host_interface.cpp:100-133, source src/libretro/libretro_core_options.h:96-109"
|
|
aliases: []
|
|
note: "Default of swanstation_BIOS_PathNTSCJ, opened by this name with a size check only (512 KB, 4 MB or the PS3 size). The md5 table identifies files in the directory scan, which runs only when the named file is missing or of another size (host_interface.cpp:136-193). A file whose md5 the table lacks still boots, without the Fast Boot patch (bios.cpp:142-146, system.cpp:689, 711)."
|
|
|
|
- name: "scph5501.bin"
|
|
found_by: "name"
|
|
description: "SCPH-5501, 5503, 7003 (v3.0 11-18-96 A)"
|
|
region: [north-america, latin-america]
|
|
required: false
|
|
hle_fallback: true
|
|
md5: "490f666e1afb15b7362b406ed1cea246"
|
|
size: 524288
|
|
validation: ["size"]
|
|
source_ref: "source src/core/bios.cpp:50-51, source src/core/bios.cpp:82-105, source src/core/host_interface.cpp:100-133, source src/libretro/libretro_core_options.h:110-123"
|
|
aliases: []
|
|
evidence:
|
|
hle_fallback: ["2026-10-27-ba53cd101c61", "2026-10-27-f9363c9e87f6"]
|
|
validation: ["2026-10-27-f9363c9e87f6", "2026-10-27-97e674b2e56e"]
|
|
note: "Default of swanstation_BIOS_PathNTSCU, opened by this name with a size check only (512 KB, 4 MB or the PS3 size). The md5 table identifies files in the directory scan, which runs only when the named file is missing or of another size (host_interface.cpp:136-193). A file whose md5 the table lacks still boots, without the Fast Boot patch (bios.cpp:142-146, system.cpp:689, 711)."
|
|
|
|
- name: "scph5502.bin"
|
|
found_by: "name"
|
|
description: "SCPH-5502, 5552 (v3.0 01-06-97 E)"
|
|
region: [europe, oceania]
|
|
required: false
|
|
hle_fallback: true
|
|
md5: "32736f17079d0b2b7024407c39bd3050"
|
|
size: 524288
|
|
validation: ["size"]
|
|
source_ref: "source src/core/bios.cpp:52-53, source src/core/bios.cpp:82-105, source src/core/host_interface.cpp:100-133, source src/libretro/libretro_core_options.h:124-137"
|
|
aliases: []
|
|
note: "Default of swanstation_BIOS_PathPAL, opened by this name with a size check only (512 KB, 4 MB or the PS3 size). The md5 table identifies files in the directory scan, which runs only when the named file is missing or of another size (host_interface.cpp:136-193). A file whose md5 the table lacks still boots, without the Fast Boot patch (bios.cpp:142-146, system.cpp:689, 711)."
|
|
|
|
- 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: []
|
|
evidence:
|
|
hle_fallback: ["2026-10-27-ba53cd101c61"]
|
|
|
|
- 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: []
|
|
evidence:
|
|
hle_fallback: ["2026-10-27-ba53cd101c61"]
|
|
|
|
- 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: []
|