an NES emulator by Quietust
[Skip to Downloads]
[Return to NES Stuff]


Nintendulator is an open source Win32 NES emulator written in C++. The original goal was to emulate the NES down to its hardware quirks, and while it's not 100% perfect, it does emulate a variety of special cases that most other emulators neglect to handle. However, this emulation precision comes at a price - a 1500MHz (estimated) or faster CPU is required to emulate at full speed.

Supported file formats include .NES, UNIF, FDS (fwNES format), and NSF. Mappers are handled using external DLLs, complete with extra sound channels for most games which provide them. Other notable features include writing to FDS images (by storing the differences in separate files), authentic Game Genie support (limited to 3 codes), customizeable controllers (including 4 player), input movie recording and playback (with re-recording), AVI capturing, and a debugger with simple breakpoint support. Savestates and battery-backed RAM are saved within the current user's Application Data folder, allowing Nintendulator to function properly when not run as an Administrator.

To contact the author, send email to quietust at either or, or look on the NESdev Discord server (link available from the Wiki) or in the #nesdev IRC channel on EFnet.


All - Recent - 2024 - 2023 - 2022 - 2021 - 2020 - 2019 - 2018 - 2017 - 2016 - 2015 - 2014 - 2013 - 2012 - 2011 - 2010 - 2009 - 2008 - 2007 - 2006 - 2005 - 2004

June 13, 2009

Nintendulator's mapper DLL code has been upgraded from C to C++, effectively completing the task from March 19.

Several mapper bugs have been fixed in the process, though it is entirely possible that some other bugs may have been introduced as well, so keep an eye out for problems.

March 21, 2009

The code for handling different controller types (gamepad, Zapper, Power Pad, Four Score, etc.) has been rewritten to take advantage of C++ language features. Initial tests suggest it is working properly, though there may yet be bugs lurking within it.

The savestate format has also been updated - it would seem that controller state data was never being stored correctly, and the actual controller state block was missing some important data.

March 19, 2009

Nintendulator's code has been upgraded from C to C++ in order to make use of namespaces for a much needed improvement in maintainability.

No actual functionality should have changed as a result of this.

March 16, 2009

Fixed a rather glaring bug (pointed out by a user) which caused read/write breakpoints to not trigger on unindexed accesses (e.g. LDA $2002 or STA $4015).

March 15, 2009

The aforementioned "Detail" section has been implemented - simply hover the cursor over a nametable tile, sprite, pattern table tile, or palette entry, and it will be displayed magnified and with appropriate details. Right-clicking on an object will cause its details to remain displayed when you move the mouse over an empty area.

March 14, 2009

The PPU Debugger now displays sprites, arranged in a 16 by 4 grid.

A "Detail" section has also been added - while it currently does nothing, it will eventually be made to display details about whatever the mouse cursor is currently pointing at (in similar fashion to rveach's modified Nintendulator debugger).

March 12, 2009

Some minor fixes to the Debugger - pressing the various "Controls" buttons will no longer result in a crash when no ROM is loaded.

February 28, 2009

A few bugs in Nintendulator's NSF player (and the Winamp plugin) have been fixed.

January 16, 2009

Various dialogs within the emulator (particularly the debugger and the NSF player controller) should now properly respond to keyboard input.


Here you may download various versions of Nintendulator and other related applications.

Latest unstable build

This is a snapshot of my latest development code. Though this has features not present in the current release below, it may also have significant bugs, so download it at your own risk!
This is NOT a release!

Current release

This is the latest officially released version of Nintendulator. You are highly recommended to use this version instead of the latest build above unless you require any of the new functionality added since the last release.

Outdated releases

These are old releases of Nintendulator, archived here for historical purposes.

Mappers Supported

These mappers are supported in the latest released version of Nintendulator. Mappers listed in bold have been added or improved in the latest beta build; for iNES and VS, strike indicates what the compatibility was in the official release, while for UNIF it indicates boards that have been removed.

Valid XHTML 1.0 Valid CSS!