3 releases
0.1.5 | Aug 3, 2023 |
---|---|
0.1.2 | Feb 13, 2023 |
0.1.1 | Feb 8, 2023 |
#7 in #mame
66KB
1.5K
SLoC
roms-curator
Helper utility to manage Sets of ROMs. Currently only works for MAME ROMs, for example to create a working only ROM Set.
Possible usages might include:
-
As an Application to create a new ROM Set separating working and non-working ROMs (including CHDs)
-
As a Library if you want to categorize your entire collection and do with it what you will.
Index
- Requirement / Dependencies
- How this works
- Application run instructions
- Build instructions
- Library usage instructions
- FAQ
- Useful links
- Help
- Planned for the future (maybe)
Requirement / Dependencies
This program has 2 external dependencies that are not included here, but are easy to get:
- MAME ROM database (xml file)
- download MAME from here. keep in mind that you need the version that corresponds to your ROM Set version.
- then extract the database:
mame.exe -listxml > mame-roms.xml
- ROM categories file
- MAME does not categorize ROMs (some exceptions),
to categorize ROMs we need a
MAME Support File
file which can be downloaded here. - download the package for your ROMs Set version and extract the
catver.ini
file.
- MAME does not categorize ROMs (some exceptions),
to categorize ROMs we need a
How this works
roms-curator
will use mame.xml
, catver.ini
and some custom logic
(from trial and error) to go through your ROM collection and categorize all
ROMs with working
or not-working
states as well as specific sub-categories,
like type of ROM/game (bios, system, mechanical, etc). From here it will copy
your ROMs to a subdirectory in the specified destination_dir
.
It can also generate a report with all copied files and/or errors encountered.
Sub-directories include:
- working: for all ROM files in working/playable state (excluding ROMs with CHD dependencies).
- other: for all ROM files NOT in working/playable state (excluding ROMs with CHD dependencies). This also includes bios, system, casino, mechanical and some other non-playable ROMs.
- chd_working: for all CHDs and ROMs dependent on CHD files in working/playable state.
- chd_other: for all CHDs and ROMs dependent on CHD files NOT in working/playable state.
Having the ROMs categorized in these sub-folders will allow you to only import working ROMs (working folder) into your mame front-end, while still giving MAME executable access to all ROMs by adding all directories as ROMs directories (this is needed because of ROM dependency, like a working ROM needing a bios ROM or a CHD ROM to work properly).
You might also want to reduce the size of your collection and one way to
achieve that without breaking anything is to delete the non-working CHD directories.
Complete Set of CHD files can be 500+ GB
.
Application run instructions
See here
Build instructions
See here
Library usage instructions
See here
FAQ
See here
Useful links
Help
Please feel free to open an Issue if:
- You encounter any problems;
- Something is missing from the documentation material or hard to understand;
- Have any improvement suggestions or feature request.
Planned for the future (maybe)
- Add option to automatically download dependencies (mame xml and catver.ini).
- Verify ROM Set integrity.
Dependencies
~12–22MB
~267K SLoC