Any chance someone could come up some documentation, or even a ListGen Front-End to make life easier for us tards?
In lieu of proper documentation or a frontend, try this:
1) Download and extract the latest version of
listgen.
2) Edit the listgen.ini and change the
rompath and
mamepath to match your setup.
3) Make sure
skip_final_step is set to 1.
4) Save and close listgen.ini
5) Copy filter.sql to filter.sql.backup
6) Edit filter.sql and delete everything in there.
7) Add SQL statements in filter.sql to taste. It's pretty easy to take an existing SQL statement and change it to output whatever you want.
For example,
-- /-Y means "prompt before overwrite"
-- will output a textfile with a bunch of lines
-- like
-- move /-Y c:\mame\roms\11beat.zip c:\mame\oldroms\
--
-- rename xxx.txt to moveroms.bat, then run moveroms.bat from the commandline
SELECT 'move /-Y c:\mame\roms\' || romname || '.zip c:\mame\oldroms\'
FROM gamedata
WHERE year >= '1990'
;
8) Rename xxx.txt to moveroms.bat
9) type moveroms.bat
I've posted some pretty decent SQL in this forum before, and I don't mind being a "goto guy" for requests for more. I'll see if I can add a quick webpage today that will list some good ones.
For good measure, here's another one I posted not too long ago:
-- This SQL will give you a batch file that when run, will move all roms that
-- are clones and have parents that have a MAME status as 'good', but NOT
-- clones who's parents are not working. (effectively leaving you with the most
-- complete list of working games, but none of the extra clones)
SELECT 'move c:\mame\roms\' || a.romname || '.zip c:\mame\old_cloneroms'
FROM gamedata a, gamedata b
WHERE a.isclone = 1
AND a.cloneof = b.romname
AND NOT (b.status = 'preliminary' AND a.status = 'good')
ORDER BY a.romname
;
Once again, put this SQL in your filter.sql file and run listgen.exe. Then rename xxx.txt to moveroms.bat and run it.
To change this to only get newer games (leaving you with only pre-1990 games after you run the output), add a "AND a.year >= '1990'" before the "ORDER BY" line:
SELECT 'move c:\mame\roms\' || a.romname || '.zip c:\mame\old_cloneroms'
FROM gamedata a, gamedata b
WHERE a.isclone = 1
AND a.cloneof = b.romname
AND NOT (b.status = 'preliminary' AND a.status = 'good')
AND a.year >= '1990'
ORDER BY a.romname
;
I'll see about getting that list of helpful SQL today.
-sab