Version 1.91 - 06/03/2000

© 2000 Bole-Feysot Eric - All rights reserved.


This software is freeware and selling it is not allowed.

This program comes with no warranty of any kind, either expressed or implied. In no event will I be liable for any damages resulting from the proper or improper use of this software.
YOU USE THIS PROGRAM AT YOUR OWN RISK.

If you find any mistakes, you don't understand something or something is missing in this document, feel free to mail me.
I remind you that you are not allowed to distribute roms with emulators.

Table of content

1 - What's new ?
2 -
Introduction
2.1 -
What is RomCenter ?
2.2 -
Requirement
2.3 -
Installation
2.4 -
Quick start
3 -
Functionalities
3.1 -
Running RomCenter
3.2 -
Main window
3.3 -
Changing emulator
3.4 -
Scanning roms
3.5 -
Merging roms
3.6 -
Auditing roms
3.7 - Repairing roms
3.8 -
Changing mame version
3.9 -
Tools
3.10 -
Reports
3.11 -
Special notes on neo-geo games
3.12 -
special notes about 'no good dump known'
4 -
Conclusion
4.1 -
Uninstall
4.2 -
Contact
4.3 -
Distribution
4.4 -
Greetings
5 -
APPENDIX A - Data files specification

1 - What's new ?

25 02 2000 : V 1.90 Split and merge release

- Audit report is displayed in an independent window.
- Split roms (displayed, audited, repaired and reported)
- Merge roms (delete old mame and raine datafiles)
- All windows are screen centered
- Nes rom scanner fixed
- Raine automatic datafile extraction
- New smartlist : display only main games
- New filter : playable
- New display option : Clone level / Set level
- Display options saved in registry
- Some fix in the repair/audit engine

    06 03 2000 : V 1.91  Bug-fix

- Fixed: 1999 year in report
- Fixed: Nes roms detection
- Fixed: French name in some dialog boxes
- Fixed: MoveTo directory check when repairing roms.

16 12 1999 : V 1.80 Snes release
With the help of Jan AxHell from  StArcade

- RomCenter now has its own crc calculator.
- Snes and nes header skipping to calculate real game crc.
- Added some tweaking in the repair engine.
- Refresh list after smartlist selection
- Smartlist flags reset after changing datafile
- Removed useless and dangerous repair options
- Cache file management improved.
- Delete cache file if empty
- No more cache refresh when hiding 'no good dump known'
- Fixed : some repair and audit bugs.
- Fixed : Error when auditing after checking 'hide no good dump known'
- Fixed : Error 'can't move file'
- Fixed : Main window sometimes disappear behind other windows
- Fixed : Roms in duplicated sets are reported as correct
- Fixed : Same result for 'Missing' and 'Incomplete' report 
- Fixed : Updating read only cache file
- Fixed : Trouble if a rom has a '.' in its name
- Fixed : Locomotion problem
- Fixed : Missing clones when merging some sets (rolling thunder...)
- Fixed : Green flag displayed with missing sets when hide no good dump known selected

17 10 1999 : V 1.70  'Audit' release

- Audit and repair engine split (audit button added)
- Audit engine rewritten (no bug known)
- More audit options
- Cancel audit button
- Repair engine rewritten (no bug known)
- More repair options
- Cancel repair button
- Bad rom management improved (move/delete/ignore)
- Error buffering (no more errors messages during audit or repair process)
- Game filter combo box now does nothing if filter is not changed
- Progress info more accurate
- Refresh button also refresh datafile list
- No more messages when loading a datafile with bad roms path
- Error when loading bad datafile fixed
- Romcenter.dat doesn't appear anymore in the emulator list
- Lowercase emulator list.
- Moved some object in the interface.
- Roms not reloaded when quitting option window without changing roms paths.

    20 10 1999 : V 1.71  (bux-fix)

- Fixed: Ngdk in file with clone filename not recognized
- Fixed: Ngdk rom identical to a non identical rom not recognized (moguchan)
- Fixed: Audit, repair and merge of ngdk roms used two times in the same set (jackal)
- Fixed: renaming / copying roms when a bad rom of the same name exist.
- Fixed: Uppercase problem in the datafile (cause file renaming)
- Fixed: Prom rom not copied
- Fixed: NeoGeo filter button
- Fixed: Report window problems when window use large font
- Fixed: Edit button in the report window sometimes doesn't work
- Fixed: 32Ko limitation in the report
- Fixed: Complemented roms not displayed in the report
- Fixed: lock when loading bad datafile
- Fixed: Double refresh when changing roms paths
- Fixed: right button functions
- Fixed: No good dump known roms renamed instead of copied
- Fixed: Crash when recreating same mame datafile
- Fixed: Merging a file rom a corrupted zip file
- Report window redesigned
- 'Missing set' report is now 'Incomplete set'
- 'Missing clone' report is now 'Incomplete clone'
- 'Incomplete x' report does not report empty items anymore.
- Reports, audit, repair and merge are consistent with what is displayed in the list.
- Games flags are darker.
- Focus set on the list after changing emulator (avoid mouse wheel changing in the combo box)
- Focus set on the list after selecting filter.
- Focus set on the list when starting RomCenter
- About window modified
- RomCenter version corrected in the mame data file
- Refresh left list when changing rom paths
- Preliminary support of the windows TEMP directory
- 'End of report' added at the end of the report
- 'Roms are clean' displayed when the audit is clean.
- SmartList system added (for futur use)
- Faster display (no more sort needed)
- Remove useless datafile combo reload
- New logo in the first window
- More progress informations

    23 10 1999 : V 1.72  (bux-fix)

- Fixed: Combo box not refreshed after selecting new datafile
- Fixed: Mame does not appear in the datafile list after importing new mame datafile
- Fixed: Audit correct roms on a smartlist report bad infos
- Fixed: Ignore unknown file does not work when using a smartlist, and all unknown roms are deleted !
- Fixed: Cancel now works during file deletion
- Fixed: Pong is displayed with Space firebird roms
- Fixed: Space firebird disapeared
- Bad file deletion speeded up
- Pong! is displayed with a pseudo rom called 'no roms needed'

07 08 1999 : V 1.60  'Multi emulator' release

- Multi emulator support (thru data files). Mame and Raine provided. More to come...
- Change emulator from the main window
- New audit option window with examples. (No new options yet...)
- Current roms list statistics. (green, yellow and red flag in status bar)
- No more error messages during zip scan.
- Complemented crc handled.
- New 'no good dump known' engine.
- Faster zip scan
- Audit engine improved
- Auto mame version detection removed (now on-demand)
- You can now change directory in 'export NeoGeo' option when disk D is not defined.
- Repeated zip errors messages corrected
- Error messages are in English now

    15 08 1999 : V 1.61 (bug-fix)

- Added rom move to the repair engine.
- Merge error when no roms are available
- File no found when no emulators are selected and building mame data file
- No good dump roms with crc of 00000000 not detected (stupid bug, sorry for that)
- Crater raider bug
- Locomotion bug
- Crazy kong display error
- Emulation path correctly set in new mame data files
- Wait cursor during data building process.
- Wait cursor while option checking
- Status bar font problem fixed
- Build button is default button in mame import dialog
- Drag & drop of files with more than 67 character.
- Repairing write protected roms
- Unknown rom file line for directories in drag & drop report.
- Mame.dat data file line doesn't appear in dropdown list
- Emulator executable display is not updated ofter a mame import
- Left list refreshed after clicking on update button.
- Don't merge if there are nothing to merge.
- Jpg pictures used in html report (for non microsoft browser)
- '.' can be used in data files names
- Support for roms long file names.

09 06 1999 : V 1.50  'Report' release

- 12 html reports available.
- 2 html graphical statistic pages
- Merge process improved (less zip problems)
- Error messages during repair process are collected and displayed at the end
- Unknown roms and files are no more deleted, they are moved to an external directory.
- Now, RomCenter doesn't delete ANY files.
- Some audit optimization
- Unreadable zip files are moved to the RomCenter Badfiles directory.
- More stable zip dll available
- Automatic roms refresh before any audit operation.

12 05 1999 : V 1.40  'Neo Geo' release

- Neo Geo game filter added.
- Neo Geo export tool.
- Flag problem corrected
- 'Play game' button added to contextual menu
- Roms with no good dump known management improved. That correct mame35 b12 flags.
- Write protected roms and zip are correctly handled
- Roms merging process improved.
- Color gradient in windows title...
- Some other bugs corrected

30 04 1999 : V 1.30  'No good dump known' release

- 'No good dump known' roms are now shown with three special flags.
- They are correctly handled during merging and repairing process.
- You can now run games directly from RomCenter
- Some bugs corrected

10 04 1999 : V 1.20  Multiple directories release

- Audit engine created. It handles multiple directories, including read only devices. It is also more accurate.
- New mame roms extractor. It works with latest mame betas and should work for every new releases. It is also faster.
- Repair engine rewritten. It handles multiple directories and read only devices.
- Reports are now displayed thru notepad.
- Audit report available.
- No more crash if you choose Mame32.exe as mame executable (error message displayed instead).
- Merge engine rewritten to handle multiple directories
- tested with vr32mame, neomame etc...
- Link in about box now works
- Hang when mame roms directory doesn't exist corrected
- Error when mame path include spaces corrected
- 'Games not found' on latest mame betas corrected (due to mame inconsistencies)

09 03 1999 : V 1.10  pkzip free release

 - PKZIP and PKUNZIP are no more needed.
 - Full 32 bits supports thru zipdll.dll and unzdll.dll
 - Progress informations improved
 - Zip error handler improved
 - Faster scanner (file input)
 - Some other minors problems fixed.

28 02 1999 : V 1.0 Initial release

2 - Introduction

Welcome to RomCenter and thank you for using this software.

2.1 - What is RomCenter ?

Mame ! Everybody knows today this incredible multi arcade machine emulator. It supports new games everyday, and more and more roms are needed. It supports more than 1200 games, and more than 15000 roms ! Authors try now to merge them in sets, correct bad roms, and add missing roms. But you, how do you know exactly which one are good, bad, missing or no more needed ? When a rom is missing in a game, are you sure it is not already there, but in another set? RomCenter will do all that, and more, for you. It helps me a lot, and now, I release it to public for free. RomCenter's core is a database which holds a hierarchical view of mame supported games based on sets/clones/roms. RomCenter manages for you your mame roms directories. If you get new roms, drag and drop them on RomCenter, see what is inside, and merge them in your mame roms directory. They will be analyzed, renamed, spread and sorted for you, and to check if a game is really working, run it !

Now, RomCenter supports other emulators like Raine, Callus, Rage,  System 16, Snes, Nintendo 64 ... And if yours is not supported, you can do it yourself !

RomCenter features:
- Split and merge suppor
- Multi emulator support thru external files
- Multiple roms directories per emulators
- Powerfull built in crc32 calculator with header skipping function
- Dynamic mame roms retrieval
- Basic front end function
- Rom merging, renaming and spreading
- 'No good dump known' compatible
- Incomplete games and sets detection
- Useless rom files filtering
- Zip files scanner (drag & drop)
- Html reporting
- Professional interface with sensitive tool bar and contextual menus
- Resizable split window
- 32 bits zip support for fast performances
- and more (hot tracking, mouse wheel support...)

2.2 - Requirements

I haven't tried RomCenter on 486, but it should work (slow). Tell me if you try.

You need:
- Zipdll.dll and Unzipdll.dll. They are available for download on the
home page. Copy these dll to your windows\system directory. (winnt\system32 on NT)
- Some disk space to temporary store roms.
- Data files for any emulator (some are provided).
- Emulator if you want to play games.

2.3 -Installation

RomCenter can be launched from anywhere on your hard drive, not from a CD.

- Unzip RomCenter.
The following files will be installed:
- RomCenter.exe : Main executable
- RomCenter.htm : Html documentation (this document)
- rcdoc\... : Documentation files
- datas\... : Emulators data files

You also need zipdll.dll and unzdll.dll. They are available for download on the home page.
Copy these dll to your windows\system directory. (winnt\system32 on NT)

2.4 - Quick start

- Check you have zipdll.dll and unzdll.dll to your windows\system directory. (winnt\system32 on NT)
- Run RomCenter.exe
- RomCenter will load with Raine roms (default).
- Create mame data file with the menu 'files/import mame game'
- You can change emulator with the drop down menu
- Select roms directories in the option window.
- Press the audit button to clean your roms directory.
- Drag & drop new roms zip in the dropping zone
- Click merge to install these roms in the emulator
- Select a game and press play if you want to test it etc...

If RomCenter seems to hang, display the dos console window from the task bar, open the top left system menu, choose properties and check the bottom check box.
Close it manually. It will now close automatically.

 

3 - Functionalities

 

3.1 -Running RomCenter

When you run RomCenter for the first time, it load mame roms list.
The main window appears and you are ready to manage your roms with RomCenter.

3.2 -Main window

 

Main window.
The 'eyes' rom file has been dropped in the 'dropping zone'. The 'zip content' window is updated.
We can see that 'eyes' roms are used in many different sets.

 

The main window is cut in four parts:
 - The files dropping zone (upper left)
 - The general infos area (upper right)
 - The Zip content area (lower left)
 - The merged rom area (lower right)

You can clear the zip content roms area by pressing the clear button.
The file dropping zone is used to import zipped roms in RomCenter. Simply drag files from a directory and drop them in dropping zone.
The general infos area displays informations on the current emulator version and games supported.
The zip content area displays roms which have been recognized in files dropped in dropping zone.
The output rom area shows roms already installed for the emulator. Note that the list shows games which are virtually available (i.e.: the roms are present). The list can report that a game is working, although the emulator report a missing rom. (for example, the rom may be in the wrong set).

You can set filter in the emulator roms menu.

To play a game, select it in the list, and press the play button.

3.3 - Changing emulator

RomCenter supports multiple emulators. This is done thru data files (some are provided and mame and raine are build in). You can switch between emulators with the main window drop down menu. RomCenter load new data and display the roms list.
Parameters like roms directories are defined for each emulator. Go to the option window to select your roms paths. Emulator executable is asked when you run a game, and you can change it in the option menu.
You can make your own data files to manage other emulators. See appendix A for more infos. Also, RomCenter can build mame data files. See
chapter 3.8.

3.4 - Scanning roms

Drag and drop a zip file into the dropping zone. RomCenter scans zip files, and then shows the result in the zip content window. You can set the filter to 'all' or 'new'.
 - 'All' displays all roms detected in zip files.
 - 'New' only shows roms which are not available in the output area (in fact the roms directory).

 A red flag shows you that all roms are missing.
 A yellow flag shows you that some roms are missing.
 A green flag shows you that all roms are available, and the game is playable.
If the flag is crossed, some roms have 'no good dump known'.

 The scanning result is available in a report. Press the report button to display it.
Scanning errors are not displayed. Check them in the report.

3.5 - Merging roms

If you want to copy previously scanned roms in the roms directories, simply press the merge button, and roms will be copied at their right places with their right names. If you manually copy roms to the roms directory, you will need to refresh the output window to take them into account. No roms are deleted in the merging process. This process can take a lot of time. I will go further in optimization in later release, but for now, if you have a huge number of roms to copy, manually copy them to the roms directory and do a repair with RomCenter.

Merging roms follows these rules:
- Roms are copied in their sets if it is available and write-enable.
- If set doesn't exist, it is created in the first write-enabled directory.
- If set exist on a read only device, a second set is created in the first write-enabled directory.

Some mame roms are known as 'no good dump known'. It's mean that these roms weren't available at mame release date. These files are handled correctly in RomCenter. If one is met during the merging process, it is supposed to be good and is merged in sets.

3.6 - Auditing roms 

RomCenter includes an audit engine. It scans all your roms, and check the following rules:

-Correct roms: report correct roms
-Roms with no good dump known: report any roms, correct or not, which have 'no good dump known'.
-Incorrect zip filenames: detect if a zip filename doesn't match the roms inside the zip. The filename detection is based on roms stored inside the zip. If zip content are unknown, the file is not reported here, but in the 'Unknwon roms' rule.
-Incorrect roms filenames: report roms with correct crc, but incorrect name.
-Roms in bad zip file: report roms not used in the current zip, but needed in other zip.
-Unknown roms: report files which crc doesn't match any known rom crc.
-Roms required in other sets: report if a rom is required and missing in other zip than the current one. 
-Corrupted files: Handle corrupted zip files. Choose if you want to move, delete or ignore them. If corrupted files are found, a message box will appear at the end of the audit, showing the list of files.

-Refresh internal cache: Use the real rom list from the disk instead of files from the romcenter.dat file. Use this option if you manually change your roms files.

You can choose which rules to check in the option window.
Click 'cancel' to abort the process.
When the audit ends, a report window appears showing the status of your roms. If you want to save or print it, click 'edit' to have the file in your favorite editor.

3.7 - Repairing roms

Click the repair button to launch the process. An option window pops up. It allows you to select repair options :

-Handle useless files and roms: Move, delete or ignore unknown files and roms.
-Handle corrupted files: Move, delete or ignore corrupted files.

Click the 'OK' button to run the repair process. At the end, a special report is shown if problems occured during the process.
Click 'cancel' to abort the process.

The repairing engine follows these rules:

- A rom is copied in its set if it is available and not on a read only device.
- If set doesn't exist, it is created in the first directory (no read only).
- If set exist on a read only device, a second set is created in the first write-enabled directory.

- Only on zip per set (except when a read only device is used)
- All roms are at the same level in the zip (no subdirectories)
- if possible, Roms names will match rom names of the main clone
- Neo-Geo bios files are moved to neogeo.zip archive, and removed from all NeoGeo games

WARNING: - The mame directory itself is often in the mame roms paths. If you have original mame zip file here, it will be detected and handled as unknown file.

3.8 - Changing mame version

Note: To use this feature, you need mame 0.34 or better ( mame must support the -listinfos option). Neomame and others derivatives are also working but mame32 doesn't.

RomCenter has a built-in engine to create mame data files from mame executable.
To create a new data file:

- Install your mame version
- Run RomCenter and click the menu File/Import mame games.
A file selector appears.
- Select your mame.exe
A window appears, showing the mame version.
- Give the name you want to give to the new data file. This name will appear in the emulator drop down menu of the main window.
RomCenter scans mame and load roms list.

This process is needed only one time per mame version. you can make as many data files you want.

Proceed the same way with raine emulator.

3.9 -Tools

These tools are available from the main menu.

- Export NeoGeo sets (files menu) (mame only)
This tool allows you to move or copy NeoGeo sets into a directory. You can choose to export all sets, or only working sets (with a green flag).

3.10 -Reports

RomCenter includes a wide variety of reports (available thru report menu), and you should find what you need. If you don't, send me an e-mail. Some report are only available with mame.
These reports are in html and are displayed using your preferred browser. They are stored in
c:\temp\ and the name is RomCenterReport.htm

3.11 -Special notes about neo-geo games

To optimize disk space, NeoGeo bios files are removed from all NeoGeo games and put in a new set called neo-geo. This set is needed for every NeoGeo games to work. As a side effect, RomCenter will report that a NeoGeo game is complete, even if the bios files are missing. This is not a bug.

3.12 -Special notes about 'no good dump known' roms

Some games supported by mame are not playable due to bad rom dump; They are known as 'no good dump known' roms, and their crc is always '00000000'. RomCenter relies on their names to identify these roms and it can only detect them if they are in their correct zip archives.
For example, if pacman.rom has no god dump known, it is only detected if it is in the pacman.zip archive.

New complemented crc are detected with their crc. They are displayed with a crossed icon only when the file is available.

4 - Conclusion
4.1 - Uninstall

To uninstall RomCenter, delete RomCenter executable, doc and games.dat file, and remove the entry HKEY_CURRENT_USER/SOFTWARE/ROMCENTER in the registry.

4.2 - Contact

You can reach me at romcenter@emuhq.com. Send me bugs, ideas, new features you like to see, greetings, phonecards etc...

4.3 - Distribution

Home page :http:/romcenter.emuhq.com

RomCenter news are also provided at:

EmuHQ www.emuhq.com
Vintage Gaming (Daves vgc) www.vintagegaming.com
Retrogames www.retrogames.com
Emulatronia www.emulatronia.com/ (Spa)
Mameworld mameworld.retrogames.com
Arcade @ home www.arcadeathome.com/
Emulation excitement www.emux.com
GeoShock geoshock.dhs.org
iVilDeD home.swipnet.se/iVilDeD
Emumania www.emumania.com
Emulation number 9 http://navarone.virtualave.net/ (jap)
Sys 2064 sys2064.emulationworld.com/
Romblvd www.romblvd.com
snarkofagen home.swipnet.se/snarkofagen
DreamScape members.home.net/baxtrom

      

4.4 - Greetings

First, I want to thank all people who write me. Thank you very much for the support.

Big thanks to Jan AxHell from StArcadefor his help on SNES part.

The following freeware Delphi components are used, thank you to their authors.

- URLLabel by Filippo Passeggieri
- E-Mail:
passeggieri@geocities.com

- DelZip by Chris Vleghert
- E-Mail:
cvleghrt@worldonline.nl
- WWW:
http://members.tripod.lycos.nl/Vleghert/

- TFriendlyStatusBar by Ivan Azic
- E-mail:
ivan.azic@zd.tel.hr
- WWW:
http://jagor.srce.hr/~iazic/

- ComboBox97 by Favio E. Ugalde Corral
- E-Mail:
fugalde@geocities.com
- WWW:
http://www.geocities.com/~fugalde

- Gradient form by B. Stowers
- Email:
bstowers@pobox.com
- WWW:
http://www.pobox.com/~bstowers/delphi/

Enjoy...

5 - APPENDIX A - Datas files specification

This chapter goal is to allow you to create your own data files to manage your favorite emulator roms

Requirements:
    - A list of zipped roms
    - DataMa utility (
romcenter.emuhq.com)

DataMa is an utility which allow any user to build a datafile from a list of rom. The datafile can be used immediately in romcenter.

Here are more informations on the datafile structure (rev 1.62)

RomCenter data files is mainly an ini file.
Here is a sample:

[CREDITS] (Textual informations (not used yet)))
Author=Eric Bole-Feysot - ebolefeysot@bigfoot.com
Version=1.0 - 01 aug 1999
(Version of this file)
Comment=Please report any errors to ebolefeysot@bigfoot.com
[DAT]
version=1.62
(Version of the data file structure. Don't change)
[EMULATOR]
refname=raine
(Generic name of the emulator)
version=Raine v 0.24a
(Version of the emulator)
exe=d:\arcade\raine\raine.exe
(Emulator executable)
playcmd=-nogui -game
(Command line options to run game)
romspaths=d:\arcade\raine\ziproms\;f:\raine\;d:\download\emul\raine\;
(Roms paths)
[GAMES]
(roms list)
¬64Street¬64th Street¬64Street¬64th Street¬64th_04.rom¬98f83ef6¬N¬N¬524288¬
...
Format is
¬set dos name¬set full name¬clone dos name¬clone full name¬rom name¬rom crc¬N¬N¬size¬
The fields 'N' are only used in mame. Do not change them.

Good luck, and feel free to send me your data files to include them in future releases.