mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-13 04:12:33 -05:00
170 lines
4.6 KiB
YAML
170 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"
|
|
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"
|