+
This will be migrated to the official documentation later...
 +
 
Return to the main [[Frequently Asked Questions]] page.
 
Return to the main [[Frequently Asked Questions]] page.
 
==Why are there so many versions of Galaxian, Donkey Kong, Pac-Man, etc.?==
 
==Why are there so many versions of Galaxian, Donkey Kong, Pac-Man, etc.?==
 
Games were often licensed to other companies for a variety of reasons: the most common was that the makers wished to sell the game in a country or region in which they had no distribution of their own.  In the early 80s, Namco had no US distribution network so their games were licensed to Atari, Bally-Midway, and others.  Conversely, Atari licensed their games to Japanese companies (usually Namco) for sale there.
 
Games were often licensed to other companies for a variety of reasons: the most common was that the makers wished to sell the game in a country or region in which they had no distribution of their own.  In the early 80s, Namco had no US distribution network so their games were licensed to Atari, Bally-Midway, and others.  Conversely, Atari licensed their games to Japanese companies (usually Namco) for sale there.
   −
Sometimes a set of ROMs with a different copyright date is found, or a bootleg set, or another alternate version. When the "parent" game has already been emulated in MAME, these alternates are usually easy to add. In some cases, alternate versions are slightly different: Game levels are in a different order, the game is harder or faster, etc.
+
Sometimes a set of ROMs with a different copyright date is found, or a bootleg set, or another alternate version. When the "parent" game has already been emulated in MAME, these alternates are usually easy to add. In some cases, alternate versions are slightly different: Game levels are in a different order, the game is harder or faster, bugs are fixed, etc.
    
In some cases, ROMs were hacked to run on hardware they were not intended for. For example, when Pac-Man was "hot," some arcade operators found a way to dump Pac-Man ROMs and hack them to work on Scramble machines* so they wouldn't have to purchase extra Pac-Man boards. Since these hacked versions are masterpieces in their own right, the MAME developers have included them.
 
In some cases, ROMs were hacked to run on hardware they were not intended for. For example, when Pac-Man was "hot," some arcade operators found a way to dump Pac-Man ROMs and hack them to work on Scramble machines* so they wouldn't have to purchase extra Pac-Man boards. Since these hacked versions are masterpieces in their own right, the MAME developers have included them.
 
Dumping this code is often a very difficult, or even an impossible task. However, there are sometimes ways to trick the MCU program to bypass the security measures and read the contents. Sometimes, though, the only option for the developer is to guess what the MCU does and simulate it as well as they can.
 
Dumping this code is often a very difficult, or even an impossible task. However, there are sometimes ways to trick the MCU program to bypass the security measures and read the contents. Sometimes, though, the only option for the developer is to guess what the MCU does and simulate it as well as they can.
  
( ! ) Fatal error: Uncaught TypeError: MWExceptionHandler::rollbackMasterChangesAndLog(): Argument #1 ($e) must be of type Exception, Error given, called in /home/mamedev/wiki.mamedev.org/public_html/includes/exception/MWExceptionHandler.php on line 137 and defined in /home/mamedev/wiki.mamedev.org/public_html/includes/exception/MWExceptionHandler.php on line 111
( ! ) TypeError: MWExceptionHandler::rollbackMasterChangesAndLog(): Argument #1 ($e) must be of type Exception, Error given, called in /home/mamedev/wiki.mamedev.org/public_html/includes/exception/MWExceptionHandler.php on line 137 in /home/mamedev/wiki.mamedev.org/public_html/includes/exception/MWExceptionHandler.php on line 111
Call Stack
#TimeMemoryFunctionLocation
10.07462911272MWExceptionHandler::handle( $e = class Error { protected $message = 'Call to undefined function each()'; private $string = ''; protected $code = 0; protected $file = '/home/mamedev/wiki.mamedev.org/public_html/includes/diff/DairikiDiff.php'; protected $line = 436; private array $trace = [0 => [...], 1 => [...], 2 => [...], 3 => [...], 4 => [...], 5 => [...], 6 => [...], 7 => [...], 8 => [...], 9 => [...], 10 => [...], 11 => [...], 12 => [...], 13 => [...], 14 => [...], 15 => [...], 16 => [...], 17 => [...], 18 => [...], 19 => [...], 20 => [...], 21 => [...], 22 => [...]]; private ?Throwable $previous = NULL; public $xdebug_message = '<tr><th align=\'left\' bgcolor=\'#f57900\' colspan="5"><span style=\'background-color: #cc0000; color: #fce94f; font-size: x-large;\'>( ! )</span> Error: Call to undefined function each() in /home/mamedev/wiki.mamedev.org/public_html/includes/diff/DairikiDiff.php on line <i>436</i></th></tr>\n<tr><th align=\'left\' bgcolor=\'#e9b96e\' colspan=\'5\'>Call Stack</th></tr>\n<tr><th align=\'center\' bgcolor=\'#eeeeec\'>#</th><th align=\'left\' bgcolor=\'#eeeeec\'>Time</th><th align=\'left\' bgcolor=\'#eeeeec\'>M' } ).../MWExceptionHandler.php:0
20.07462911304MWExceptionHandler::rollbackMasterChangesAndLog( $e = class Error { protected $message = 'Call to undefined function each()'; private $string = ''; protected $code = 0; protected $file = '/home/mamedev/wiki.mamedev.org/public_html/includes/diff/DairikiDiff.php'; protected $line = 436; private array $trace = [0 => [...], 1 => [...], 2 => [...], 3 => [...], 4 => [...], 5 => [...], 6 => [...], 7 => [...], 8 => [...], 9 => [...], 10 => [...], 11 => [...], 12 => [...], 13 => [...], 14 => [...], 15 => [...], 16 => [...], 17 => [...], 18 => [...], 19 => [...], 20 => [...], 21 => [...], 22 => [...]]; private ?Throwable $previous = NULL; public $xdebug_message = '<tr><th align=\'left\' bgcolor=\'#f57900\' colspan="5"><span style=\'background-color: #cc0000; color: #fce94f; font-size: x-large;\'>( ! )</span> Error: Call to undefined function each() in /home/mamedev/wiki.mamedev.org/public_html/includes/diff/DairikiDiff.php on line <i>436</i></th></tr>\n<tr><th align=\'left\' bgcolor=\'#e9b96e\' colspan=\'5\'>Call Stack</th></tr>\n<tr><th align=\'center\' bgcolor=\'#eeeeec\'>#</th><th align=\'left\' bgcolor=\'#eeeeec\'>Time</th><th align=\'left\' bgcolor=\'#eeeeec\'>M' } ).../MWExceptionHandler.php:137