mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-31 16:17:19 -05:00
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.
175 lines
4.7 KiB
YAML
175 lines
4.7 KiB
YAML
emulator: bsnes-mercury
|
|
type: libretro
|
|
core_classification: enhanced_fork
|
|
source: "https://github.com/libretro/bsnes-mercury"
|
|
upstream: "https://byuu.org/higan"
|
|
profiled_date: "2026-03-25"
|
|
source_commit: "79d7f9de218b6ffa65a80bbdc5828532bc239232"
|
|
core_version: "094"
|
|
version_basis:
|
|
kind: file
|
|
path: "emulator/emulator.hpp"
|
|
pattern: 'static const char Version\[\]\s*=\s*"([^"]+)"'
|
|
display_name: "Nintendo - SNES / SFC (bsnes-mercury)"
|
|
cores: [bsnes_mercury_accuracy, bsnes_mercury_balanced, bsnes_mercury_performance]
|
|
systems:
|
|
- nintendo-snes
|
|
- nintendo-sgb
|
|
- nintendo-satellaview
|
|
- nintendo-sufami-turbo
|
|
|
|
notes: |
|
|
Fork of higan v094 by Alcaro. Restores HLE for coprocessor chips removed
|
|
in v094, adds firmware_appended support and SuperFX overclocking.
|
|
Three profiles: accuracy, balanced, performance (PPU differs, not firmware).
|
|
Core option bsnes_chip_hle (default LLE, requires bsnes_violate_accuracy)
|
|
controls HLE/LLE at runtime. ref: target-libretro/libretro.cpp:428-442
|
|
|
|
Firmware loaded from system_dir via file::exists + mmapstream.
|
|
No hash or size validation on any firmware file.
|
|
ref: target-libretro/libretro.cpp:242-264
|
|
|
|
firmware_appended: firmware can be appended to end of ROM file.
|
|
ref: ananke/heuristics/super-famicom.hpp:83
|
|
|
|
SPC700 IPL ROM (64 bytes) is embedded in the binary.
|
|
ref: target-libretro/libretro.cpp:39
|
|
|
|
Upstream higan v094 by byuu (2014, site defunct). Mercury preserves v094
|
|
code with HLE additions documented in changes.diff at repo root.
|
|
|
|
files:
|
|
# --- NEC uPD7725 DSP chips (DSP1/1B/2/3/4) ---
|
|
# ananke always generates dsp1b filenames for DSP-1 games (backward-compatible)
|
|
|
|
- name: dsp1.program.rom
|
|
system: nintendo-snes
|
|
required: false
|
|
size: 6144
|
|
hle_fallback: true
|
|
note: "only loaded via custom BML manifest, ananke uses dsp1b"
|
|
source_ref: "sfc/cartridge/markup.cpp:422-432"
|
|
|
|
- name: dsp1.data.rom
|
|
system: nintendo-snes
|
|
required: false
|
|
size: 2048
|
|
hle_fallback: true
|
|
note: "only loaded via custom BML manifest, ananke uses dsp1b"
|
|
source_ref: "sfc/cartridge/markup.cpp:422-432"
|
|
|
|
- name: dsp1b.program.rom
|
|
system: nintendo-snes
|
|
required: false
|
|
size: 6144
|
|
hle_fallback: true
|
|
source_ref: "ananke/heuristics/super-famicom.hpp:381"
|
|
|
|
- name: dsp1b.data.rom
|
|
system: nintendo-snes
|
|
required: false
|
|
size: 2048
|
|
hle_fallback: true
|
|
source_ref: "ananke/heuristics/super-famicom.hpp:382"
|
|
|
|
- name: dsp2.program.rom
|
|
system: nintendo-snes
|
|
required: false
|
|
size: 6144
|
|
hle_fallback: true
|
|
source_ref: "ananke/heuristics/super-famicom.hpp:403"
|
|
|
|
- name: dsp2.data.rom
|
|
system: nintendo-snes
|
|
required: false
|
|
size: 2048
|
|
hle_fallback: true
|
|
source_ref: "ananke/heuristics/super-famicom.hpp:404"
|
|
|
|
- name: dsp3.program.rom
|
|
system: nintendo-snes
|
|
required: false
|
|
size: 6144
|
|
hle_fallback: true
|
|
source_ref: "ananke/heuristics/super-famicom.hpp:417"
|
|
|
|
- name: dsp3.data.rom
|
|
system: nintendo-snes
|
|
required: false
|
|
size: 2048
|
|
hle_fallback: true
|
|
source_ref: "ananke/heuristics/super-famicom.hpp:418"
|
|
|
|
- name: dsp4.program.rom
|
|
system: nintendo-snes
|
|
required: false
|
|
size: 6144
|
|
hle_fallback: true
|
|
source_ref: "ananke/heuristics/super-famicom.hpp:431"
|
|
|
|
- name: dsp4.data.rom
|
|
system: nintendo-snes
|
|
required: false
|
|
size: 2048
|
|
hle_fallback: true
|
|
source_ref: "ananke/heuristics/super-famicom.hpp:432"
|
|
|
|
# --- Hitachi HG51B (CX4) ---
|
|
|
|
- name: cx4.data.rom
|
|
system: nintendo-snes
|
|
required: false
|
|
size: 3072
|
|
hle_fallback: true
|
|
source_ref: "ananke/heuristics/super-famicom.hpp:146"
|
|
|
|
# --- NEC uPD96050 (ST010, ST011) ---
|
|
|
|
- name: st010.program.rom
|
|
system: nintendo-snes
|
|
required: false
|
|
size: 49152
|
|
hle_fallback: true
|
|
source_ref: "ananke/heuristics/super-famicom.hpp:445"
|
|
|
|
- name: st010.data.rom
|
|
system: nintendo-snes
|
|
required: false
|
|
size: 4096
|
|
hle_fallback: true
|
|
source_ref: "ananke/heuristics/super-famicom.hpp:446"
|
|
|
|
- name: st011.program.rom
|
|
system: nintendo-snes
|
|
required: false
|
|
size: 49152
|
|
source_ref: "ananke/heuristics/super-famicom.hpp:460"
|
|
|
|
- name: st011.data.rom
|
|
system: nintendo-snes
|
|
required: false
|
|
size: 4096
|
|
source_ref: "ananke/heuristics/super-famicom.hpp:461"
|
|
|
|
# --- ARM DSP (ST018) ---
|
|
|
|
- name: st018.program.rom
|
|
system: nintendo-snes
|
|
required: false
|
|
size: 131072
|
|
source_ref: "ananke/heuristics/super-famicom.hpp:475"
|
|
|
|
- name: st018.data.rom
|
|
system: nintendo-snes
|
|
required: false
|
|
size: 32768
|
|
source_ref: "ananke/heuristics/super-famicom.hpp:476"
|
|
|
|
# --- Super Game Boy ---
|
|
|
|
- name: sgb.boot.rom
|
|
system: nintendo-sgb
|
|
required: false
|
|
size: 256
|
|
source_ref: "ananke/heuristics/super-famicom.hpp:133"
|