Please do not post a support request without first reading and following the advice in

[Tool] BestArcade

  • Hello everyone, allow me to introduce this tool I've been developing

    The aim of this this tool is to generate sorted romsets for arcade, it was constructed with sbcs/pis and/or bartop in mind to keep romsets size down, but it can be used to construct sorted sets for any machine really.
    Only games referenced in the BestArcade list are kept, this list contains all the interesting arcades games, at the exception of adult and gambling games.
    You can also use tested working level (on raspbery pi3) from this list to choose to keep games or not, this is optional


    • Generate BestArcade romsets by using your fbneo, mame2003 and mame2010 non-merged sets, your original sets will be kept intact
    • Bios are automatically included
    • Generate basic gamelist (originally Recalbox format but should work for other distribs like Batocera and Retropie) for these sets, with optional images. Genre images were generated with the awesome site
    • Generate csv files documenting the generated sets
    • Generate a scoresheet comparing working level in generated sets
    • Generate dat files for the generated romsets


    • 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
    • It doesn't handle CHD
    • It only works on Windows, although it should work on Linux by launching it manually with Python 3.7, but it needs testing to be sure. If you happen to test it under linux or macos, please enter an issue.


    • Add mame2003plus, eventually removing mame2003
    • Add custom set, to be able to sort any mame set
    • Add another naomi / atomiswave tab to construct sets for this systems
    • Handle CHD
    • Add new testing sbcs

    If you have any remark, evolution requirement or bug notice, please file it in github issues of the project.

    BestArcade Github

    BestArcade release 1.01

  • @Voljega
    Interesting thread and tool. Will follow..
    I guess this would also make updating roms easy, by making the tool just copy e.g. new fbneo romsets into the target directory?

  • @AndersHP yes the aim is also to make it more easier to update romset

    Forgot to say that the full documentation is on github page

  • Release 1.1

    Adds mame2003plus
    Set fully tested for mame2010 and fbneo

  • Release 1.2

    Download here

    • Full testing and integration of mame2003+
    • General cleaning

    Next (possible) updates will be :

    • Retest english clones of japanese roms to use them instead of the parent when possible
    • Try to handle CHD in a graceful way
    • Possibly remove mame2003 as it doesn't make much sense anymore (both mame2003plus and mame2010 are better)
    • Add several tabs to the UI to handle more sets : naomi, atomiswave, and if possible handhelds (Tiger, G&W, etc...)
    • In the far future (hopefully before Skynet rise), tests on a more powerfull SBC, either RockPro64, Odroid XU4 or Odroid N2

    And I'm still looking for brave folks willing to test the script on linux :devlish:

  • @Voljega Many folk still prefer 2003 over 2003+, including me. My entire control setup doesn't work in 2003+ but works perfectly fine in 2003.

  • @Voljega @Thorr69 Although I prefer mame2003+ to mame2003, I wouldn't recommend to remove support for mame2003 either, as it is the standard, pre-installed mame version of Retropie, and having options is always better than not.

  • @Thorr69 @Clyde OK thank you both I will keep it then, it was mostly to save some space on the UI, but it's not really needed so...

  • Release 1.3

    Download here


    • CHD handling (uncompressed CHD folders must be placed in romset folder alongside roms)
    • Custom romset generation (generate BestArcade set for any mame romset)
    • AtomisWave romset generation
    • Naomi romset generation
    • Use english clones instead of parent japanese games when possible>

    And I'm still looking for brave folks willing to test the script on linux :devlish:

  • @Voljega said in [Tool] BestArcade:

    Release 1.3
    And I'm still looking for brave folks willing to test the script on linux :devlish:

    I happen to use Linux as my main system, alas, what I don't have is time. Testing your script would land way down my already too long to-do list, sorry. But I'm interested nonetheless, so I'll keep it in mind without any promises. 😇

  • @Clyde said in [Tool] BestArcade:

    @Voljega said in [Tool] BestArcade:
    Testing your script would land way down my already too long to-do list, sorry.

    That said, if one would like to test it on Linux, where would one get it? Your link above only leads to the Windows version. Or do you mean on Linux via WINE?

  • @Clyde It (the Source) is a Python script and - in theory - should be fine to run as such (?)... but from a quick look I find it irritating, that the build instructions (to "compile" it via python) are mentioning python 3.3, but the shebang-lines within the scripts are referencing #!/usr/lib/python2.7/
    It's been a while since i used python, but I remember that for the few things I've done with it, I had to rewrite some of the stuff from python 2.x to 3.x... so I am not sure why it should be compiled with Py3, but running it as a script calls for 2.7 ??? (Or am I misinterpreting that shebang? I've just used 'em in Py sofar to set the encoding and am to lazy to rtfm that stuff right now)

  • @Ashpool Maybe the shebang is just outdated? Let's see what @Voljega can tell us about it.

  • @Ashpool

    You're right Ashpool of course, now that I think about it, I use Spyder as an IDE in Windows and it does seem to execute the script in python 3.6.1 (previously 3.3), now the shebang is obviously outdated but might still take the lead on what the IDE does behind the screen.
    I had typicale troubles with Tkinter syntax linked to python version so clearly it must be one or the other

    I guess I must install an Ubuntu VM somewhere and try to compile it and execute it in both 2.x & 3.x see what happens, sorry for the mix up


    Yes as @Ashpool said, you should execute directly in command line through Python after compiling it. Now obviously my instructions are really incomplete and even misleading on linux and I should work on that...

    Sorry guys I have only learned Python by myself a while ago (mostly for this tool) and am still not very fluent around compilation and things like that (benefits and drawbacks of using an IDE...)

  • @Voljega No problem, kudos for your willingness to learn, to create something useful, and to share it with others.

  • Well I spent the evening trying to install Ubuntu VM with Virtual Box on my brand new pc with Windows 10....

    • Ubuntu 64 bits gets randomly stuck when installing on different pages whitout any reason
    • Ubuntu 32 bits is lovely, only an old LTS (as 32 bits was discontinuated) for which they deleted the apt-get repos (as always) so no git (or not without spending hours experimentig with alternate command lines in the terminal), prompts to update to the last LTS and then says the updater is not compatible with this update

    And to think I managed to install all that without trouble on my old W7 a yaer or so ago but deleted it since...

    So I lost a few hours for nothing, and didn't have any fun.

    At least I removed all 2.7 shebangs on windows and it seems to run fine

  • Global Moderator

    @Voljega we try to keep this forums readable for users of all ages, so please tone down the injectives.

  • @mitu didn't knew that, sorry.

  • @Voljega said in [Tool] BestArcade:

    So I lost a few hours for nothing, and didn't have any fun.

    Sorry to hear that - I am off for ~1.5 weeks now and whence I return, my priority is to finish my first control panel build (I am nearly done with the painting, then it's wiring that baby and finding a suitable way to mount it to the wall/upon a shelf) - but I have a working Ubu18.4 LTS VM running in VMWare Player, so i may give it a try.

  • @Ashpool no problem it's not your fault !

    • Ubuntu 64 bit VM doesn't manage to install despite everything in bios and windows10 beeing setup properly (SVM activated and Hypermode-V deactivated)
    • Ubuntu 32but VM manages to install but Canonical already suppressed all apt-get repositories for this version, so it requires a lot of extra step....

    I didn't even think about juste downloading the zip of the source code or even copying it through usb key, but I'm not sure even sure both python version were installed by default anyway, and I was exhausted...

    And off course I suppressed the 32bit VM

Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.