Video game console emulator


A video game console emulator is a type of emulator that allows a computing device to emulate a video game console's hardware and play its games on the emulating platform. More often than not, emulators carry additional features that surpass the limitations of the original hardware, such as broader controller compatibility, timescale control, greater performance, clearer quality, easier access to memory modifications, one-click cheat codes, and unlocking of gameplay features. Emulators are also a useful tool in the development process of homebrew demos and the creation of new games for older, discontinued, or more rare consoles.
The code and data of a game are typically supplied to the emulator by means of a ROM file or an ISO image, which are created by either specialized tools for game cartridges, or regular optical drives reading the data. Most games retain their copyright despite the increasing time-span of the original system and products' discontinuation; this leaves regular consumers and emulation enthusiasts to resort to obtaining games freely across various internet sites rather than legitimately purchasing and ripping the contents. As an alternative, specialized adapters such as the Retrode allow emulators to directly access the data on game cartridges without needing to copy it into a ROM image first.

History

By the mid-1990s, personal computers had progressed to the point where it was technically feasible to replicate the behavior of some of the earliest consoles entirely through software, and the first unauthorized, non-commercial console emulators began to appear. These early programs were often incomplete, only partially emulating a given system, resulting in defects. Few manufacturers published technical specifications for their hardware, which left programmers to deduce the exact workings of a console through reverse engineering. Nintendo's consoles tended to be the most commonly studied, for example the most advanced early emulators reproduced the workings of the Nintendo Entertainment System, the Super Nintendo Entertainment System, and the Game Boy. Programs like Marat Fayzullin's iNES, VirtualGameBoy, Pasofami, Super Pasofami, and VSMC were the most popular console emulators of this era. A curiosity was also Yuji Naka's unreleased NES emulator for the Genesis, possibly marking the first instance of a software emulator running on a console.
This rise in popularity opened the door to foreign video games, and exposed North American gamers to Nintendo's censorship policies. This rapid growth in the development of emulators in turn fed the growth of the ROM hacking and fan-translation. The release of projects such as RPGe's English language translation of Final Fantasy V drew even more users into the emulation scene.

Legal issues

United States

As computers and global computer networks continued to advance and emulator developers grew more skilled in their work, the length of time between the commercial release of a console and its successful emulation began to shrink. Fifth generation consoles such as Nintendo 64, PlayStation and sixth generation handhelds, such as the Game Boy Advance, saw significant progress toward emulation during their production. This led to an effort by console manufacturers to stop unofficial emulation, but consistent failures such as Sega v. Accolade 977 F.2d 1510, Sony Computer Entertainment, Inc. v. Connectix Corporation 203 F.3d 596, and Sony Computer Entertainment America v. Bleem 214 F.3d 1022, have had the opposite effect. According to all legal precedents, emulation is legal within the United States. However, unauthorized distribution of copyrighted code remains illegal, according to both country-specific copyright and international copyright law under the Berne Convention. Accordingly, video game publishers and developers have taken legal action against websites that illegally redistribute their copyrighted software, successfully forcing sites to remove their titles or taking down the websites entirely. Most emulation projects work in cleanroom-style software development, reverse engineering the hardware and software emulation from observation to avoid running into copyright issues for emulation. For example, in 2020, a large trove of information related to Nintendo's consoles was leaked, and teams working on Nintendo console emulators such as the Dolphin emulator for GameCube and Wii stated they were staying far away from the leaked information to avoid tainting their project.
Under United States law, obtaining a dumped copy of the original machine's BIOS is legal under the ruling Lewis Galoob Toys, Inc. v. Nintendo of America, Inc., 964 F.2d 965 as fair use as long as the user obtained a legally purchased copy of the machine. To mitigate this however, several emulators for platforms such as Game Boy Advance are capable of running without a BIOS file, using high-level emulation to simulate BIOS subroutines at a slight cost in emulation accuracy.

Impersonation by malware

Due to their popularity, emulators have also been a target of online scams in the form of trojan horse programs designed to mimic the appearance of a legitimate emulator, which are then promoted through spam, on YouTube and elsewhere. Some scams, such as the purported "PCSX4" emulator, have even gone so far as to setting up a fake GitHub repository, presumably for added trustworthiness especially to those unfamiliar with open-source software development. The Federal Trade Commission has since issued an advisory warning users to avoid downloading such software, in response to reports of a purported Nintendo Switch emulator released by various websites as a front for a survey scam.

Official use

Due to the high demand of playing old games on modern systems, consoles have begun incorporating emulation technology. The most notable of these is Nintendo's Virtual Console. Originally released for the Wii, but present on the 3DS and Wii U, Virtual Console uses software emulation to allow the purchasing and playing of games for old systems on this modern hardware. Though not all games are available, the Virtual Console has a large collection of games spanning a wide variety of consoles. The Virtual Console's library of past games currently consists of titles originating from the Nintendo Entertainment System, Super NES, Game Boy, Game Boy Color, Nintendo 64, Game Boy Advance, Nintendo DS, and Wii, as well as Sega's Master System and Genesis/Mega Drive, NEC's TurboGrafx-16, and SNK's Neo Geo. The service for the Wii also includes games for platforms that were known only in select regions, such as the Commodore 64 and MSX, as well as Virtual Console Arcade, which allows players to download video arcade games. Virtual Console titles have been downloaded over ten million times. Each game is distributed with a dedicated emulator tweaked to run the game as well as possible. However, it lacks the enhancements that unofficial emulators provide, and many titles are still unavailable.
Until the 4.0.0 firmware update, the Nintendo Switch system software contained an embedded NES emulator, referred to internally as "flog", running the game Golf. The Easter egg was believed to be a tribute to former Nintendo president Satoru Iwata, who died in 2015: the game was only accessible on July 11, Golf was programmed by Iwata, and the game was activated by performing a gesture that Iwata had famously used during Nintendo's video presentations. It was suggested that the inclusion of Golf was intended as a digital form of omamori—a traditional form of Japanese amulets intended to provide luck or protection. As part of its Nintendo Switch Online subscription service, Nintendo subsequently released an app featuring an on-demand library of NES titles updated regularly. The app features similar features to Virtual Console titles, including save states, as well as a pixel scaler mode and an effect that simulates CRT television displays.
Due to differences in hardware, the Xbox 360 is not natively backwards compatible with original Xbox games. However, Microsoft achieved backwards compatibility with popular titles through an emulator. On June 15, 2015, Microsoft announced the Xbox One would be backwards compatible with Xbox 360 through Emulation. In June 2017, they announced Xbox original titles would also be available for backwards compatibility through emulation, but because the Xbox original runs on the x86 architecture, CPU emulation is unnecessary, greatly improving performance. The PlayStation 3 uses software emulation to play original PlayStation titles, and the PlayStation Store sells games that run through an emulator within the machine. In the original Japanese and North American 60GB models, original PS2 hardware is present to run titles; however all PAL models, and later models released in Japan and North America removed some PS2 hardware components, replacing it with software emulation working alongside the video hardware to achieve partial hardware/software emulation. In later releases, backwards compatibility with PS2 titles was completely removed along with the PS2 graphics chip, and eventually Sony released PS2 titles with software emulation on the PlayStation Store.
Commercial developers have also used emulation as a means to repackage and reissue older games on newer consoles in retail releases. For example, Sega has created several collections of Sonic the Hedgehog games. Before the Virtual Console, Nintendo also used this tactic, such as Game Boy Advance re-releases of NES titles in the Classic NES Series.

Other uses

Although the primary purpose of emulation is to make older video-games execute on newer systems, there are several advantages inherent in the extra flexibility of software emulation that were not possible on the original systems.

ROM hacking and modification

loading is a necessity for most console emulators, as most computing devices do not have the hardware required to run older console games directly from the physical game media itself. Even with optical media system emulators such as the PlayStation and PlayStation 2, attempting to run games from the actual disc may cause problems such as hangs and malfunction as PC optical drives are not designed to spin discs the way those consoles do. This, however, has led to the advantage of it being far easier to modify the actual game's files contained within the game ROMs. Amateur programmers and gaming enthusiasts have produced translations of foreign games, rewritten dialogue within a game, applied fixes to bugs that were present in the original game, as well as updating old sports games with modern rosters. It is even possible to use high-resolution texture pack upgrades for 3-D games and sometimes 2-D if available and possible.

Enhanced technical features

Software that emulates a console can be improved with additional capabilities that the original system did not have. These include Enhanced graphical capabilities, such as spatial anti-aliasing, upscaling of the framebuffer resolution to match high definition and even higher display resolutions, as well as anisotropic filtering.
Emulation software may offer improved audio capabilities, enhanced save states and decreased boot and loading times. Some emulators feature an option to "quickly" boot a game, bypassing the console manufacturer's original splash screens.
Furthermore, emulation software may offer online multiplayer functionality and the ability to speed up and slow down the emulation speed. This allows the user to fast-forward through unwanted cutscenes for example, or the ability to disable the framelimiter entirely.

Bypassing regional lockouts

Some consoles have a regional lockout, preventing the user from being able to play games outside of the designated game region. This can be considered a nuisance for console gamers as some games feature seemingly inexplicable localization differences between regions, such as differences in the time requirements for driving missions and license tests on Gran Turismo 4, and the PAL version of Final Fantasy X which added more ingame skills, changes to some bosses, and even more bosses that weren't available in the American NTSC release of the game.
Although it is usually possible to modify the consoles themselves to bypass regional lockouts, console modifications can cause problems with screens not being displayed correctly and games running too fast or slow, due to the fact that the console itself may not be designed to output to the correct format for the game. These problems can be overcome on emulators, as they are usually designed with their own output modules, which can run both NTSC and PAL games without issue.

Cheating and widescreen functionality

Many emulators, for example SNES9X, make it far easier to load console-based cheats, without requiring potentially expensive proprietary hardware devices such as those used by GameShark and Action Replay. Freeware tools allow codes given by such programs to be converted into code that can be read directly by the emulator's built-in cheating system, and even allow cheats to be toggled from the menu. The debugging tools featured in many emulators also aid gamers in creating their own such cheats.
Similar systems can also be used to enable Widescreen Hacks for certain games, allowing the user to play games which were not originally intended for widescreen, without having to worry about aspect ratio distortion on widescreen monitors.