Video game console emulator

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

This is an explanation of a what a console emulator does. For a list of existing emulators, see List of video game emulators.

File:StarFox64 Emulated with Project64.png
Star Fox 64 being emulated on a Windows PC using the free Project64 emulator.

A video game console emulator is a type of emulator that allows a computing device, usually a personal computer, but also other video game consoles and mobile devices running operating systems such as Android to emulate a video game console's hardware and behavior and play games for that platform. Emulators are most often used to play older video games on personal computers and video game consoles, but they are also used to play games translated into other languages or to modify (or hack) existing games. More often than not, emulators offer additional features above and beyond that of the original console, such as multi-controller compatibility (such as PlayStation controllers being used with Nintendo 64 games and vice versa), timescale control, higher framerates, higher resolutions, unlocking of gameplay features, memory modifications (like GameShark), and one-click cheat codes. Emulators are also a useful tool in the development process of homebrew demos and the creation of new games for older or discontinued consoles.

Code and data of a game are typically supplied to the emulator by means of a ROM file (a copy of the data contained on a game cartridge) or an ISO image (for systems that use optical media). Most game titles retain their copyright even with the original system and games being many years past discontinuation and increasing rarity, so many resort to the obtaining of these games for free on various internet sites rather than purchasing and ripping the ROM from the game (although, this is popular among those who already own the games). Specialized adapters such as the Retrode allow emulators to directly access the data on game cartridges without the need 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, and often riddled with defects. Few manufacturers published technical specifications for their hardware, leaving it to programmers and developers 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 (NES), the Super NES (SNES), and the Game Boy (GB). Programs like Marat Fayzullin's iNES (which emulated the NES), VirtualGameBoy (GB), Pasofami (NES), Super Pasofami (SNES), and VSMC (SNES) were the most popular console emulators of this era. A curiosity was also Yuji Naka's unreleased NES emulator for the Mega Drive, possibly marking the first instance of a software emulator running on a console.[1]

The rise in popularity of console emulation 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 community. 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

Lua error in package.lua at line 80: module 'strict' not found.

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 (9th Cir. 1992), Sony Computer Entertainment, Inc. v. Connectix Corporation 203 F.3d 596 (2000), and Sony Computer Entertainment America v. Bleem 214 F.3d 1022 (2000),[2] 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.[3] Obtaining games through methods not authorized by the developer or publisher is illegal in the United States.

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 (9th Cir. 1992) as fair use as long as the user obtained a legally purchased copy of the machine. 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.

Official use of emulation

Due to the demand to play old games on modern systems, consoles have begun incorporating emulation technology.

The most famous of these is Nintendo's Virtual Console. Originally released for the Wii and now present on all Nintendo console releases, the Virtual Console uses software emulation to allow the purchasing and playing of games for old systems on modern hardware. Though only a portion of games are released for it, the Virtual Console has a large collection of games spanning a wide variety of consoles. Each game is bundled with a dedicated emulator, designed to run a specific game as well as possible. However, it lacks the enhancements that unofficial emulators provide, and many titles are unavailable. 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. The PlayStation 3 uses software emulation to play original PlayStation titles[citation needed]. In US 60GB models original PS2 graphics and CPU hardware are present to run PS2 titles, however the PAL and later US models removed the PS2 CPU, 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 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 videogames backwards-compatible with newer systems, there are several advantages inherent in the extra flexibility of software emulation that were not possible on the original systems.

ROM Hacking/Modification

Disk Image loading is a necessity for most console emulators, as most gaming PCs do not have the hardware required to run older console games directly from the physical game media itself. Even with emulators of optical disc-based consoles such as the PlayStation and PlayStation 2, attempting to run games from the actual disc may cause problems such as hangups or hardware malfunction, as PC optical drives are not designed to constantly spin discs. 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 if available.

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 HD and even higher display resolutions, and anisotropic filtering (texture sharpening)
  • Improved audio capabilities, such as decreased latency and better audio interpolation
  • Save states, which allow the user to save a game at any point, making it useful for creating temporary saves during a gaming session, as well as debugging purposes
  • Decreased boot and loading times, with emulators usually featuring an option to "quickly" boot a game, bypassing the console manufacturer's splash screens
  • Online multiplayer options
  • Ability to speed up and slow down the emulation speed, allowing the user to fast-forward through unwanted cutscenes for example, or the ability to disable the framelimiter entirely, which is useful for benchmarking purposes.
  • Enhanced savegame storage capabilities, allowing users to save and back up saved games more easily, without having to worry about the storage limitations of memory cards, for example. An example of this is PCSX2's recently implemented folder-based memory card storage system,[4] which allows the maximum memory card size to theoretically be as much as the hard disk on the host computer can store.

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 very annoying for console gamers as some games feature sometimes seemingly inexplicable localization differences between PAL and NTSC, such as differences in the time requirements for driving missions and licence tests on Gran Turismo 4 [5] and the PAL version of Final Fantasy X requiring players to defeat almost impossible superbosses called Dark Aeons in order to complete the game, as well as making it prohibitively expensive to get Yojimbo to use his killer Zanmato move, compared to the NTSC versions. Some games are rendered completely impossible to play in certain regions at all by this, such as certain titles that were only released in Japan, for example.

Although it is usually possible to modify the consoles themselves to bypass regional lockouts, this 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 right format for the game. These problems are overcome on emulators, as they are usually designed with their own output modules, which can run both NTSC and PAL games without issue.

Cheating/Widescreen Hacking Functionality

Many emulators 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 turned on and off 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.

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. see Midway Manufacturing Co. v. Artic International, Inc., 574 F.Supp. 999, aff'd, 704 F.2d 1009 (9th Cir 1982) (holding the computer ROM of Pac Man to be a sufficient fixation for purposes of copyright law even though the game changes each time played.) and Article 2 of the Berne Convention
  3. http://pcsx2.net/271-july-august-2015-progress-report.html
  4. https://www.gtplanet.net/forum/threads/pal-versus-ntsc-versions-of-gt4-what-are-the-differences.87195/

External links

  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.