5.1.    BIOS files


The best way to understand what a BIOS file is, is through an example. Let’s take a look at the NEO-GEO games. All of them require the following 4 ROMs:







Having these 4 ROMs in every single NEO-GEO set means having a lot of redundant files, so it was decided to store them in a separated file, what would be called a BIOS file, and when running one of the NEO-GEO games, MAME will look for those ROMs in the BIOS file. This file is neogeo.zip


In MAME 0.62, there are 6 BIOS files: cvs.zip, decocass.zip, neogeo.zip, pgm.zip, playch10.zip and skns.zip


The problem with these type of files is that ClrMame Pro doesn’t update them so when after a scanning process we have some BIOS errors, we must correct them manually.


The most common error arises when in a new MAME release is included a new BIOS file. When we update our ROM set, this new file won’t be automatically copied to the ROMs folder so if after the update we scan our ROM set, the Scanner would report that BIOS file as missing. To solve this, we must copy the file in the ROMs folder (the most recent example of this problem is the update from MAME v0.61 to v0.62, where the new skns.zip BIOS file has been included).


Another possible error is the renaming of some of the ROMs inside a BIOS file. We must again manually perform the update by changing the name to the correct one (this has happened with some of the ROMs in the neogeo.zip BIOS file).


        5.2.    Fixfile creation: mamediff and the Rebuilder


Imagine you have a complete MAME ROM set (for example v0.62) and you want to send to a friend the update CDs required to update his v0.60 ROM set. One possible way to do this is sending him the full set, but there is another way in which you would only be sending him the files required to perform the update (in his v0.60 ROM set he has almost everything required for v0.62, so no need to send him the full set).


To do this, we are going to produce a dat file for the required files, and then we will create the files using our complete ROM set.


        5.2.a.    Dat file creation


We will need a small utility called mamediff, whose author, Logiqx, has available in his web site:




First, we must get the exe files for the MAME versions we are going to use (in our example, v0.60 and v0.62). These are available in the MAME official site:




Once we have obtained these files, mame060.exe and mame062.exe (the exes must be renamed to avoid overwriting one with the other when unzipping them) we open a DOS box and type the following commands:


mame060 –listinfo > mame060.txt

mame062 –listinfo > mame062.txt


This will produce two text files (quite big) with the information of the full ROM set of each MAME version, that mamediff will later use to create the dat file. We must copy these two text files to the mamediff folder.


Now you have to type one of the following commands(be careful with the capitals, as the program is case sensitive):


mamediff –N –T mame060.txt mame062.txt

mamediff –M –T mame060.txt mame062.txt

mamediff –S –T mame060.txt mame062.txt


Option –N is for Split / Not Merged ROM sets, option –M for Not Split and option –S for Split / Merged.


This will generate the file mamediff.dat, which is the dat file we will now use with ClrMame Pro to create the required files to perform the update.


        5.2.b.    File creation


Open ClrMame Pro and load the dat file as explained in sections 4.1 and 4.2 of this guide.


In the Main Windows, press “Rebuilder”.



In Source, select the folder where you store your complete MAME v0.62 ROM set.


In Destination, the folder where you want to create the update files.


In Merge Options select the ROM set type using the following table:


Merge Options

Tipo de ROM set

No Merging

Split / Not Merged

Split Sets

Split / Merged

Merge Sets

Not Split


In Options, check Zip Files and Rebuild 0-CRCs (Bad Dumps).


Press Advanced... The following window pops up:



Check Recompress Files and Separate BIOS Sets and close the window.


Press Rebuild...


Once the process is done, you will have in the destination folder the files required to update from v0.60 to v0.62 (what we called fixfiles in sections 3 and 4). To perform the update itself, just go back to section 4 in this guide.