Skip to content
Screenshot from the video game (own work).
Screenshot from the video game (own work). Image by Jordan Mechner, via Wikimedia Commons (CC BY-SA 4.0).

bsnes C++98 (v085)

NINTENDO SNES/SFC EMULATOR CORE

bsnes C++98 (v085)

bsnes C++98 (v085) is a Libretro core that ports bsnes's accuracy-focused SNES emulation to older C++98 toolchains so it can be built as a libretro core for RetroArch and similar frontends.

Nintendo SNES/SFCPRIMARY SYSTEM
History documentedPROJECT BEGAN
Open sourcePROJECT MODEL

WHY IT MATTERS

Why pick this core?

Provides the bsnes accuracy model compiled against older C++98 compilers. Useful when you want bsnes-level accuracy on platforms or toolchains that require legacy C++ support, and when using a libretro frontend (RetroArch) that loads libretro cores.

BEST FOR

Best use-case

Run accurate SNES/SFC games inside a libretro frontend on platforms where the modern bsnes builds (newer C++ standards) are not available or not supported. It is intended as a compatibility-focused core for RetroArch-style environments rather than a standalone emulator with its own GUI.

Super Mario World gameplay on SNES
Gameplay from Super Mario World on SNES.

The people behind bsnes C++98 (v085)

History and project status

bsnes began as a high-accuracy SNES emulator and later spawned multiple related projects and libretro ports. The bsnes C++98 libretro port extracts the core emulation and adapts it to the C++98 subset so it can be built where newer C++ toolchains are not available. The libretro-maintained repository and libretro-super distribution recipe are the canonical sources for this core. The project is maintained in the libretro organization and distributed as a libretro core; current packaging and versioning (v085 as referenced in libretro docs) are tracked in the libretro documentation and the repository. For precise, up-to-date status, consult the core's libretro docs and the GitHub repository listed below.

What bsnes C++98 (v085) supports

  • Nintendo Super Nintendo / Super Famicom (SNES/SFC) – proprietary game ROMs required
  • Runs as a libretro core in RetroArch and other libretro frontends
  • Builds/ports for platforms supported by RetroArch and libretro-super (Linux, Windows, macOS, Android, and some consoles) — platform availability depends on provided core binaries or local builds
  • Does not include game ROMs, commercial BIOS, or firmware

Download and availability

OFFICIAL DOWNLOADS

Get bsnes C++98 (v085)

Official core binaries and the core manifest are distributed via Libretro. Install the core using RetroArch's Core Updater or obtain the core build from libretro build artefacts / libretro-super builds. Documentation and core download instructions are on the Libretro docs site under the bsnes C++98 core and the Core Download/Guide pages.

Get bsnes C++98 (v085) ↗

DOCUMENTATION

Official documentation

Read the official configuration, compatibility, and troubleshooting material before changing advanced options.

Read official documentation ↗
Broken or missing download? Emulator projects move and official links sometimes change. Please contact Retro Replay so the source can be verified and updated.

bsnes C++98 (v085) setup guide

Setup note: This setup guide assumes you will run the bsnes C++98 core inside RetroArch (recommended). It covers getting the core, loading games, and practical settings relevant to an accuracy-focused SNES core.

  1. 1) Get RetroArch: Install the latest RetroArch build for your platform from the frontend's official distribution channel. RetroArch is required to load libretro cores; the core itself is a plugin and not a standalone application.
  2. 2) Install the bsnes C++98 core via Core Updater: Open RetroArch, go to Online Updater -> Core Updater, locate 'bsnes C++98 (v085)' or the SNES/bsnes entry, and download it. RetroArch will place the core file in its cores folder and register it for use.
  3. 3) Alternatively build or fetch core binaries: If prebuilt cores for your platform are not available, use the libretro-super recipes or the libretro/bsnes-libretro-cplusplus98 repository to build a core. libretro-super contains dist/info files and build scripts; follow the repository's build instructions for your platform and compiler. Ensure you use the C++98-compatible toolchain if targeting the cplusplus98 port.
  4. 4) Prepare game files (ROMs): Place your legally obtained SNES/SFC ROM files in a folder RetroArch can access. The bsnes C++98 core does not include commercial games, BIOS, or firmware. Standard SNES cartridges typically do not require BIOS files. If you intend to use Satellaview/BS-X content or other special add-ons, consult the core documentation because additional files or configuration may be needed.
  5. 5) Loading a game: In RetroArch choose Load Content -> Select File And Detect Core, pick a SNES ROM file, and when prompted select the bsnes C++98 core. The core will run the ROM inside RetroArch.
  6. 6) Configure core-specific options: Open RetroArch's Quick Menu while a game is running (Hotkey+Menu), then go to Options to view bsnes C++98-specific settings (video, audio, region/clock options, chip emulation choices, etc.). Because this is an accuracy-oriented core, options that change timing or overclocking can affect compatibility; change them with caution and test saves.
  7. 7) Controller/input setup: Configure controllers in RetroArch's Settings -> Input and in Quick Menu -> Controls for the loaded game/core. The Libretro core exposes standard SNES device types; map keys, gamepad buttons, and hotkeys as needed.
  8. 8) Performance and platform notes: bsnes cores emulate SNES hardware very accurately and can be CPU-intensive. On low-power hardware prefer lower-accuracy cores (e.g., Snes9x variants) or build with platform-optimized flags where available. The cplusplus98 port exists to support older toolchains and some consoles — core performance and feature availability depend on how the core was built for your target platform.

Software reminder: Do not use or distribute commercial ROMs, BIOS, or firmware unless you own them and local law permits. The core and RetroArch are separate; install the core through RetroArch or build from the official libretro repositories.

Sources and further reading

Detailed guides and tutorials

Explore step-by-step guides for bsnes C++98 (v085) as they are published.

Use bsnes C++98 (v085) on Android

An Android ARM64 Libretro build exists for bsnes C++98 (v085). Run the core through RetroArch for Android; the standalone desktop download and Android core may have different menus and features.

Emulates: SNES.

Verified Android core build ↗ · Browse all Android emulators →