Files
libretro/emulators/bnes.yml
Abdessamad Derraz 71b127efb5 feat: 4-source verified emulator profiles (A-E cores)
33 emulator profiles created or updated with systematic
verification against libretro docs, .info, core source,
and original emulator source code.

New profiles: bsnes-jg, bsnes2014, bsnes_cplusplus98,
bsnes_hd_beta, bsnes_mercury, citra2018, citra_canary.

Key fixes:
- dosbox_svn/svn_ce: not aliases of dosbox_core (no MUNT)
- beetle_psx: alt_names renamed to aliases (field bug)
- dolphin: added 15 Realtek BT firmware for Wiimote passthrough
- dosbox_core: added CM-32LN, 13 split ROM pairs for standalone
- duckstation: type standalone+libretro, 106 BIOS verified
- snes9x/np2kai: formal aliases for alternate filenames
2026-03-19 08:09:34 +01:00

64 lines
2.1 KiB
YAML

emulator: bnes
type: libretro
source: "https://github.com/libretro/bnes-libretro"
profiled_date: "2026-03-18"
core_version: "v083"
display_name: "Nintendo - NES / Famicom (bnes)"
cores:
- bnes
systems:
- nes
notes: |
bnes is a NES emulator based on byuu's bNES/higan v083 NES module, ported
to libretro by Ryphecha. It is a lightweight, accuracy-focused NES core.
The core loads cartridge data entirely through retro_load_game with
need_fullpath=false (libretro/libretro.cpp:129). ROM data is passed as a
memory buffer and parsed by Cartridge::load (nes/cartridge/cartridge.cpp:18-31),
which detects iNES headers (16-byte offset) and delegates to Board::load.
The PPU generates its palette from a hardcoded color table in
libretro/libretro.cpp:20-37 with emphasis factor tables. No external
palette file is loaded.
System::init (nes/system/system.cpp:62-66) only sets up the interface
pointer and default input devices. No system ROM, BIOS, or firmware is
loaded at any stage of initialization or cartridge loading.
The core does not call RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY and has no
file I/O for BIOS or firmware. FDS (Famicom Disk System) is not supported,
so disksys.rom is not needed.
No external BIOS or firmware files are needed.
files: []
analysis:
bios_search:
retro_load_game: "libretro/libretro.cpp:181-211 - loads cartridge data only, no BIOS"
cartridge_load: "nes/cartridge/cartridge.cpp:18-31 - parses iNES header + ROM data"
system_init: "nes/system/system.cpp:62-66 - sets interface pointer, no ROM loading"
system_power: "nes/system/system.cpp:43-50 - powers subsystems, no file I/O"
interface_init: "nes/interface/interface.cpp - stores derived pointer, calls system.init"
supported_mappers:
- NROM
- SxROM (MMC1)
- UxROM
- CNROM
- TxROM (MMC3)
- ExROM (MMC5)
- AxROM
- BnROM
- GxROM
- PxROM (MMC4)
- FxROM (MMC4)
- Bandai FCG
- Konami VRC4
- Konami VRC6
- Konami VRC7
- Sunsoft 5B
fds_support: false
filesystem_access: false
system_directory_used: false