Video Game Console Emulation
Video game console emulation is the practice of emulating a video game console to run on a personal computing device. An emulator is a type of software built to emulate the internal system of another hardware system such that it reads and writes hardware exactly like the original hardware the system is emulating. A video game console emulator for example is a type of emulator that emulates video game consoles. This allows for video games built for certain console systems to be played if the emulator has achieved a specific level of similarity to the original hardware. This is achieved by removing the video game ROM from the disk or cartridge the game shipped on and uploading it into your personal computer to be played on the emulator. Since emulators may be built on any target hardware, such as the personal computer or smartphone, this allows for any video game to be played on any system powerful enough to run the game.
This is achieved through multiple techniques of reverse engineering hardware and also the rapid pace that personal computing power has been able to achieve in speed and power, allowing for older (and even modern) video game consoles to be emulated at an acceptable level of performance or even higher. Depending on the computer, emulators may include several features and functionality that were absent in the original game that's only possible by taking advantage of the extra resources of the personal computer. This includes extra graphical features, audio improvements, cheats, button mapping, more accurate fan translations, various alterations known as ROM hacks.
The history of emulation has been marked with significant controversy within both the gaming community and in legal spaces. Because, in theory, emulation effectively allows for any game to be played on any other target system powerful enough, it seemingly puts an end to exclusivity. Furthermore, many users have sought to extract game ROMS and publish them online on websites called ROM sites which is considered a form of online piracy. Many companies also consider the existence of the emulators themselves to be a form of serious copyright infringement by replicating the existing system in software to be as accurate as possible. This has led to several emulators being brought to court and their legality tested. However, this appeared to have backfired and the courts have determined that emulators are in fact a legitimate form of competition against console manufacturers. This has caused emulation to become a more accepted and mainstream practice that continues today.
Despite the court cases, the debate between whether emulation should be considered piracy is ongoing today, with many arguing that emulation still infringes on copyright by essentially copying another machines' functions. The emulation community has also received criticism for allegedly not doing anything against piracy. Others have argued that not only are emulators important as a form of competition with publishers but that emulators are important for other parts of gaming, including preservation of games with lost or inaccessible consoles as well as providing wider reach to players without official translations. Some have been going as far as to justify piracy as an essential aspect of the market.
History of Video Game Console Emulation
It is not known when the first video game console emulator was published but it is believed that the emulators became known sometime in the early 1990s. There was much discussion around the possibility of using personal computers as gaming machines for more sophisticated games, similar to the ones found on the consoles of the time, such as the NES/SNES and Sega Genesis. At this point, the advancing computer hardware and improvements in memory and processing speed began to foster discussion around the possibility of emulating older consoles from the past. Emulation as a concept was well known as many such emulators existed such as calculator emulators, but not console emulators. The earliest consoles sufficiently emulated were the Atari 2600 and the Nintendo Entertainment System. These consoles were already a decade old at the time and were believed to be relatively easily able to run on modern computers with sufficient processing, however, the primary problem was in understanding the internals of these systems. At the time, reverse engineering techniques were not as advanced as they are today. Most of the technical documentation for these systems was and still is a company secret, shared only with the manufacturers and publishers who need to know how the system worked. They were never a matter of public record and therefore, many programmers needed to figure out how these systems worked through rigorous trial and error.[1]
Much of this involved outright guessing or simply omitting part of the hardware that simply wasn't available. Due to this, many emulators were not accurate or could not run most games, only a few that did not take advantage of certain features of the console. While there is still debate over which emulator was the first, most would agree the first known was an NES emulator by the name of LandyNES, created by a Russian developed named Alex Krasivsky. While impressive for being one of the earliest in existence, it did not support audio. Krasivsky would eventually go radio silent, but others were able to use the source code to create a more advanced emulator called iNES, which quickly became extremely popular. However, it was extremely poor in speed and quality. While iNES had sound, the quality was not very good at the time, and most games only ran about half of the speed of the original console experience. However, it had the major advantage of being written in portable C code and was thus able to be run on many personal computing machines. [2]
Emulation would achieve a milestone with the release of NESticle, another NES emulator that included much faster speed, sound quality, and many other updates and features that still exist in many emulators today, such as save states and recording gameplay. While the emulator had some degree of criticism, the console is still remembered as an important contribution to the emulation scene in terms of speed and accuracy for lower-end personal computers. [3][4]
As computers continued to advance, emulation developers continued to get better at emulation, partly because of the source code for various emulators being made public and people improving and developing techniques for emulating other machines. The introduction and widespread use of dedicated graphics processors helped accelerate this development. With the introduction of 3D graphics in the fifth generation of video game consoles came the introduction of 3D graphics on machines such as the Nintendo 64 and Sony PlayStation. At this point, personal computers had advanced enough to run 2D sprite games at full speed and emulation at this point was becoming more mainstream. While many players were able to play NES/SNES games on their personal computers, no one seemed to understand how to emulate consoles capable of 3D graphics. While personal gaming stations are able to run 3D graphics games, emulation was entirely different simply because most of the consoles were not x86 based machines while personal computers were.
However, the rise of the graphics processing units began to make the prospect more possible. A graphics processing unit is a device meant to offload graphics rendering to a dedicated processor as well as memory separate from the main memory. Before this, graphics were rendered using the CPU and main memory, which was an expensive process. However, the GPUs freed CPU and memory space to focus on other important system tasks. The discussion of emulating a 3D system became a widespread topic on forums and newsgroups. There was also the rise of fake emulators claiming to run Nintendo 64 games that were announced and exposed as being fraudulent. This made the idea of emulating the Nintendo 64 even more far-fetched to most users. There were some real attempts at Nintendo 64 emulation, but most were too slow or had extremely low levels of compatibility.
This changed in January 1999 with the release of an emulator by the name of UltraHLE. Two developers known as Epsilon and RealityMan spent several months developing a new emulator for the Nintendo 64. Not only was this emulator not a fake, but it also ran at surprisingly fast speeds and maintained a decently high level of capability with Nintendo 64 games and even played them at much higher resolutions. This was considered an impossible accomplishment at the time, and the emulator became extremely popular among the community for changing the face of what could be emulated.[5][6] Before UltraHLE, it was believed that if the Nintendo 64 were to be emulated, it would be for several more years, not in 1999. Part of this was because the emulator utilized new and revolutionary techniques of emulation known as High-Level Emulation (HLE) to accomplish rendering the game graphics and sound.
Legal Issues
Even though UltraHLE was considered a revolution in the way of emulating what many had thought couldn't be done, many users chose to use it as a means of acquiring illegal copies of game ROMS to play on the emulator. ROM downloading via ROM sites became quite popular to the point where thousands of downloads were occurring daily, primarily Nintendo 64 games, to play on UltraHLE. The developers responded by discontinuing development and condemning the piracy. [7] Despite this, Nintendo eventually took notice of this activity and announced plans to take the developers to court over what they perceived as severe copyright infringement. This lawsuit was not the only one against emulators at this time.
The same month UltraHLE was released to the public, another emulator by the name of the Connectix Virtual Game Station was released. This was an emulator for the original PlayStation. This was developed by a program named Aaron Giles and would be further developed by a company known as Connectix. The goal was to develop a legitimate console emulator to sell for public use rather than through online forums and downloads. Furthermore, because the PlayStation used CD drives to stop game ROMS, users could place the disk into their computers and play the games directly from there, and easier process compared to the NES emulator since very few could sufficiently extract a game ROM from an NES cartridge[8]. It even came with built-in piracy protection by identifying the disk as either a pirated one or a legitimate copy. Connectix approached Sony, the manufacturers of the PlayStation, about licensing the PlayStation BIOS required for the emulator to work properly. However, Sony declined to license the BIOS. This didn't stop Connectix from creating a custom BIOS to allow the PlayStation and announced the project for PowerPC-based Mac computers.
This caused Sony to perceive the Connectix Virtual Game Station as a serious threat to its business and filed a copyright infringement against Connectix. They went as far as to try to stop the sales of the software while the lawsuit was pending. Eventually, both companies would settle out of court and Sony would end up purchasing Connectix and all rights to the source code and stopped the sales. [9]
Ongoing Debate
References
- ↑ http://www.emulationnation.com/console-emulation/history-of-console-emulators/
- ↑ http://www.textfiles.com/games/CONSOLES/NINTENDO/nes.txt
- ↑ https://www.vice.com/en/article/9a48z3/the-story-of-nesticle-the-ambitious-emulator-that-redefined-retro-gaming
- ↑ https://web.archive.org/web/20030904063111/http://www.nesworld.com/old/emu3.htm
- ↑ https://everything2.com/title/UltraHLE
- ↑ https://www.emulator-zone.com/doc.php/n64/ultrahle.html
- ↑ https://patpend.net/oldpp/1999-01.html
- ↑ https://web-archive-org.proxy.lib.umich.edu/web/19990125104324/http://www.virtualgamestation.com/
- ↑ https://web-archive-org.proxy.lib.umich.edu/web/20070228070634/http://www.ca9.uscourts.gov/ca9/newopinions.nsf/0/66b3a352ea33712988256952007578c2?OpenDocument