00-10-03 Stockholm, Sweden - SortInfo 1.1
=========================================
Have you ever tried to find an answer to questions like what games in MAME do support a trackball or what is the status of the drivers? I did and soon found out that most of the information is provided if you run MAME with the -listinfo command line parameter. So I initially tried to parse the information with grep but there is one problem. The information is not provided as a one line of information per game. The organisation is more like the source code of structured programming.

I studied the structure and started to make a program to parse and process the information in a user-friendly way. I was initially just interested in the information about controls but I soon realised that it would be easy to add support for more information. I didn't include support for all the information provided by the -listinfo command because there are other tools for that. One good example of a program that uses the information in the rom sections is ClrMamePro.

This program is and will stay freeware and I release it to the public because it might be useful for other people than me. Please send feedback and information about any bugs to: robert.palmqvist@home.se

The documentation is quite sparse but here are some general information:

Installation
------------
No installation needed just run SortInfo.exe. The program doesn't write to the registry or to any ini files etc. so just delete SortInfo.exe to uninstall.

Operation
---------
You have to import information the first time that you use the program. The import option "Mame Executable" should now work on any Win32 platform (but I havn't had a chance to try it out under Win2k yet).

If you can't import from MAME then make a listinfo file by running MAME with the following command line: "MAME -listinfo > listinfo.txt". MAME should then make a file named "listinfo.txt" and that one can be imported as a "List Info File".

You should now be able to view the information in different views and to sort it by clicking the different column headers. You are also provided with some graphical feedback. Original games are presented with an image of a PCB and clones are presented with a "Dolly-sheep". The background will be green if all driver items are ok and red if any item is imperfect. Any other state will have a yellow background. Items can be selected and removed from the list. You can also save different lists in the SortInfo native format or export it in different formats.

One way to export the data is in the format of a "Comma Separated Value File". This file can easily be imported in Microsoft products like: Excel, Access and SQL-Server. You can also export the data in any format you like by using something I call a "Argument Template File". Provide a template where arguments will be exchanged for the needed data per item and line. Press F1 for a list of valid arguments.

Mame doesn't provide category and version information as part of the listinfo data stream. But that information can be imported from a file in the catver.ini format. The catver file is part of the mame frontend Arcade@Home and can be downloaded from www.arcadeathome.com.

SortInfo do support drag & drop and command line arguments. It will try to guess what you want to do. E.g. if will try to import executable if you drop mame.exe on it and import category and version information if you drop catver.ini on it etc. Files with unknown file extensions will be handled as list info files. 

Example of use
--------------
Task 1: Copy all rom files with trackball support.
1. Load listinfo data
2. Select the input view
3. Sort on control
4. Select all trackball games
5. Invert selection
6. Delete selection
7. Use template 'copy %a.zip %1' and export to argument template file "trackcpy.bat"

You can now run trackcpy.bat <target dir> to copy your rom files to "target dir".

Task 2: Make a list of filenames and their titles.
1. Load listinfo data
2. Use template '%a.zip = "%b"' and export to argument template file "titles.txt"

You will now have a list of all the games in the format: "filename = "Title"".

History
=======
Legend: + Added | - Removed | * Changed | ! Fixed |

00-08-26 Version 1.0
--------------------
Fist official release.

00-10-03 Version 1.1
--------------------
! Parsing engine now accept valid DOS file name characters like underscore etc. Thanks to Pi Juan John for the bug report and beta testing.

Have fun / Robert Palmqvist a.k.a. EmuMannen