FAQ:General Games: Difference between revisions

From MAMEDEV Wiki
m (Dallas update)
 
Line 26: Line 26:
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.


Of course, it gets even better if all of these are combined. The Dallas DS5002FP security chip (manufactured by Dallas Semiconductor) combines encryption of the internal ROM with a sort-of suicide battery that destroys the contents of the internal ROM if it is tampered with. It is also completely custom as opposed to for example the M68705 which has been used in many arcade games (for example Bubble Bobble) and therefore there is a lot of information available about it on the Internet. The Dallas security chip prevented a lot of Gaelco games from being emulated, for example, up until Peter Wilhelmsen and Morten Shearman Kirkegaard cracked it on behalf of MAME. [http://www.afdelingp.dk/files/articles/ds5002fp/ds5002fp.pdf The process they described] is not easy.
Of course, it gets even better if all of these are combined. The Dallas DS5002FP security chip (manufactured by Dallas Semiconductor) combines encryption of the internal ROM with a sort-of suicide battery that destroys the contents of the internal ROM if it is tampered with. It is also completely custom as opposed to for example the M68705 which has been used in many arcade games (for example Bubble Bobble) and therefore there is a lot of information available about it on the Internet. This Dallas security chip prevented a lot of Gaelco games from being emulated, for example, up until Peter Wilhelmsen and Morten Shearman Kirkegaard cracked it on behalf of MAME. [http://www.afdelingp.dk/files/articles/ds5002fp/ds5002fp.pdf The process they described] is not easy.


==What are "custom chips"?==
==What are "custom chips"?==

Latest revision as of 18:04, 28 September 2017

This will be migrated to the official documentation later...

Return to the main Frequently Asked Questions page.

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.

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.

  • Apparently, Scramble's board was especially easy to re-use; several games were hacked to play on it. A long-running joke with MAME enthusiasts is that anything can be run on Scramble hardware - N64 games, your toaster, your automatic garage door, etc. :?) (Ironically, Scramble itself was hacked to play on Galaxian hardware!)

How are video arcade games copy-protected, and why?

Arcade games are protected for the same reason as any other: piracy (specifically in the form of bootlegs - the same game adapted to run on cheaper hardware so that it could be sold to operators for less money).

One of the most devious methods - unhackable until MAME - was Atari's "Slapstic" security chip. When the game was run, the game code checked for the security board in various ways. If it wasn't there, the game malfunctioned or refused to run. (This is similar to the hardware "dongle" protection used by some high-end PC software.) Since the security chip came only with purchased games, copies of the ROMs were unusable. This is why games like Marble Madness and Indiana Jones could previously not be emulated, though their ROMs were available.

Another way to protect ROMs was to encrypt them. A custom CPU or special chips on the main board decoded (decrypted) the data as it ran the game. Copying the ROMs was futile unless the encryption system had been "broken". As such, it is difficult to extract the key and decryption algorithm from these chips, but weaknesses in the algorithms or their implementation can be exploited to recover the algorithm and/or the key. Encryption can affect graphics (as in the case of later Neo Geo games and Funky Jet), sound (as in some Seibu games), program code (as in Sega System 16/18, Capcom CPS-2 and -3, or the C-Chip in many Taito games), sprites (as in Raiden II), or a combination of things.

Some systems store the key in battery backed RAM, instead of ROM. This insures that altering the data or trying to dump the decryption key will disable your board. This is also known as a "suicide battery" - the board would be rendered useless if the battery dies or is disconnected. This is used on a number of boards, for example Capcom's CPS-2, CPS-3 and Sega's System 16 and System 18 boards.

Yet another method of copy protection is an MCU (microcontroller unit), which is a custom processor, and can have an internal ROM inside it. This holds either program code or important data for the game and only allows the game to access it under certain conditions.

These dedicated protection devices can be used for a multitude of protective tasks. They can perform collision detection between rectangles or other simple math operations (Sega and Konami both did this a lot), they can do DMA transfers (Konami K055550, seen in Violent Storm and Monster Maulers), they can pull sprite data out of work RAM and generate a priority-sorted display list in sprite RAM (many Konami games starting with TMNT 2), set up palette RAM (Konami did this, as did Atari), return executable code that the main CPU runs (Taito liked to do this) - without the device the code is invalid and the CPU crashes - or they can set magic values in RAM that the main game code needs to function (Sega did this a lot, and Run and Gun seems to also).

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.

Of course, it gets even better if all of these are combined. The Dallas DS5002FP security chip (manufactured by Dallas Semiconductor) combines encryption of the internal ROM with a sort-of suicide battery that destroys the contents of the internal ROM if it is tampered with. It is also completely custom as opposed to for example the M68705 which has been used in many arcade games (for example Bubble Bobble) and therefore there is a lot of information available about it on the Internet. This Dallas security chip prevented a lot of Gaelco games from being emulated, for example, up until Peter Wilhelmsen and Morten Shearman Kirkegaard cracked it on behalf of MAME. The process they described is not easy.

What are "custom chips"?

Custom chips are chips that were specifically designed by the game manufacturer, usually for one specific hardware system (although that doesn't have to be the case - Konami and Taito both heavily reused their customs across multiple PCBs and systems). These chips are often what gives a game it's special features that make it stand out, in much the same way that the Commodore Amiga was defined largely by the capabilities of it's custom chips.

Most typically the graphics hardware of a game is on a custom chip (or an FPGA in the case of newer games), while the CPU, sound, and other hardware are off-the-shelf parts from makers like Motorola, Zilog, or Yamaha. In earlier games, when the technology wasn't yet capable of allowing cheap production of high-powered custom chips, often large arrays of simple logic gates (so-called "74xx-series" chips) were used to perform the same function. Also, while a majority of games used stock audio hardware, Sega, Namco, and Konami all used custom audio processors to try and gain an additional advantage.

Sometimes "semi-custom" chips were used - these were custom-made for a home computer or console but ended up being pressed into arcade service. For instance, Sega used the Genesis/Megadrive video chip to provide additional layers in System 18, and later used the Saturn's SCSP sound processor in Model 2 and 3. (I am not counting arcade systems based entirely on their home counterparts here).

What is a bootleg version?

The most accurate definition in relation to arcade games is "unauthorized pirate version". Usually this word is used to refer to the games that are hacked or ported to different hardware by someone other than the game manufacturer. Often this is coupled with removing the copy protection, and the bootleggers may also have modified the game itself. Frequently the game is also degraded to run on lower-cost hardware, increasing the bootlegger's profits. Amusingly, many bootlegs include their own new protection scheme to prevent other bootleggers from using it.

What are flyers?

A "flyer" is a printed advertisement. For arcade games, flyers were primarily used to entice operators into buying a new game. Some were also aimed at game players so that they would demand their local operators to buy specific games.

You can see flyers for thousands of games at The Arcade Flyer Archive and Flyer Fever.

What are the Mahjong games doing in MAME?

Mahjong is very popular in Japan, so literally dozens (if not hundreds) of mahjong games have been made for JDM consumption. While this may seem strange to people outside of Japan, there are other similar situations in the world of sport. American football, cricket, and rugby each are big sellers in specific countries and largely unheard of elsewhere.

Anyway, mahjong isn't actually too hard to learn, and it can greatly expand your selection of puzzle/strategy type games. Several online guides exist, including Introduction to Ma-Jan Video Games (archived), SYS 2064 (archived), Mahjong for Dummies, and Mahjong In MAME, which teaches you Mahjong using MAME and some of the mahjong games it emulates.

How do I play Truco / Hanafuda / Shougi?

Like mahjong, there are many online guides. Use your favorite search engine, or try these to get you started: Truco, Hanafuda, and Shougi.

Can I build my own arcade cabinet?

Certainly, depending on your woodworking skills. Instructions, examples, and guidance can be found on Constructing Cabinets and Build Your Own Arcade Controls. There are/were also pre-made cabinets available from Hanaho Games and Dream Arcades.