NINTENDO NES/FAMICOM EMULATOR CORE
bnes
Libretro core: a libretro/RetroArch port of bNES (Nintendo NES/Famicom emulator).

WHY IT MATTERS
Why this core exists
bnes-libretro is a libretro/RetroArch core that packages the bNES NES emulator for use as a libretro core. It provides an option in the RetroArch/libretro ecosystem for running NES/Famicom software using the bNES codebase within frontends that support libretro cores.
BEST FOR
Best use
Use this core when you specifically want to run the bNES implementation inside a libretro frontend (RetroArch or other libretro-compatible frontends). It is primarily valuable to users who prefer bNES's internal design or want to compare behavior between NES cores available to RetroArch.
The people behind bnes
History & status
The project is the libretro port of bNES and is hosted in the libretro GitHub organization. Authors listed in the repository include byuu and Ryphecha and the code is licensed GPLv3. The repository contains source, build scaffolding and a README. The core is listed in the libretro core index/docs. Repository activity exists in the libretro GitHub mirror, but community commentary indicates the core is less commonly used than other NES cores available to RetroArch; some community posts have described it as an older or less-built option compared with cores such as Mesen or FCEUmm. For exact current maintenance status, releases, and build details consult the project's repository and the libretro documentation pages linked below.
What bnes supports
- RetroArch/libretro frontends (Windows, Linux, macOS, Android, other platforms supported by RetroArch frontends — core runs where a compatible libretro frontend can load it)
- NES / Famicom ROM images (standard cartridge dumps; no commercial game files or firmware are provided by the core)
- Controller input and libretro standard features when used through a libretro frontend (savestates, input remapping, shader/video options available from the frontend)
- Note: Platform availability depends on the frontend build and whether the core binary has been built for that platform; consult the core download/build pages.
Download and availability
OFFICIAL DOWNLOADS
Get bnes
Obtain the bnes libretro core either via a libretro/RetroArch frontend core downloader if a compatible build is provided, or by building the core from source from the libretro/bnes-libretro repository. The libretro documentation core list and the repository README are the authoritative places for current download/build options.
Get bnes ↗DOCUMENTATION
Official documentation
Read the official configuration, compatibility, and troubleshooting material before changing advanced options.
Read official documentation ↗bnes setup guide
Setup note: Practical setup notes: cores are distributed as libretro-compatible library files that must be loaded by a libretro frontend (for example RetroArch). The frontend supplies the runtime, configuration, and user interface; the bnes core supplies the NES emulation engine. Below are practical, verifiable setup pathways — use the official repo and documentation for the latest platform-specific instructions.
- 1) Preferred: Check your libretro frontend's Core Downloader: Open RetroArch (or other libretro frontend) and use its built-in Core Downloader to search for bnes. If a binary build of the bnes core is published to the frontend's build distribution, you can download and install it directly from there. Availability varies by platform and frontend build; if the core does not appear in the downloader, proceed to the manual options below.
- 2) Manual download of prebuilt core (if provided): Some libretro community build repositories or the libretro 'download cores' guidance may host prebuilt core binaries for supported platforms. If you find an official or trusted build, place the core library file in your frontend's 'cores' folder and load it via the frontend. Do not download or run binaries from untrusted third-party sites. If you need a specific platform build and none is available, build from source.
- 3) Build from source (recommended when no prebuilt is available): Clone the official libretro/bnes-libretro repository and follow the repository README and build files. The repository contains the source for the libretro port; build systems and platform-specific instructions (if any) are documented in the repository. Building produces a libretro core library that the frontend can load. Consult the repository README and the libretro development/build guides for details on dependencies and the build process. If you are using RetroArch build tooling (libretro build scripts), integrate the core build with those scripts according to their docs.
- 4) Loading ROMs and runtime notes: Load legally obtained NES/Famicom ROM images through your libretro frontend. The core itself does not include commercial games, BIOS, firmware, or proprietary system files. NES generally does not require a platform BIOS to run typical cartridges; confirm any mapper or expansion device requirements for particular cartridges via the repository or core documentation. Use the frontend to configure input, save states, and video options; consult the frontend for features like shaders or rewind.
- 5) Troubleshooting and compatibility: If the core fails to load or crashes, check that you have a core build that matches your frontend (architecture and ABI), and consult the core's GitHub issues and the libretro documentation for known issues. If you need a stable alternative, consider other actively maintained NES cores available to RetroArch (compare behavior as needed).
- 6) Licensing and redistribution: bnes-libretro is distributed under GPLv3 according to the repository. Follow the license terms when redistributing builds or source modifications.
Software reminder: Do not expect commercial NES games, BIOS, firmware, or proprietary files to be included with the core. Use only legally obtained game images and follow all applicable laws and licenses.
Sources and further reading
Detailed guides and tutorials
Explore step-by-step guides for bnes as they are published.
Retro Replay Retro Gaming History, Reviews & Emulation
