Nintendulator is an open source Win32 NES emulator written in C++ (plus some assembly optimization). The original goal was to emulate the NES down to its hardware quirks; though it's fallen behind over the years, recent builds have caught up once again and can emulate certain behaviors 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), 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. Additionally, savestates and battery-backed RAM are saved within the current user's profile rather than in the application's own directory, allowing Nintendulator to function properly on Windows 7 and Vista without requiring the program to be run as an administrator.
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.
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.
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.
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).
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.
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).
Some minor fixes to the Debugger - pressing the various "Controls" buttons will no longer result in a crash when no ROM is loaded.
A few bugs in Nintendulator's NSF player (and the Winamp plugin) have been fixed.
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.
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!
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.
These are old releases of Nintendulator, archived here for posterity. Where present, mapper DLL binaries are also included with the corresponding emulator releases.
These mappers are supported in the latest released version of Nintendulator. Mappers listed in bold are only available at the listed compatibility level in the latest beta build (strike indicates mappers whose compatibility has changed in the latest beta build).