NES Emulators
Video game console emulation software is used to mimic specific hardware functionality to play specialized game files. Games that once existed on large, plastic carts are now available as ROM files, relatively small software packages that contain all of the game's code. The most widely used NES emulators are Nestopia, DreamNES, FCE Ultra and NESticle. These standalone emulators can be customized and paired with thousands of ROM files. Built-in emulators combine a ROM file with specialized code to create a game file that launches independently. There are several types of built-in emulators that can be found on many different platforms.
Virtual Console Emulation
The Wii and DS video game consoles are currently the only devices that feature official NES emulators developed by Nintendo. These emulators are distributed alongside games as part of Nintendo's Virtual Console program. When a Virtual Console game is played on the Wii or DS consoles, it is actually being processed through an underlying emulation program. Players never see the emulator in action, and the game is launched seamlessly within the existing operating system.
NES Emulators on Smart Phones
The rise in popularity of smart phones and the increasing availability of iOS and Android games has brought on an increase in the number of available built-in emulators. NES emulators that run on mobile phones are designed to run the game as smoothly as possible while adapting touch-screen and tilt controls to in-game commands. Many NES games that are available on the iOS and Android markets are launched with built-in emulators that contain no user interface whatsoever. The emulators silently run in the background, making it seem as though the game is running straight off of the phone's operating system.
Browser-based NES Emulation
Many websites now offer NES games that play directly in a browser window. These games run on built-in NES emulators that are uniquely designed to work with a limited selection of games. Browser-based emulators typically lack any form of customization that is seen in other types of emulators, and some emulators will only work with certain browsers. An emulator that is designed to run within a browser window generally requires the use of a keyboard, as alternate methods of user input are not available.