5.
ADITIONAL INFORMATION
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:
|
neo-geo.rom |
|
ng-sm1.rom |
|
ng-lo.rom |
|
ng-sfix.rom |
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.