puNES is a NES emulator. Currently the program supports mappers 0, MMC1, UNROM, CNROM, and the sound is available. It uses the SDL libraries and it works on both Linux and Windows.

puNES v0.104 Changelog

Fixed graphical problem with xBRZ filter.
Fixed mappers 50, 90, 156, 178, UNL-KOF97, UNL-VRC7, MMC3 KT-008 PCB.
Fixed possible issue with High DPI monitor.
The shortcuts were not applied and saved correctly. Fixed.
For the general UxROM mapper use a full 8-bit bank select register.
Fixed compilation with QT 5.12 under Windows.
Fixed the management of the zapper that now also correctly manages the X coordinates.
Updated the Russian translation (thx Alter0ne).
Fixed the disappearance of the mouse cursor after two seconds.
Fixed the emulator freezing if pressed "Switch Sides" hotkey.
Added the rewind function that replaces the timeline.
Now it is possible to "rewind" the game. Once the rewind function has
been activated (at any time during the game) it is possible to move
forward and backward in the gameplay one frame at a time or at different
speeds (1x, 2x, 4x, 8x, 16x, 32x or 64x). You will be able to move
freely in the recording until you press the "play" button, from that
moment all the gameplay memorized after the selected frame will be lost.
In the "general settings" you can select the duration in minutes of the
recordable gameplay (the different options are: disable, 2mins, 5mins,
15mins, 30min, 60mins or unlimited) but keep in mind that the more
minutes you can record the more space on the hard disk will be used.
https://github.com/punesemu/puNES/releases