cleaning rom set of clones

RetroPie has a new website and forum. Please visit https://retropie.org.uk/ for the new site. The new forum is located at https://retropie.org.uk/forum/. This forum is left here as a read-only archive.

This topic contains 22 replies, has 5 voices, and was last updated by Profile photo of chito chito 2 years, 2 months ago.

Viewing 23 posts - 1 through 23 (of 23 total)
  • Author
    Posts
  • #85565
    Profile photo of chito
    chito
    Participant

    ive tried to run the -listclones command in mame4all-pi
    all it does is generate a list of all games!

    im trying to output it to a txt file so i can run a script to copy/remove clone roms files.

    i only want parent working roms

    does anyone know how get -listclones to work?
    or does anyone know a better way to clean roms?

    #85567
    Profile photo of Roo
    Roo
    Participant

    Does this work for you?

    
    cd /opt/retropie/emulators/mame4all
    ./mame -list -noclones
    
    #85571
    Profile photo of chito
    chito
    Participant

    Thats great. that gives me something to work with 🙂

    #85572
    Profile photo of chito
    chito
    Participant

    dont happen to know how to break up that list so that every rom name is on a new line?

    #85573
    Profile photo of buzz
    buzz
    Keymaster
    
    /opt/retropie/emulators/mame4all/mame -listfull -noclones
    
    
    /opt/retropie/emulators/mame4all/mame -listfull -noclones | cut -d" " -f1
    

    for just rom names.

    #85574
    Profile photo of Roo
    Roo
    Participant

    ./mame -listfull -noclones

    but then you’ll get other info. I believe you’ll just gonna have to clean up the list either way you go.

    edit: buzz beat me to it 🙂

    • This reply was modified 2 years, 3 months ago by Profile photo of Roo Roo.
    #85577
    Profile photo of buzz
    buzz
    Keymaster

    using this method to remove clones.. you could do something like (this doesn’t actually remove anything – just echoes it – remove the echo to remove)

    
    /opt/retropie/emulators/mame4all/mame -listfull -noclones | cut -d" " -f1 >noclones.txt
    /opt/retropie/emulators/mame4all/mame -listfull | cut -d" " -f1 >all.txt
    grep -v -x -f noclones.txt all.txt >clones.txt
    for rom in $(cat clones.txt); do echo rm $rom.zip; done
    
    • This reply was modified 2 years, 3 months ago by Profile photo of buzz buzz.
    • This reply was modified 2 years, 3 months ago by Profile photo of buzz buzz.
    #85580
    Profile photo of chito
    chito
    Participant

    using the dat file in the mame4all-pi.zip and clrmamepro i created an xml file.

    then i used RomLister to create a batch file that copies roms that i want to another folder, leaving behind the most of the unwnated roms (like casino, not working, etc) — since its an old version of mame couldnt “-listxml” which has clone info. anway…

    using ./mame -list -noclones > noclones.txt
    i created a text file. then using regex i formatted it so that each rom was on its own line and to look like the following for each rom name.
    copy romname.zip C:/some-path/clean roms

    Ive gone from all 2,272 roms to 1,564 after ROMLister then to 995 of clean working roms. Awesome! thanks for the help. There is no point in having a romset with useless roms that occupy space.

    • This reply was modified 2 years, 3 months ago by Profile photo of chito chito.
    #85585
    Profile photo of Roo
    Roo
    Participant

    RetroPie is relatively new, but there’s a community out there that have been doing this for many years – using HyperSpin or GameEx or many other front ends. I’m just leading up to the idea that here’s a lot of us that have been down this road 🙂

    If you want to go further down this rabbit hole, you can remove all the games you can’t play with the controller setup you have. For example Centipede uses a trackball and Operation Wolf uses a light gun. You may want to play with this tool, which can build a list for you just based on the controls you have.

    http://www.waste.org/~winkles/ROMLister/

    I’ve used all the tools, but in the end I just have a subset of ROMs I manually maintain. It took me a while to put together, but that’s just a one time deal. It’s all the best classics, my favorites, favorites of my friends that come over, and some good party games thrown in for fun. Once I took out the ones I can’t play on my RasPi (trackball, spinner and lightgun), my list is 263. Which to me is much more pleasant than trying to scroll through thousands of games no one has heard of.

    I do the same for my NES, SNES, N64, GBA, GameCube, PS1, etc. This hobby can take up your free time if you let it 🙂

    I know a lot of other guys just put every possible game in and boast that they have 10,000 games or whatever. I don’t get it – to me that’s just a giant mess but to each their own.

    • This reply was modified 2 years, 3 months ago by Profile photo of Roo Roo.
    #85595
    Profile photo of brakanje
    brakanje
    Participant

    Doesn’t MAME need some clones to function properly? It seems like it’d work better if you tell MAME one folder for toms and ES a different one then put a text file for each non clone game in the es rom folder and tell es that roms are *.TXT. Then it maintains dependencies (like needing Puck-Man for Pac-Man) but only shows one (Pac-Man but not Puck-Man.)

    #85600
    Profile photo of Roo
    Roo
    Participant

    Doesn’t MAME need some clones to function properly? It seems like it’d work better if you tell MAME one folder for toms and ES a different one then put a text file for each non clone game in the es rom folder and tell es that roms are *.TXT. Then it maintains dependencies (like needing Puck-Man for Pac-Man) but only shows one (Pac-Man but not Puck-Man.)

    No – clones require parents not the other way around. You can delete all clones and everything will still play. Of course you’ll be playing puckman not pacman – not all parents are the US version. Puckman is the parent in this case.

    Don’t forget that some ROMs require BIOS files.

    I think a better solution than trying to “trick” ES would be to edit the gamelist.xml file.

    https://github.com/Aloshi/EmulationStation/blob/master/GAMELISTS.md

    • This reply was modified 2 years, 3 months ago by Profile photo of Roo Roo.
    #85631
    Profile photo of brakanje
    brakanje
    Participant

    In my definition of clone both Puckman and Pacman were clones just to clarify I wasn’t using the official MAME jargon which is probably where we misunderstood eachother. Most people would concider Pacman to be the real game so that is why calling Pacman the clone is just weird.

    But anyway editing GAMELIST wouldn’t work as when you reboot ES would rescan and repopulate. My trick is not so much an attempt to trick ES it’s what ES does by default for the ports and such. And would work especially nice for MAME since it wants the filename not the filelocation.

    #85648
    Profile photo of Roo
    Roo
    Participant

    Whatever works for you is cool, but just FYI, from the wiki I linked to:

    The switch --gamelist-only can be used to skip automatic searching, and only display games defined in the system's gamelist.xml

    #85653
    Profile photo of brakanje
    brakanje
    Participant

    Ah I did not know about that. Good to know. Thanx

    #85733
    Profile photo of chito
    chito
    Participant

    Would that switch speed up loading times?

    #85746
    Profile photo of Roo
    Roo
    Participant

    It would have to right? But if it’d make a noticeable difference or not is another story 🙂 Give it a shot!

    #86225
    Profile photo of chito
    chito
    Participant

    wherer and how do i use that switch? would it be <path> in es_systems.cfg?

    #87538
    Profile photo of justinbeaird
    justinbeaird
    Participant

    I would also like to know where and how to do this please help I am running 2.5.0 beta

    #87541
    Profile photo of chito
    chito
    Participant

    where in the retropie boot up is the script that calls the ES binary? All i know is thats where i need to add the switch… i cant find it though

    #87653
    Profile photo of Roo
    Roo
    Participant

    the last line in /etc/profile, should just be able to add the switch to the end

    [ -n "${SSH_CONNECTION}" ] || emulationstation

    #87655
    Profile photo of justinbeaird
    justinbeaird
    Participant

    the last line in /etc/profile, should just be able to add the switch to the end

    [ -n "${SSH_CONNECTION}" ] || emulationstation

    that cant be right did you post in wrong forum?

    • This reply was modified 2 years, 2 months ago by Profile photo of justinbeaird justinbeaird.
    • This reply was modified 2 years, 2 months ago by Profile photo of justinbeaird justinbeaird.
    #87667
    Profile photo of Roo
    Roo
    Participant

    Nope. I’m pretty sure that’s accurate information.

    The switch --gamelist-only can be used to skip automatic searching, and only display games defined in the system's gamelist.xml

    To use the switch, you specify it when you load emulationstation. Like this:

    emulationstation --gamelist-only

    You can do that from the command line, but to have that be the default, you need to edit the file that loads emulationstation after the Pi boots up, which is /etc/profile

    The last line of /etc/profile translates to “if this isn’t an SSH session, load emulationstation”. Change it to this to add the switch

    [ -n "${SSH_CONNECTION}" ] || emulationstation --gamelist-only

    #87670
    Profile photo of chito
    chito
    Participant

    Thanks heaps!!! ive been looking for that line for ages!
    linux isnt my happy place yet

Viewing 23 posts - 1 through 23 (of 23 total)

Forums are currently read only - please visit the new RetroPie forums at https://retropie.org.uk/forums/

Skip to toolbar