puNES
puNES is a Qt-based Nintendo Entertainment System emulator that also plays NSF, NSF2, and NSFe music files.
What puNES is
puNES is a Qt-based Nintendo Entertainment System emulator that also plays NSF, NSF2, and NSFe music files. It is available for Linux and Windows, with work-in-progress builds including a Linux x86_64 AppImage and 32-bit and 64-bit Windows versions for OpenGL or Direct3D 9. The project also documents compiling it for FreeBSD and OpenBSD. Listed capabilities include save states, rewind, shaders, and cheat support. Optional FFmpeg support enables audio and video recording, with formats including WAV, MP3, AAC, FLAC, MPEG, H.264, WebM, and AVI; recording may be disabled or unavailable with older FFmpeg versions. Portable mode can be set through a configuration file beside the executable, a special executable name, or a command-line option. The project describes its current executables as works in progress, so core changes may introduce bugs. It also warns that save states from version 0.110 or earlier do not work with current work-in-progress builds. puNES is free, with no free trial listed.
Good
- Includes save states, rewind, shaders, and cheats.
- Optional FFmpeg support enables audio and video recording.
- Portable mode can be enabled in several ways.
- Translated into 12 listed languages.
Watch out
- Current executables are work-in-progress builds.
- Older save states are incompatible with current builds.
- Linux builds require CMake 3.14 or newer and other dependencies.
Who it suits
puNES suits people looking for an NES emulator or NSF-family music player on Linux or Windows. Its documented FreeBSD and OpenBSD build support may also interest users on those systems.
Verdict
puNES combines NES emulation and NSF-family music playback, with several listed emulator features and optional recording. Its work-in-progress status and save-state compatibility warning are worth considering before switching to it.
The facts
Each one read from puNES's own pages, with the date it was checked.
Where it runs
- Build platforms
- The project documents compilation for Linux, FreeBSD, OpenBSD, and Windows.checked 30 Sep 2026
- Linux downloads
- The repository links to a work-in-progress Linux x86_64 AppImage build that is updated to the latest commit.checked 30 Sep 2026
- Linux requirements
- Linux builds require CMake 3.14 or newer and Qt5 or Qt6 with OpenGL support, among other dependencies.checked 30 Sep 2026
- Mapper support
- The README lists support for a broad set of numbered cartridge mappers and UNIF boards.checked 30 Sep 2026
- Windows compatibility
- The README says its 32-bit Windows versions are compatible with Windows XP.checked 30 Sep 2026
- Windows downloads
- Work-in-progress Windows 32-bit and 64-bit builds are listed with OpenGL and D3D9 variants.checked 30 Sep 2026
- Windows graphics
- The project supports OpenGL and Direct3D 9 Windows builds.checked 30 Sep 2026
- Windows XP
- The project says its 32-bit Windows versions are compatible with Windows XP.checked 30 Sep 2026
What it does
- Build status
- The project describes its current executables as work-in-progress builds and warns that core changes may introduce bugs.checked 30 Sep 2026
- Command line
- The README says to start puNES with -h to see available command-line options.checked 30 Sep 2026
- Languages
- The README lists translations in Arabic, Chinese, English, French, German, Hungarian, Italian, Polish, Portuguese, Russian, Spanish, and Turkish.checked 30 Sep 2026
- Portable mode
- Portable mode can be enabled with a puNES.cfg file beside the executable, an executable name ending in _p, or the --portable option.checked 30 Sep 2026
- Product
- puNES is a Qt-based Nintendo Entertainment System emulator and NSF/NSF2/NSFe music player.checked 30 Sep 2026
- Project license
- The repository provides a COPYING license file, but the opened page does not state security certifications or compliance claims.checked 30 Sep 2026
- Purpose
- puNES is a Qt-based Nintendo Entertainment System emulator and NSF/NSF2/NSFe music player.checked 30 Sep 2026
- Recording
- Optional FFmpeg support enables audio and video recording; the README lists formats including WAV, MP3, AAC, FLAC, MPEG, H.264, WebM, and AVI.checked 30 Sep 2026
- Recording requirement
- Audio and video recording support can be disabled, and is automatically disabled if the installed FFmpeg version is below 4.0.checked 30 Sep 2026
- Save-state compatibility
- The README warns that save states from version 0.110 or earlier are no longer compatible with current work-in-progress builds.checked 30 Sep 2026
- Support
- The README invites users to support the developer by buying them a beer and asks users to report ROM compatibility problems.checked 30 Sep 2026
- Supported systems
- The project describes support for Linux, FreeBSD, OpenBSD, and Windows.checked 30 Sep 2026
- Translations
- The README lists translations in Arabic, Chinese, English, French, German, Hungarian, Italian, Polish, Portuguese, Russian, Spanish, and Turkish.checked 30 Sep 2026
- Video recording
- With FFmpeg support, listed video recording formats include MPEG, H.264, HEVC, WebM, WMV, and AVI.checked 30 Sep 2026
- Work in progress builds
- The project offers Linux x86_64 AppImage builds and 32-bit and 64-bit Windows builds with OpenGL or D3D9.checked 30 Sep 2026
