2.    SPLIT / MERGE. What does this mean?

 

MAME can store ROM sets in three different ways:

 

        ·    Split / Not Merged

        ·    Split / Merged

        ·    Not Split

 

In order to explain the differences, we will use the previous example: “1941 – Counter Attack”. Keep in mind the following table which shows the ROMs for each of the two sets:

 

1941 - World

(main set)

1941 - Japan

(clone set)

41e_30.rom

4136.bin

41e_31.rom

4137.bin

41e_35.rom

4142.bin

41e_36.rom

4143.bin

41_09.rom

41_09.rom

41_18.rom

41_18.rom

41_19.rom

41_19.rom

41_32.rom

41_32.rom

41_gfx1.rom

41_gfx1.rom

41_gfx3.rom

41_gfx3.rom

41_gfx5.rom

41_gfx5.rom

41_gfx7.rom

41_gfx7.rom

 

        2.1.    Method 1: Split / Not Merged

 

In the Split / Not Merged mode, there is an independent file for each ROM set, each containing all the required ROMs for the set. For our example, our two files would be: 1941.zip (containing de 12 ROMs in the left table column) and 1941j.zip (containing the 12 ROMs from the right column).

 

        2.2.    Method 2: Split / Merged

 

By examining the table it can be seen that the last 8 ROMs are identical for both sets. Storing the ROMs in Not Merged means that there will be unnecessary duplication of information, which just wastes storage space. MAME can solve this problem by erasing the duplicated ROMs from each of the clone sets and storing them only in the main set. This way the ROM sets in our example would look like:

 

1941 - World

(main set)

1941 - Japan

(clone set)

41e_30.rom

4136.bin

41e_31.rom

4137.bin

41e_35.rom

4142.bin

41e_36.rom

4143.bin

41_09.rom

 

41_18.rom

 

41_19.rom

 

41_32.rom

 

41_gfx1.rom

 

41_gfx3.rom

 

41_gfx5.rom

 

41_gfx7.rom

 

 

This method reduces the size of the file 1941j.zip without any loss of information, because the ROMs we have erased are kept in the main set. This method is known as Split / Merged.

 

        2.3.    Method 3: Not Split

 

There is one final method: Not Split. If there was an independent file for each set, for MAME version 0.59 there would be a total of 3290 files (the number of sets for v0.59). To reduce that number, ROMs of different sets of a game can be stored in a single file (the main set). In our example, the file would contain:

 

1941 - World

(main set)

1941 - Japan

(clone set)

41e_30.rom

 

41e_31.rom

 

41e_35.rom

 

41e_36.rom

 

41_09.rom

 

41_18.rom

 

41_19.rom

 

41_32.rom

 

41_gfx1.rom

 

41_gfx3.rom

 

41_gfx5.rom

 

41_gfx7.rom

 

4136.bin

 

4137.bin

 

4142.bin

 

4143.bin

 

 

The main set has not only its ROMs but also includes the unique ROMs of the clone set. This way, there is no need to keep the file 1941j.zip as it is empty.

 

In this example only one single file is removed. When you take into consideration that some games have lots of different versions (for example, Pac-Man, Galaxian or Asteroids), we have reduced the number of files from 3290 down to around 1870 – the number of games MAME supports (for version 0.59).

 

        2.4.    Summary

 

In summary, the three different storing modes supported by MAME are:

 

            - Not Split: One single file for each game with all the ROMs of the main set and the clone set.

            - Split: One file for each set.

                        · Not Merged: All the ROMs in all the sets.

                        · Merged: Only the unique ROMs in the clone sets.

 

        2.5.    Final Considerations

 

Is merging really useful to save space, or are we making it more complicated just for the sake of saving some disk space?

 

A good example of the huge space saving that merging can bring is the game “Dungeons & Dragons: Shadow Over Mystara”. In MAME v0.59, this game has 6 sets (this number can vary with future versions). In Split / Not Merged mode, each set sizes 33.3 MB but in Merged mode, 28 MB of redundant ROMs is deleted for each of the clone sets. This represents a total saving of approximately 140 MB!

 

Considering that the complete ROM set in Split / Merged mode for MAME 0.59 is stored in 4 GB, and taking into account this example, we can say that we are saving a couple of GB of space by not using the Split / Not Merged mode.

 

The only real drawback of merging is that the missing redundant ROMs in clone sets means loss of compatibility with other emulators. If other emulators are to be used, we should keep our ROM sets in Split / Not Merged mode.