NES EMULATOR
BeesNES
BeesNES is a sub–cycle-accurate Nintendo Entertainment System (NES) emulator focused on hardware-accurate timing, audio, and video, authored by Shawn (L. Spiro) Wilcoxen and published on GitHub.

WHY IT MATTERS
Why BeesNES exists
BeesNES aims to reproduce the look, sound, and realtime behavior of real NES hardware by implementing sub-cycle accuracy for the CPU, PPU, and APU; supporting multiple regional console variants; and offering high-quality CRT/NTSC/PAL visual filters and detailed audio matching.
BEST FOR
What BeesNES does best
Sub-cycle timing accuracy, configurable and authentic visual filters (NTSC/PAL/various famiclone variants), detailed audio options intended to match hardware responses, and an accuracy-first design that avoids timing hacks.
The people behind BeesNES
History / status
The project is maintained in a public GitHub repository under the L-Spiro account. The repository contains extensive source for multiple platform targets (folders for Windows, macOS, iOS, tvOS and shared code are present) and a large commit history. The README documents the author's goals (sub-cycle accuracy, region and famiclone support), accuracy and performance notes, and intended extra features such as a debugger, disassembler, and TAS tools. The repository is active as a source of the emulator and its supporting filters and resources; releases and prebuilt binaries are surfaced by the repository when the author publishes them. Specific release availability should be confirmed on the repository Releases page before downloading.
What BeesNES supports
- Nintendo Entertainment System (NES)
- NTSC, PAL, PAL “Dendy” (famiclone), PAL‑M (Brazilian famiclone), PAL‑N (Argentinian famiclone)
- Build targets present for Windows and Apple platforms (macOS, iOS, tvOS) in the repository
- Requires OpenAL for audio when building from source
Download and availability
OFFICIAL DOWNLOADS
Get BeesNES
Official source and any release assets are hosted in the project's GitHub repository. If prebuilt binaries are provided they appear on the repository's Releases page; otherwise the project must be built from source.
Get BeesNES ↗DOCUMENTATION
Official documentation
Read the official configuration, compatibility, and troubleshooting material before changing advanced options.
Read official documentation ↗BeesNES setup guide
Setup note: Practical setup notes (verified from the repository README and build files). The project is primarily intended to be built from source. Below are concrete, emulator-specific steps to obtain and run BeesNES; adapt paths and tool versions to your environment.
- 1) Get the source or releases: Visit the official GitHub repository (L-Spiro/BeesNES). If the author has published prebuilt binaries, they will appear on the repository's Releases page. If no suitable release is available, clone the repository to build from source.
- 2) Required dependencies: BeesNES uses only OpenAL as an external library per the README. For Windows development the README names Microsoft Visual Studio (64-bit) as the recommended toolchain; the project contains Visual Studio solution and project files. Apple-platform folders and an Xcode project are present in the repository for building on macOS/iOS/tvOS.
- 3) Building on Windows (source-based): Install Microsoft Visual Studio (the README references Visual Studio Community 2022). Install the OpenAL SDK and ensure headers/libs are available to the Visual Studio solution. Open the BeesNES Visual Studio solution in the repository and build the desired configuration (x64 recommended). If the repository includes additional build notes or a BUILD.md, follow them for any platform-specific settings.
- 4) Building on macOS / iOS / tvOS: Open the BeesNES.xcodeproj in Xcode. The repository includes platform-specific folders (BeesNES macOS, BeesNES iOS, BeesNES tvOS). Ensure any referenced third-party code (OpenAL or Apple-provided audio APIs) is configured in the Xcode project and adjust signing settings for iOS/tvOS if you plan to run on devices.
- 5) Running the emulator (basic): Once built, launch the executable for your platform. The README documents options and accuracy goals (visual filter options, audio tuning, region selection). The emulator does not include commercial games or firmware; you must supply your own game ROM files. Confirm any BIOS or mapper files required per the game's mapper — BeesNES README lists broad mapper/hardware support goals, but check the repository documentation or issues for compatibility notes on specific mappers.
- 6) Configuring audio and video: BeesNES exposes detailed audio options and custom CRT/NTSC/PAL filter pipelines (the README links to included filter code and external filter libraries). For authentic video, use the bundled filters and the appropriate regional mode (NTSC/PAL variants) matching your ROM. For audio, select the OpenAL-backed output or the platform audio backend provided in the build.
- 7) Debugging, TAS and advanced tools: The README lists planned or included tools such as a debugger, disassembler, assembler, and TAS features. Check the repository tree (Tools, Cheats, Database, Src) and Issues for usage instructions; advanced tooling is typically documented in the repo or in source comments.
- 8) Safety and legal notes: The emulator does not include commercial game ROMs, firmware, or proprietary BIOS images. Only use game dumps you legally own. Follow the repository license (MIT) and the project's instructions when redistributing builds or changes.
Software reminder: Confirm the repository Releases page for any official binaries. If building from source, follow the README and supply required dependencies (OpenAL, Visual Studio/Xcode). Do not expect bundled commercial ROMs or BIOS files.
Sources and further reading
Detailed guides and tutorials
Explore step-by-step guides for BeesNES as they are published.
Retro Replay Retro Gaming History, Reviews & Emulation