ROM (Rivers of Mud) is one of the more popularflavors of MUD code. It is a very ugly, kludgy peice of work that we all love anyways. It provides good stability and a place for you to start on your brand spanking new mud. Despite the inherent difficulty in coding ROM, dozens of new muds crop up every day and post messages to the mailing list about why they get errors when they type make. If ever yhere was a need to say read the FAQ, it's right then.

One of the results of the availability of consoleemulators was the desire for roms to play on them. In most cases, a rom is simply a dump of a cartridge that is then loaded into the emulator. In most cases, this is blatantcopyrighttheft, and as a result sites carrying them tended to be shut down. Requests for roms are common on newsgroups and message boards, and the term has now expanded to cover files for all emulators - an Amigadisk image is thus a "rom", as is a tape image from a spectrum. Also commonly corrupted to romz or r0mz (as in "Wh3r3 4r3 th3 r0mz, dud3z?????????????!!!!!!!!!!!!!!!!!??")

In emulation, ROM refers to a ROM image taking by dumping the data from a game's ROM chips. On arcade boards this is done by removing each chip (they are usually socketed) and reading the information from them one at a time. For cartridge-based systems, hardware is usually available to read the data from the cartridge into a standardized data format. If no such hardware is available, the ROM chips can be read individually in the same fashion as an arcade game. The process is not limited to just game information. System software (such as a BIOS) can be dumped into a ROM or data from floppies used on an old computer system can be read in its raw format and then saved, to be later read by an emulator.

Dumping the data can be made difficult by encryption or compression of data. Some cartridge games included specialized chips that handled data compression and often there is little to no information available about how these chips operate. Later NeoGeo carts had the data on the ROMs stored in an encrypted form and decrypted before being being sent to the CPU.

ROMs can range in size from 2 KB for Atari 2600 games to over 80MB for newer arcade games or the NeoGeo carts.

Now that is one "Original" game, and 11 clones. That wouldn't be much of a problem except for the fact that the version everyone actually wants to play (Pac-Man), is one of the clones. You need the original in order to play the clones. So in order to play Pac-Man you have to have Puckman clogging up your game menu as well.

Lets look at one more common example before I go on to provide the solution to the problem.

The "Original" version of Wonderboy in Monster Land (and many other Sega titles) does not work. Only a clone version works. So in order to play the working clone, you have to have the non-working "original" clogging up your game menu.

Mame32 does provide some pretty good sorting abilities. You can view only "original" games, or only "available" games, and many other options. But none of them provide the solution of hiding clones, except for the games that don't have working "originals" (and hiding the "original" versions in that case).

Deleting all unneeded clones is a big step in the right direction. But that still leaves you with a bunch of duplicate games to clog up your menu system. You are going to have Pac-Man and Puckman, and tons of non-working originals just waiting to be accidently selected.

The solution is really rather simple. All you have to do is dump the files from the "original" game into the zip archive of the "clone" game (when both archives have a file with the same name, keep the one that was already in the clone archive). Then you can delete the "original" and the clone will remain on your menu, while the useless "originals" will be gone. This allows you to just keep one working version of each game, and get rid of all the useless duplicates. This doesn't just work for MAME, it works for most arcade emulators that use "original" and "clone" archives.

This is also usefull for people who are concerned about legality. Perhaps you do own* a US version X-Men Vs. Street FighterPCB, thus giving you the legal right to play that game. But you don't own the "Euro" version, which is the "original" under MAME. You can use the same method described above to create a single legal archive of the ROMs that are actually contained on your boardset.

*In my case I do own a Ring King boardset, but I do not own "King of Boxer", which is the "original" version under MAME.