Mednafen is a multi-game-system emulator, for various platforms, including emulation of the following systems:Atari Lynx,Famicom,GameBoy (Color),GameBoy Advance,Neo Geo Pocket (Color), NES(both NTSC and PAL),PC Engine/TurboGrafx 16 (CD) and SuperGrafx,PC-FX,WonderSwan (Color).

Mednafen v1.21.1 Changelog:

- Enabling the automatic save state loading/saving feature will no longer cause an error to be outputted on game load if the save state does not exist.
- Added support for compiling and linking with external LZO instead of the bundled miniLZO.
- A CD image loading hint will now be appended to the ROM image too large error message in certain circumstances.
- PC-FX: Added a missing variable to save states.
- (Re)Added backwards-compatibility "video.driver" setting value aliases.
- NES: Misc minor fixes for a few bootleg mappers.
- NES: Added missing data to VS Unisystem save states.
- NES: Added missing variable to mapper 64 save states.
- NES: Added missing save state support to the mapper 22 code.
- NES: Fixed improper handling of an MMC1 variable in save states.
- Fixed handling of the "osd.state_display_time" setting to allow a value of "0" to work as expected.
For Windows

https://mednafen.github.io