[Skip to Downloads][Return to NES Stuff]
About
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 @qmtpro.com or @gmail.com, or look on the NESdev Discord server (link available from the Wiki) or in the #nesdev IRC channel on EFnet.
News
February 20, 2024
Today's build attempts to fix a hang that can happen when rapidly single-stepping through code with the debugger open, particularly when large numbers of PPU updates are taking place (e.g. with the MMC5's graphics extensions). Additional performance optimizations have also been made to the PPU debugger.
January 7, 2024
The NTSC palette generator has been updated with properly measured voltage levels. Normal colors are largely unchanged, but color emphasis is somewhat lighter than before.
June 2, 2023
Basic support for iNES Mapper 30 (UNROM 512) has been added; note that this does not include the ability to overwrite Flash ROM contents. Additionally, all mappers which emulate Bus Conflicts now do so in a deterministic manner.
January 29, 2023
Today's build fixes a bug in Wine 6.0 and later with certain window managers, where the main window shrinks to minimum size and jumps to the upper-left corner of the screen on program startup (as well as when the size multiplier is changed).
Not coincidentally, this is also the first build of Nintendulator produced within Wine (using Visual C++ 2010).
January 11, 2023
An error in the Debugger has been corrected so that accesses to the Stack now properly trigger memory read/write breakpoints.
Downloads
Here you may download various versions of Nintendulator and other related applications.
- Versions 0.985 and later are available in both 32-bit and 64-bit editions and are only officially supported on Windows 10 and later, though they should also work fine on versions as far back as Windows XP. Builds made since January 2023 are also tested in the latest version of Wine, but if you find a problem, please let me know.
- Versions 0.960 through 0.980 were 32-bit only but included both ANSI (for Windows 95/98/Me) and Unicode (for Windows XP and later) binaries.
- Versions 0.950 and earlier were 32-bit ANSI only.
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!
- Nintendulator v0.985 Beta (last updated 7/21/2024 6:45 PM)
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.
- Nintendulator 0.980 (January 1, 2019)
Outdated releases
These are old releases of Nintendulator, archived here for historical purposes.
- Nintendulator 0.970 (January 2, 2010)
- Nintendulator 0.960 (January 11, 2006)
- Nintendulator 0.950 (March 14, 2005)
- Nintendulator 0.900 (June 20, 2002)
- NESten 0.61 Mappers
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.
- FDS.dll: FDS (with sound)
- NSF.dll: NSF (FDS, MMC5, Namco 163, VRC6, VRC7, and Sunsoft-5 sound)
- iNES.dll: 154 mappers supported (156 in latest build)
- Full: 0, 1, 2, 3, 4, 5, 7, 9, 10, 11, 13, 15, 16, 19, 24, 26, 28, 31, 32, 34, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 53, 56, 58, 59, 60, 61, 62, 63, 65, 66, 67, 68, 69, 70, 73, 75, 77, 78, 79, 80, 85, 86, 87, 88, 89, 90, 91, 93, 94, 95, 96, 97, 100, 101, 105, 114, 118, 119, 125, 126, 127, 137, 138, 139, 140, 141, 142, 143, 145, 146, 147, 148, 149, 150, 152, 155, 159, 180, 182, 184, 189, 205, 206, 207, 209, 210, 211, 218, 226, 227, 228, 229, 230, 231, 233, 234, 235, 242, 243, 250, 254
- Nearly: 18, 21, 22, 23, 24, 25, 26, 30, 33, 48, 57, 64, 71, 72, 74, 76, 82, 83, 92, 107, 112, 113, 115, 132, 154, 164, 165, 185, 188, 191, 192, 193, 194, 200, 201, 203, 225, 232, 240, 245, 246
- Partial: 116
- VS.dll: 8 mappers supported (9 in latest build)
- Full: 0, 1, 2, 4, 67, 68, 75, 99, 151, 206
- Nearly: (none)
- Partial: (none)
- UNIF.dll: 101 boards supported
- Licensed:
- Plain: NES-NROM-128, NES-NROM-256, NES-RROM-128
- Discrete: NES-AMROM, NES-AN1ROM, NES-ANROM, NES-AOROM, NES-BNROM, NES-CNROM, NES-CPROM, NES-GNROM, NES-MHROM, NES-UNROM, NES-UOROM
- MMC1: NES-SAROM, NES-SBROM, NES-SC1ROM, NES-SCROM, NES-SEROM, NES-SFROM, NES-SGROM, NES-SH1ROM, NES-SHROM, NES-SIROM, NES-SJROM, NES-SKROM, NES-SL1ROM, NES-SL2ROM, NES-SL3ROM, NES-SLROM, NES-SLRROM, NES-SMROM, NES-SNROM, NES-SOROM, NES-SUROM, NES-SXROM
- MMC2: NES-PEEOROM, NES-PNROM
- MMC3: NES-TBROM, NES-TEROM, NES-TFROM, NES-TGROM, NES-TKROM, NES-TKSROM, NES-TL1ROM, NES-TL2ROM, NES-TLROM, NES-TLSROM, NES-TNROM, NES-TQROM, NES-TR1ROM, NES-TSROM, NES-TVROM
- MMC4: NES-FJROM, NES-FKROM
- MMC5: NES-EKROM, NES-ELROM, NES-ETROM, NES-EWROM
- MMC6: NES-HKROM
- FME-7: NES-BTR, NES-JLROM, NES-JSROM
- NAMCO 109: NES-DEIROM, NES-DEROM, NES-DRROM
- HVC-* (Famicom), UNL-* (unlicensed look-alikes), and BTL-* (bootleg look-alikes) also supported
- Unlicensed Singles: UNL-8237, UNL-A9712, UNL-DRIPGAME, UNL-H2288, UNL-SA-0036, UNL-SA-0037, UNL-SA-016-1M, UNL-SA-72007, UNL-SA-72008, UNL-Sachen-74LS374N, UNL-Sachen-8259A, UNL-Sachen-8259B, UNL-TC-U01-1.5M
- Bootleg Singles: BTL-MARIO1-MALEE2
- Bootleg Multicarts: BMC-1991SuperHiK7in1, BMC-1992Ballgames11in1, BMC-Generic115in1, BMC-Generic15in1, BMC-Generic20in1, BMC-Generic20in1A, BMC-Generic42in1, BMC-Generic52in1, BMC-Generic76in1, BMC-GoldenGame150in1, BMC-Mario7in1, BMC-NovelDiamond9999999in1, BMC-Reset4in1, BMC-SV01, BMC-StudyGame32in1, BMC-Super1Min1, BMC-Super24in1SC03, BMC-Super700in1, BMC-Supervision16in1, BMC-T3H53, BMC-WS