punesemu/puNES logo

punesemu/puNES

Free

Qt-based Nintendo Entertaiment System emulator and NSF/NSF2/NSFe Music Player (Linux, FreeBSD, OpenBSD and Windows)

FreeFree tier
Type
Open Source

About punesemu/puNES

puNES is a Qt-based Nintendo Entertainment System (NES) emulator and NSF/NSF2/NSFe music player. It is available for Linux, FreeBSD, OpenBSD, and Windows. The emulator supports a large number of mappers (including UNIF boards) and offers multiple rendering backends (OpenGL and Direct3D 9). Features include save states, portable mode, multilingual translations, and a command-line interface. As a work-in-progress project, it is actively developed with frequent builds provided as Linux AppImage and Windows executables.

Key Features

Qt-based graphical user interface
Cross-platform: Linux, FreeBSD, OpenBSD, Windows
Supports a wide range of NES mappers (0–564 and UNIF boards)
NSF/NSF2/NSFe music playback
Multiple rendering backends: OpenGL and Direct3D 9
Portable mode via puNES.cfg, filename suffix, or command-line option
Save state support (warning: incompatible with versions older than 0.110)
Multilingual translations (community contributed)
Command-line interface with -h for options
Work-in-progress with frequent builds

Pros & Cons

Pros
  • Open source and free
  • Cross-platform support including BSD systems
  • Extensive mapper compatibility covering most commercial and homebrew games
  • Built-in NSF music player adds extra utility
  • Portable mode allows running from USB drives
  • Multiple rendering backends for compatibility and performance
Cons
  • Work-in-progress; may contain bugs or regressions
  • Save states from versions 0.110 or earlier are not compatible
  • No official macOS support mentioned
  • Limited to NES/NSF emulation only (no other consoles)

Best For

Playing NES games on desktop operating systemsListening to NSF/NSF2/NSFe music filesTesting and debugging NES homebrew softwareEmulation research and development

FAQ

What is puNES?
puNES is a Qt-based emulator for the Nintendo Entertainment System (NES) and a player for NSF/NSF2/NSFe music files.
What platforms are supported?
puNES runs on Linux, FreeBSD, OpenBSD, and Windows (32-bit and 64-bit).
Is puNES free?
Yes, puNES is free and open source software licensed under GPL (COPYING file).
How do I run puNES in portable mode?
You can run it in portable mode by placing puNES.cfg in the same folder as the executable, renaming the executable with '_p' suffix, or starting it with the '--portable' command-line option.
Are save states compatible across versions?
Save states from version 0.110 or earlier are not compatible with newer versions of puNES.