emulator: bsnes 2014 type: libretro core_classification: frozen_snapshot source: "https://github.com/libretro/bsnes2014" upstream: "https://github.com/bsnes-emu/bsnes" profiled_date: "2026-03-23" core_version: "v094" display_name: "Nintendo - SNES / SFC (bsnes 2014)" cores: [bsnes2014_accuracy, bsnes2014_balanced, bsnes2014_performance] systems: - nintendo-snes - nintendo-sgb - nintendo-satellaview - nintendo-sufami-turbo notes: | Frozen at bsnes v094. Three build profiles: accuracy (dot-based PPU), balanced, performance (scanline PPU). All 3 share the same 18 firmware files. Profiles only differ in PPU (sfc/profile-*.hpp), not coprocessors. Performance .info is wrong (firmware_count=17, missing cx4.data.rom). SPC700 IPL ROM (64 bytes) embedded in target-libretro/libretro.cpp:31. No HLE fallback for any coprocessor in v094. Firmware loaded from system_dir via file::exists() + mmapstream. DSP1 (non-b) names used via embedded database for specific SHA256-matched games; DSP1B names used via heuristic fallback for all DSP1/DSP1B games. Upstream v094 source is contained within the libretro repo (sfc/, ananke/). bsnes-emu/bsnes is the modern rewrite (v115+). files: - name: dsp1.program.rom system: nintendo-snes required: false size: 6144 source_ref: "ananke/database/super-famicom.hpp:5658" - name: dsp1.data.rom system: nintendo-snes required: false size: 2048 source_ref: "ananke/database/super-famicom.hpp:5659" - name: dsp1b.program.rom system: nintendo-snes required: false size: 6144 source_ref: "ananke/heuristics/super-famicom.hpp:381" - name: dsp1b.data.rom system: nintendo-snes required: false size: 2048 source_ref: "ananke/heuristics/super-famicom.hpp:382" - name: dsp2.program.rom system: nintendo-snes required: false size: 6144 source_ref: "ananke/heuristics/super-famicom.hpp:403" - name: dsp2.data.rom system: nintendo-snes required: false size: 2048 source_ref: "ananke/heuristics/super-famicom.hpp:404" - name: dsp3.program.rom system: nintendo-snes required: false size: 6144 source_ref: "ananke/heuristics/super-famicom.hpp:417" - name: dsp3.data.rom system: nintendo-snes required: false size: 2048 source_ref: "ananke/heuristics/super-famicom.hpp:418" - name: dsp4.program.rom system: nintendo-snes required: false size: 6144 source_ref: "ananke/heuristics/super-famicom.hpp:431" - name: dsp4.data.rom system: nintendo-snes required: false size: 2048 source_ref: "ananke/heuristics/super-famicom.hpp:432" - name: cx4.data.rom system: nintendo-snes required: false size: 3072 source_ref: "ananke/heuristics/super-famicom.hpp:146" - name: st010.program.rom system: nintendo-snes required: false size: 49152 source_ref: "ananke/heuristics/super-famicom.hpp:445" - name: st010.data.rom system: nintendo-snes required: false size: 4096 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" - 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" - name: sgb.boot.rom system: nintendo-sgb required: false size: 256 source_ref: "ananke/heuristics/super-famicom.hpp:133"