Files
libretro/emulators/bsnes-jg.yml
T
Abdessamad Derraz e7aa9e870b fix: state libretro core versions from their code
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.
2026-10-27 19:21:27 +01:00

151 lines
5.5 KiB
YAML

emulator: bsnes-jg
type: libretro
core_classification: community_fork
source: "https://github.com/libretro/bsnes-jg"
upstream: "https://gitlab.com/jgemu/bsnes"
profiled_date: "2026-03-23"
source_commit: "4aef191fef72be539ccc07ada21c6e0a65360eb7"
upstream_commit: "53e6a7c2ec4b4220adc2f8dcb3786489bd04fe0e"
core_version: "2.1.2"
version_basis:
kind: file
path: "version.h"
pattern: '#define\s+JG_VERSION\s+"([^"]+)'
display_name: "Nintendo - SNES / SFC (bsnes-jg)"
cores: [bsnes-jg, bsnes_jg]
systems:
- nintendo-snes
- nintendo-sgb
- nintendo-satellaview
- nintendo-sufami-turbo
notes: |
Fork of bsnes v115 by Rupert Carmichael, rewritten for C++ standard library.
Coprocessor firmware loaded from system_dir via openFileCallback.
HLE available for DSP1/1B/2/4 and ST010 (core option bsnes_jg_coproc_preferhle).
DSP3, ST011, ST018 require LLE firmware in all cases (no HLE path).
CX4/HitachiDSP uses embedded static data ROM (3072 bytes), no external file.
SGB1/SGB2 boot ROMs embedded (256 bytes each).
BML game databases embedded as C++ string literals.
ref: libretro/libretro.cpp:420-502 fileOpenV firmware loading callback
ref: src/cartridge.cpp:762-837 uPD7725 (DSP1-4) LLE/HLE dispatch
ref: src/cartridge.cpp:839-909 uPD96050 (ST010/ST011) LLE/HLE dispatch
ref: src/cartridge.cpp:623-678 ARM6 (ST018) firmware loading
ref: src/cartridge.cpp:680-760 HG51BS169 (HitachiDSP/CX4) embedded ROM + HLE
ref: src/coprocessor/icd.cpp:249,260 SGB1/SGB2 boot ROMs embedded
ref: src/cartridge.cpp:64 hitachidspStaticDataROM embedded
ref: libretro/libretro.cpp:30-33 BML databases embedded
files:
# uPD7725 coprocessor firmware (DSP1, DSP1B, DSP2, DSP3, DSP4)
# HLE fallback available for DSP1/1B/2/4, not for DSP3
- name: dsp1.program.rom
system: nintendo-snes
required: false
hle_fallback: true
source_ref: "source libretro/libretro.cpp:429, source src/cartridge.cpp:782, source src/cartridge.cpp:806-812"
- name: dsp1.data.rom
system: nintendo-snes
required: false
hle_fallback: true
source_ref: "source libretro/libretro.cpp:432, source src/cartridge.cpp:794, source src/cartridge.cpp:806-812"
- name: dsp1b.program.rom
system: nintendo-snes
required: false
hle_fallback: true
source_ref: "source libretro/libretro.cpp:435, source src/cartridge.cpp:782, source src/cartridge.cpp:806-812"
- name: dsp1b.data.rom
system: nintendo-snes
required: false
hle_fallback: true
source_ref: "source libretro/libretro.cpp:438, source src/cartridge.cpp:794, source src/cartridge.cpp:806-812"
- name: dsp2.program.rom
system: nintendo-snes
required: false
hle_fallback: true
source_ref: "source libretro/libretro.cpp:441, source src/cartridge.cpp:782, source src/cartridge.cpp:814-819"
- name: dsp2.data.rom
system: nintendo-snes
required: false
hle_fallback: true
source_ref: "source libretro/libretro.cpp:444, source src/cartridge.cpp:794, source src/cartridge.cpp:814-819"
- name: dsp3.program.rom
system: nintendo-snes
required: false
source_ref: "source libretro/libretro.cpp:447-448, source src/cartridge.cpp:782, source src/cartridge.cpp:830-836"
- name: dsp3.data.rom
system: nintendo-snes
required: false
source_ref: "source libretro/libretro.cpp:451-452, source src/cartridge.cpp:794, source src/cartridge.cpp:830-836"
- name: dsp4.program.rom
system: nintendo-snes
required: false
hle_fallback: true
source_ref: "source libretro/libretro.cpp:455, source src/cartridge.cpp:782, source src/cartridge.cpp:821-826"
- name: dsp4.data.rom
system: nintendo-snes
required: false
hle_fallback: true
source_ref: "source libretro/libretro.cpp:458, source src/cartridge.cpp:794, source src/cartridge.cpp:821-826"
# uPD96050 coprocessor firmware (ST010, ST011)
# HLE fallback available for ST010, not for ST011
- name: st010.program.rom
system: nintendo-snes
required: false
hle_fallback: true
source_ref: "source libretro/libretro.cpp:461, source src/cartridge.cpp:859, source src/cartridge.cpp:880-890"
- name: st010.data.rom
system: nintendo-snes
required: false
hle_fallback: true
source_ref: "source libretro/libretro.cpp:464, source src/cartridge.cpp:871, source src/cartridge.cpp:880-890"
- name: st011.program.rom
system: nintendo-snes
required: false
source_ref: "source libretro/libretro.cpp:467-468, source src/cartridge.cpp:859, source src/cartridge.cpp:892-909"
- name: st011.data.rom
system: nintendo-snes
required: false
source_ref: "source libretro/libretro.cpp:471-472, source src/cartridge.cpp:871, source src/cartridge.cpp:892-909"
# ARM6 coprocessor firmware (ST018)
# Internal name arm6, mapped to st018 by libretro wrapper. No HLE.
- name: st018.program.rom
system: nintendo-snes
required: false
source_ref: "source libretro/libretro.cpp:475-476, source src/cartridge.cpp:648"
aliases: [arm6.program.rom]
- name: st018.data.rom
system: nintendo-snes
required: false
source_ref: "source libretro/libretro.cpp:479-480, source src/cartridge.cpp:658"
aliases: [arm6.data.rom]
# Embedded (no external file needed):
# SGB1BootROM[256]: src/coprocessor/icd.cpp:249
# SGB2BootROM[256]: src/coprocessor/icd.cpp:260
# hitachidspStaticDataROM[3072]: src/cartridge.cpp:62
# CX4 HLE: src/cartridge.cpp:713-729 (preferHLE path for HG51BS169)
# boards_bml: libretro/boards_bml.hpp
# SuperFamicom_bml: libretro/SuperFamicom_bml.hpp
# BSMemory_bml: libretro/BSMemory_bml.hpp
# SufamiTurbo_bml: libretro/SufamiTurbo_bml.hpp