Homepage › Forums › RetroPie Project › Everything else related to the RetroPie Project › cleaning rom set of clones
- This topic has 22 replies, 5 voices, and was last updated 9 years, 8 months ago by chito.
-
AuthorPosts
-
01/21/2015 at 13:51 #85565chitoParticipant
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?01/21/2015 at 14:29 #85567RooParticipantDoes this work for you?
cd /opt/retropie/emulators/mame4all ./mame -list -noclones
01/21/2015 at 15:33 #85571chitoParticipantThats great. that gives me something to work with :)
01/21/2015 at 15:35 #85572chitoParticipantdont happen to know how to break up that list so that every rom name is on a new line?
01/21/2015 at 15:38 #85573petrockblogKeymaster/opt/retropie/emulators/mame4all/mame -listfull -noclones
/opt/retropie/emulators/mame4all/mame -listfull -noclones | cut -d" " -f1
for just rom names.
01/21/2015 at 15:44 #85574RooParticipant./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 :)
01/21/2015 at 15:48 #85577petrockblogKeymasterusing 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
01/21/2015 at 16:01 #85580chitoParticipantusing 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 romsIve 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.
01/21/2015 at 17:23 #85585RooParticipantRetroPie 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.
01/21/2015 at 19:42 #85595brakanjeParticipantDoesn’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.)
01/21/2015 at 20:52 #85600RooParticipant[quote=85595]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.)[/quote]
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
01/22/2015 at 06:43 #85631brakanjeParticipantIn 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.
01/22/2015 at 17:19 #85648RooParticipantWhatever 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
01/22/2015 at 18:08 #85653brakanjeParticipantAh I did not know about that. Good to know. Thanx
01/22/2015 at 22:48 #85733chitoParticipantWould that switch speed up loading times?
01/23/2015 at 01:05 #85746RooParticipantIt would have to right? But if it’d make a noticeable difference or not is another story :) Give it a shot!
01/31/2015 at 17:51 #86225chitoParticipantwherer and how do i use that switch? would it be <path> in es_systems.cfg?
02/15/2015 at 12:43 #87538justinbeairdParticipantI would also like to know where and how to do this please help I am running 2.5.0 beta
02/15/2015 at 13:34 #87541chitoParticipantwhere 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
02/16/2015 at 13:57 #87653RooParticipantthe last line in /etc/profile, should just be able to add the switch to the end
[ -n "${SSH_CONNECTION}" ] || emulationstation
02/16/2015 at 14:12 #87655justinbeairdParticipant[quote=87653]the last line in /etc/profile, should just be able to add the switch to the end
[ -n "${SSH_CONNECTION}" ] || emulationstation
[/quote]that cant be right did you post in wrong forum?
02/16/2015 at 15:07 #87667RooParticipantNope. 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
02/16/2015 at 15:34 #87670chitoParticipantThanks heaps!!! ive been looking for that line for ages!
linux isnt my happy place yet -
AuthorPosts
- The forum ‘Everything else related to the RetroPie Project’ is closed to new topics and replies.