This tool handles two types of usage :
- generate retroarch sorted romsets (fbneo, mame2003, mame2003plus, mame2010, regular mame) keeping only the games referenced in the BestArcade list, above and equal to the working state level you choose.
- generate dedicated romsets : custom mame based on Best Arcade list, neo geo aes set, atomiswave set, naomi set, handheld set
FbNeo version currently tested is Apr 30th, 2024 Handheld supported romset is currently at mame 0.265 level
- It's not clrmamepro and will not check that your romsets files are in the right version number
- It only works with non-merged sets, split and merged sets are not supported, use clrmamepro to generate non-merged sets if needed. However very few clones ares used, so it should be mostly ok with other type of sets.
- CHD are handled, decompressed CHD folder for each games must be located inside your CHD folder or will default to romset directory (i.e your CHD directory should contain
kinst.zip
rom andkinst
chd folder at the same level) - You can excude CHD games from generation if that's what you want
Retroarch tab :
- Available in Pi3, N2/N2+, N100 miniPCs flavor
- Only N100 tests will be maintained in the future, but feel free to share your tests for other machine types
- BestArcade list for Raspberry Pi3
- BestArcade list for Odroid N2/N2+
- BestArcade list for N100 MiniPC
- Generate BestArcade romsets by using your fbneo, mame2003, mame2003plus and mame2010 non-merged sets, your original sets will be kept intact
- Generate basic gamelist (Recalbox format but should work for other distribs) for your sets, with optional images. Genre images were generated with the awesome site Game-icons.net
- Generate csv files documenting the generated sets
- Generate a scoresheet comparing working level in generated sets
- Generate dat files for the generated romsets
- All needed DATs are included in the application
Custom tab :
- Same as above, without the testing part and everything related to it
- So it will generate a set of the most interesting games
- Mame DAT must be provided by the user
Neo Geo AES tab :
- Generate Neo Geo AES full set from either FBNeo or recent mame set, FBNeo is recommanded though
- FBNeo/Mame DAT must be provided by the user
Sega Model 2, Sega Model 3, Atomiswave, Naomi and Naomi2 tabs :
- Generate full sets of this system from a recent mame set
- Mame DAT must be provided by the user
Handhelds tab :
- Generate full set of all single-game (game & watch like, no consoles) handheld devices from a recent mame set
- Mame DAT must be provided by the user
TV Games tab:
- Generate full set of all TV Games devices from a recent mame set
- Mame DAT must be provided by the user
- BestArcade requires that python3 is installed
- first install Tkinter for python3 if needed :
sudo apt-get install python3-tk
- directly download sources or clone the repo with :
sudo apt install git # optional, only if git is not installed
git clone https://github.com/Voljega/BestArcade
- give execution rights to
BestArcade.sh
:
cd BestArcade # change to BestArcade directory
chmod u+x BestArcade.sh # give execution perms (already done in git-cloned version)
- launch with
./BestArcade.sh
or./BestArcade
Just execute BestArcade.exe
from latest release
After execution your will find your generated romsets in your exportDir
See next part for configuration explanation
Verify
will check the validity of the various folders and/or dats
Save
will save you configuration to both the related conf.conf
file (making a copy of the previous conf.conf
file to conf.bak
) and in memory
Proceed
will save your configuration in memory only, leaving your conf.conf
file intact and launch the whole process
You can build your own Windows version with the instructions found in build.txt
You can also directly modify conf files manually if you prefer, see next sections
You can modify your configuration by editing the conf\conf-retroarch.conf
file either directly or from the UI with your own parameters :
exportDir
: the target directory for generation, warning its whole content will be erased (you will be prompted) at the begining of the scriptfbneo
,mame2003
,mame2003plus
,mame2010
: the path to your original sets, this will be left untouched by the scriptchd
: the path to your CHD set, if it doesn't exist, it will simply default to romset folderimages
: Paths to your images folder (flyers, screenshot, etc) separated by ';', will be checked in consecutive orderimgNameFormat
: the image name format in your images folder, '{rom}' part will be replaced by each rom namedryRun
: If put to 1, will do a dry run, generating only csv and dat files without copying roms and bios, good for testingkeepLevel
: the working state level at which you will keep the roms in the generated romset (i.e keepLevel 2 will keep only MOSTLY_WORKING and WORKING roms)keepNotTested
: determines if untested roms will be kept or not, even in STRICT modeexclusionType
: determines how roms will be kept (based on their working state level) if you use several romsetspreferedSet
: in strict mode, if rom has same working level in several sets, preferedSet will be chosenusePreferedSetForGenre
: in strict mode, activate use of prefered set for specific genresBeatEmUpPreferedSet
,GunPreferedSet
,MiscPreferedSet
,PlatformPreferedSet
,PuzzlePreferedSet
,RacePreferedSet
,RunNGunPreferedSet
,ShootEmUpPreferedSet
,SportPreferedSet
,VsFightingPreferedSet
list of settings for prefered set for genregenreSubFolders
: determines if your romset will use sub folders for genre or notuseImages
: determines if images will be used for gamelistexcludeCHDGames
: determines if CHD games are to be excluded
You can modify your configuration by editing the related conf\conf-*.conf
(conf\conf-custom.conf
, conf\conf-naomi.conf
, etc...) file either directly or from the UI with your own parameters :
exportDir
: the target directory for generation, warning its whole content will be erased (you will be prompted) at the begining of the scriptcustom
,neogeoaes
,model2
,model3
,atomiswave
,naomi
orhandheld
: the path to your original sets, this will be left untouched by the scriptchd
: the path to your CHD set, if it doesn't exist, it will simply default to romset folderdat
: the path to your set datimages
: Paths to your images folder (flyers, screenshot, etc) separated by ';', will be checked in consecutive orderimgNameFormat
: the image name format in your images folder, '{rom}' part will be replaced by each rom namedryRun
: If put to 1, will do a dry run, generating only csv and dat files without copying roms and bios, good for testinggenreSubFolders
: determines if your romset will use sub folders for genre or notuseImages
: determines if images will be used for gamelistexcludeCHDGames
: determines if CHD games are to be excluded