• Print

Nintaco 2017/04/23 Beta


Nintaco is a cycle-accurate Nintendo Entertainment System (NES) / Famicom emulator and NES Sound Format (NSF) player written in Java, ostensibly making it cross-platform.


It supports the vast majority of games including those for the Famicom Disk System (FDS), Dendy and Vs. UniSystem along with a plethora of peripherals.


It tracks play history, enabling the player to rewind time to undo mistakes, and to watch, export, edit and resume play at any point in the past. It supports netplay, save states, video and audio recording, video filters, screenshots, cheat codes, a debugger and a TAS editor.


It can be controlled programmatically via an API. It provides automatic capturing of sprites and level maps. It even simulates R.O.B., the Robotic Operating Buddy.


Getting Started

  • If double-clicking the jar does not automatically launch the emulator, try: java -jar Nintaco.jar
  • Configure input: Options | Button Mapping...
  • If you are using an 8 button controller, such as a USB NES gamepad, try mapping Rewind Time to Start + B.
  • If you want to resume at arbitrary points in the past: Tools | Watch History... and Resume Here



  • Fixed controller input issues under OS X. A JInput native file needed to be renamed to load properly in Java 8.
  • Fixed Python issues related to class and variable names with 2 leading underscores. The name mangling trick used to simulate private scope worked perfectly fine in Jython running within Netbeans. But, standard Python did not like it.
  • Fixed bug in Map Maker and Sprite Saver. Neither was updating properly when configured for sprite zero hits.
  • Introduced Skip button for the Set All Button Mapping feature.
  • The debugging tools and the machine speed menu are now accessible while running Watch History or the History Editor.
  • It is now possible to switch between Watch History and Export Video/Audio.
  • Augmented the source with an Apache Ant buildfile and compilation details.
  • Added Screenshots and News to this site.
  • Added instructions on how to run the Remote API test programs from different languages.
  • Provided more FAQ, particularly about History Tracking.






blog comments powered by Disqus