Files
libretro/emulators/bsnes_mercury.yml
T
Abdessamad Derraz 11da070128 chore: recale the profile refs onto their pins
Upstream moved under 145 profiles: 679 refs shifted and 452 followed a
renamed file, against 6,483 that still anchor where they were written.
The recale rewrites the located ranges only, keeping the annotations and
the sentences that carry them, and 106 pins advance in the same commit
because refs and source_commit name one revision or the profile
describes two at once.

Nothing here was guessed. The 183 refs that are CHANGED, GONE or
AMBIGUOUS are untouched, and the 57 profiles holding them keep their old
pin until someone reads the diff: profile_sync refuses to recale a
profile while any of its refs needs a re-read. trident kept its pin too,
its annotated ref being one the writer will not rewrite.
2026-09-04 14:41:44 +02:00

171 lines
4.6 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: "ea22363fb0c1ebe92e7a70cdf55e9bb43f9207be"
core_version: "v094 (Mercury)"
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"