Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
ROM image
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Copy protection mechanisms === While ROM images are often used as a means of preserving the history of computer games, they are also often used to facilitate the unauthorized copying and redistribution of modern games. Viewing this as potentially reducing sales of their products, many game companies have incorporated features into newer games which are designed to prevent copying, while still allowing the original game to be played. For instance, the [[GameCube]] uses non-standard 8 cm DVD-like optical media, which for a long time prevented games stored on those discs from being copied. It was not until a [[security hole]] was found in [[Phantasy Star Online|Phantasy Star Online Episode I & II]] that GameCube games could be successfully copied, using the GameCube itself to read the discs. [[SNK Playmore|SNK]] also employed a method of copy prevention on their [[Neo Geo (console)|Neo Geo]] games, starting with ''[[The King of Fighters]]'' in 1999, which used an encryption algorithm on the graphics ROMs to prevent them from being played in an emulator. Many thought that this would mark the end of Neo Geo emulation. However, as early as 2000, [[Security hacker|hackers]] found a way to decrypt and dump the ROMs successfully, making them playable once again in a Neo Geo emulator. Another company which used to employ methods of copy prevention on their arcade games was [[Capcom]], which is known for its [[CP System II|CPS-2]] arcade board. This contained a heavy copy protection algorithm which was not broken until 7 years after the system's release in 1993. The original crack by the CPS2Shock Team was not a true emulation of the protection because it used XOR tables to bypass the original encryption and allow the game to play in an emulator. Their stated intent was to wait until CPS-2 games were no longer profitable to release the decryption method (three years after the last game release).<ref>CPS2Shock (2001-jan-07) [http://cps2shock.retrogames.com/ The Future Intent of CPS2shock], accessed 2007-aug-10</ref> The full decryption algorithm was cracked in 2007 by Nicola Salmoria, Andreas Naive and Charles MacDonald of the [[MAME]] development team. Another copy prevention technique used in cartridge-games was to have the game attempt to write to ROM. On an authentic cartridge this would do nothing; however, emulators would often allow the write to succeed. Pirate cartridges also often used writable chips instead of ROM. By reading the value back to see whether the write succeeded, the game could tell whether it was running from an authentic cartridge. Alternatively, the game may simply attempt to overwrite critical program instructions, which if successful renders it unplayable. Some games, such as Game Boy games, also had other hardware such as memory bank controllers connected to the [[bus (computing)|cartridge bus]]. The game would send data to this hardware by attempting to write it to specific areas of ROM; thus, if the ROM were writable, this process would corrupt data. Capcom's latest arcade board is the [[CPS-3]]. This was resistant to emulation attempts until June 2007, when the encryption method was [[Reverse engineering|reverse-engineered]] by Andreas Naive. It is currently implemented by [[MAME]] and a variant of the CPS-2 emulator Nebula.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)