Jump to content
LaunchBox Community Forums

Ultimate Mame Tutorial -- All Killer No Filler - or - Playable Fullset


Light Sock

Recommended Posts

I'm writing this tutorial to help people cutting down the Mame full set with only what their controls can play. The current Launchbox importer is pretty good if you have an Xbox or Playstation controller. If like me you have a 2 players arcade machine you're probably limited with 4 way / 8 way joysticks leaving the analog games unplayable. This method isn't an automated process and will take some time. This tutorial have 2 objective depending if you're an archiver and want all playable games according to your controls - or - if you just want the best playable games according to your controls. I'll also share my All Killer No Filler's bat files so you can reduce the total of games to around 800 titles as a great start.

I got through this process after fulling my 1tb SSD with the Mame set in my arcade cabinet. I had no space for newer games like Tetris Connected, MK10, etc. I also hated that the current Mame importer in LB left so many unplayable games with my controls. I've tried softwares like Rom Lister, Lightspeed Ultra-Fast Mame Importer Tool, Rom Center and CLRMamePro but they were either outdated, unsupported or irrelevant for what I wanted. I'm also from the school that everything should always stay updated. So yeah those outdated softwares weren't going to help.

As for Mame it would take too much time to update regularly unless we automate some parts of this tutorial. This tutorial could be done each year so you're always up to date with all your roms. Otherwise please upvote this request on bitbucket which would automate all this process in the Mame importer of Launchbox.

UPVOTE ME SO THIS PROCESS GETS INTEGRATED TO LAUNCHBOX!
 

Quote

TABLE OF CONTENT

1. PLAYABLE FULLSET

  • 1.1 - PREPARING YOUR FILES
  • 1.2 - IMPORTING IN LAUNCHBOX

2. ALL KILLER NO FILLER

3. KEEP GAMES COMPATIBLE WITH YOUR CONTROLS

  • 3.1 - PREPARING FILES
  • 3.2 - CREATE PLAYLISTS
  • 3.3 - MERGE/EXPORT ALL PLAYLISTS
  • 3.4 - REPLACE ROMSET

4. CHD AND BIOS CLEANUP

  • 4.1 - FILTER IN MAME
  • 4.2 - EDIT YOUR FILTERED LIST
  • 4.3A - COPY/MOVE FOLDERS FROM A FILTERED LIST - ideal for CHDs
  • 4.3B - COPY/MOVE FILES FROM A FILTERED LIST - ideal for Bioses

5. FINAL WORDS

 

1. PLAYABLE FULLSET - Skip to step 2 if you want All Killer No Filler

1.1 - PREPARING YOUR FILES

Download the latest Mame full set on Pleasuredome. You'll need around 700 Gb disk space.

  • [FREE] MAME 0.228 ROMs (non-merged)
  • [FREE] MAME 0.228 CHDs (merged) if you already have a CHD set chances are that you don't have to download the new one unless it's really outdated.
  • [FREE] MAME 0.228 ROMs (bios-devices)

Copy all the ROMs in Launchbox/Games/Arcade

 

1.2 - IMPORTING IN LAUNCHBOX

Import the full set in LaunchBox > Tools > Import > Mame Arcade Full Set...

We'll import a non-merge full set with clones as additional versions. I highly suggest the World region to prioritize. You can check what you want to import or not (up to you). I highly suggest checking everything as it clears out the vast majority of the Mame junk. I suggest you uncheck Create Playlists as we'll cut down more games after that process and you should really learn to manually do your playlists, it's easy and it's a great thing to know.

Screenshot_2.thumb.png.67a764ba26983c16ca75413a166c6cfb.png

This process takes quite some time so might as well go search a beer and watch some Twitch in the meantime.

If you feel a little lost at this step you can watch this video from 06:00 - 08:00.

 

2. ALL KILLER NO FILLER - Skip to step 3 if you have done step 1

to be written...

UPDATE: Since my life has been busy and that I don't have the time to finalize the step #2 of this tutorial, I'll share with you what I think to be the best All Killer No Filler batch file (available at the bottom of this topic). This is the one I'm using for my customers and my own arcades and I hope you like it! Just copy the file mame-aknf.bat in your Mame romset folder (must be a non-merged romset) and open it. It'll create a folder called AKNF and all the roms will be there. The bat file won't move any roms so it doesn't break your source romset, it's safely copying the rom files in the newly created AKNF sub-folder. The batch file was made with Mame 0.238 so in many years it could become obselete, I believed at this time of writing this update (2022/05/27) it is safe to say that'll work great with newer version of Mame for years to come. If you still want to create your own All Killer No Filler romset you should be able to figure it out quite easily with all the information in this topic and my result mame-aknf batch file as an example.

 

3. KEEP GAMES COMPATIBLE WITH YOUR CONTROLS 

3.1 - PREPARING FILES

  1. Download the Create Playlists from MAME plugin.
  2. Download the latest .ini Mame files you can find them here. Usually the first link is a .7z archive with all the .ini files.
  3. Extract the .7z archive in a folder.
  4. Place the .dll file of the plugin in Launchbox's Plugins folder.
  5. Restart Launchbox.

 

3.2 - CREATE PLAYLISTS

  1. Go in Tools > Arcade Playlists from ini and browse to your Mame files .ini folder.
  2. In the left column choose Control.ini file. Note that this tutorial is aimed at removing all the games incompatible with your controls. You may want to use this method to remove more games according to other criteria.

    667316246_Screenshot1.png.fac32173a6c5450f1dac9043ea0edaab.thumb.png.bdc9a41d96fa39162d62bcd674cc9ea7.png
    In the center column you'll now have all the possible control configurations available from Mame.
     
  3. In the center column select a filter that matches your controls.
  4. Re-do step 3 until you have all the playlists of everything that is compatible with your hardware.

*Note that the best thing would be to do the same with the buttons but I can't find a .ini file with buttons information.

3.3 - MERGE/EXPORT ALL PLAYLISTS

  1. Create a new playlist Playable Fullset and add all games from the playlists you've created at step 3.2.
     
  2. Select all games in the new playlist Playable Fullset and go in Tools > Export/Copy ROM Files from Selected Games to New Folder... and export to a new folder Playable Fullset. This will export all your actual playable games in a new folder.

 

3.4 - REPLACE ROMSET

Now we want to replace the huge Mame rom set with only the roms you're using.

  1. Close Launchbox
  2. Delete all the roms (not the CHDs or bios) in Launchbox/Games/Arcade directory.
  3. Move all the roms from the new folder Playable Fullset in Launchbox/Games/Arcade.

 

4. CHD AND BIOS CLEANUP

4.1 - FILTER IN MAME

  1. Download the latest version of Mame (must match your romset version). I highly suggest to download the no-nag* version of Mame available here. This will remove all the advertisement screens when you start a game. They're not user friendly for arcade cabinet like mine that goes in events or just plain stupid users.
     
  2. Open Mame and navigate to Configure Options > Configure Directories > ROMs > Add Folder and add Launchbox/Games/Arcade folder.
     
  3. Go back in the Mame game list screen and click on Custom Filter at the bottom of the left filtering section of Mame. Select the Available and CHD Required filters as follow.

    Screenshot_1.thumb.png.1792cc49bf8eb456c358c079ce51a3e6.png
    The game list will now be left with all the games that actually requires a CHD file.
     
  4. Export this filtered list to a text list pressing the yellow floppy disk icon at the top of the game list.

    Screenshot_3.thumb.png.9a646894d75d184362b3d90d2e9aa520.png
    Screenshot_4.thumb.png.fc35db15befd0fabe01ea8f729c28f9a.png
    Now you have a list of all the required CHDs only for the games compatible with your controls.

 

4.2 - EDIT YOUR FILTERED LIST

  1. Go in Mame/ui folder and open the exported.txt file you've just generated.
  2. Do the following to the exported.txt file.
     
  • Remove the line 1 (Name: Description:)
  • Remove the whole Description column
  • Add ' character before and after rom name as follow 'romname'
  • Add , character after rom name so now it looks like that 'romname',
  • Delete all the breaks and have all the rom names on one line like that 'romname1','romname2','romname3'

Your file should now contains a comma separated list like that

Screenshot_5.thumb.png.5929552f39dad9a565f2802783f7deff.png

 

4.3A - COPY/MOVE FOLDERS FROM A FILTERED LIST - ideal for CHDs

  1. Download the attached PowerShell script move-folders.ps1 I've made to automatically extract all the required folders to a new folder.
     
  2. Right click on move-folders.ps1 go to properties and click Unblock. If it's not there the file is already unblocked.
     
  3. Right click on move-folders.ps1 and press Edit, it'll open the script in Windows PowerShell ISE.
     
  4. At the line $Folders = @('folder1','folder2','folder3'you'll add the comma separated game list you've made with Mame at step 4.1.
     
    $Folders = @('area51','area51mx','bbh','bbh2sp','bbhcotw','bbhsc','blitz','blitz2k','blitz99','calspeed','carnevil','carnking','cartfury','chaoshea','cleoftp','cliffhgr','cndypuzl','cryptklr','cubeqst','cvsgd','darkhleg','eggsplc','evilngt','fbait2bc','fbaitbc','fbaitmc','firefox','flipmaze','gauntdl','gauntleg','gobyrc','gtfore01','gtfore02','gtfore03','gtfore04','gtfore05','gtfore06','hypbbc2p','hyperath','hyprdriv','jdredd','jojo','jojoba','jppyex98','kinst','kinst2','kollon','konam80s','lacrazyc','mace','mach3','maxforce','musclhit','nagano98','nbagold','nbanfl','nbashowt','nightrai','otenamhf','otenamih','otenki','polystar','powyak96','powyakex','psyvaria','psyvarrv','raycris','redearth','roadburn','salarymc','sf2049','sf2049se','sfiii','sfiii2','sfiii3','sfrush','sfrushrk','shanghss','shangtou','shikigam','shikigama','simpbowl','soutenry','spuzbobl','totlvice','turrett','usvsthem','vaportrx','virtpool','warfa','wargods','wg3dh','xiistag','zokuoten','zooo')
    Example with full set Mame 0.228 version
     
  5. Now at line 3 of the code edit the paths according to your configuration but keep \$Folder at the end of the path. 
     
    robocopy "C:\UNFILTERED\$Folder" "C:\FILTERED\$Folder" /move}

     

  6. OPTIONAL STEP: If you don't want to download the powershell script file you can copy the code below and create your own PowerShell file.
     
    $Folders = @('romname1','romname2','romname3')
    foreach ($Folder in $Folders) {
            robocopy "C:\UNFILTERED\$Folder" "C:\FILTERED\$Folder" /move}

     

  7. Execute your freshly edited move-folders.ps1 file and take another beer because this step takes a lot of time.
     
    Quote

    !! CAUTION !! - If you stop this process this will corrupt the CHD file that is being move. You can prevent that by replacing /move by /copy in the .ps1 file but this will make the process take more time. If you did cancel the process and want to repair that CHD file reopen the torrent and it'll rebuild your set. If you've done that on an older set that isn't avilable anywhere else I guess it's time to update your set. You've been warned.


    Now you'll have all your filtered files in C:/FILTERED folder.
     
  8. In this case we are moving CHDs so copy all the content from the FILTERED folder to Launchbox/Games/Arcade.

 

4.3B - COPY/MOVE FILES FROM A FILTERED LIST - ideal for Bioses

For this example we'll filter the only the required bios.

  1. Re-do step 4.1 of filtering in Mame but use Bios as Filter 2 at step 4.1.3
     
  2. Download the attached bat file copy-files.bat I've made to automatically extract all the required files to a new folder.
     
  3. Right click on copy-files.bat go to properties and click Unblock. If it's not there the file is already unblocked.
     
  4. OPTIONAL STEP: If you don't want to download the bat file you can copy the code below and create your own .bat file.
     
    md FILTERED
    
    copy bios1.zip FILTERED
    copy bios2.zip FILTERED
    copy bios3.zip FILTERED
  5. Right click on copy-files.bat and press Edit, it'll open the file in your default text editor.
     
  6. Replace the 'bios1', 'bios2', 'bios3' and so on with the bios names from the exported.txt file from step 4.1.
     
    md FILTERED
    
    copy ar_bios.zip FILTERED
    copy atarisy1.zip FILTERED
    copy crysbios.zip FILTERED
    copy konamigv.zip FILTERED
    copy konamigx.zip FILTERED
    copy megaplay.zip FILTERED
    copy neogeo.zip FILTERED
    copy pgm.zip FILTERED
    copy skns.zip FILTERED
    copy stvbios.zip FILTERED

    Example with All Killer No Filler with Mame 0.228 version

  7. Execute your freshly edited copy.bat file and wait for the process to complete.

    Quote

    You can also replace "copy" by "move" if you want to save some time but this process is already quick so it's more safe to use "copy".

  8. In this case we are copying Bioses so copy all the content from the FILTERED folder to Launchbox/Games/Arcade.

 

5. FINAL WORDS

You did it! Now you have a 100% working set that matches your controls.

Note to save more space; you can Skip Clones entirely at step 1.2 but keep in mind that you'll have to manually exchange the roms if you have a 2 players maximum setup. If you've selected WOLRD by default most of the 3+ players games like TMNT, Simpsons, etc comes with the version with more players.

I highly suggest not using a full Mame set but create your own collection of roms. Consider using the All Killer No Filler list available here as a great start and from there you can add the missing games.

Hope this helps someone out there!

*No-nag: in other to remove the advertisement screens you have to set skip_gameinfo at  in your mame.ini file.

move-folders.ps1 copy-files.bat

mame-aknf.bat

Edited by G22
  • Like 8
  • Thanks 4
Link to comment
Share on other sites

70% of the tutorial is done. I have to go to work and will continue tomorrow.

100% - 1. PLAYABLE FULLSET
25% - 2. ALL KILLER NO FILLER
100% - 3. KEEP GAMES COMPATIBLE WITH YOUR CONTROLS 
100% - 4. CHD AND BIOS CLEANUP
100% - 5. FINAL WORDS

Manual part of the tutorial that needs automation:

  • 4.3A - COPY/MOVE FOLDERS FROM A FILTERED LIST
  • 4.3B - COPY/MOVE FILES FROM A FILTERED LIST

Any help to create custom search and replace string in Code would be greatly appreciated!

Edited by G22
Link to comment
Share on other sites

Hi there. Just found this guide and I had a couple concerns. The first is how to edit the text file for part 4.2. Is there a particular text editor you are using to make it easier that just tediously deleting each line of description and adding the apostrophes and commas? I am also noticing that my custom filter ends up containing many games that MAME marks as Overall Not Working. Shouldn't these be filtered out as well?

Link to comment
Share on other sites

52 minutes ago, devsfan1830 said:

Is there a particular text editor you are using to make it easier that just tediously deleting each line of description and adding the apostrophes and commas?

Unfortunately no. As of now it's done manually. We would need help from someone that could do a custom search and replace searches command that would automate that in an editor like Code. Unfortunately it's out of my knowledge. Hope someone will stumble across this guide and do this for us! This would help to update our Mame set more regularly.

54 minutes ago, devsfan1830 said:

I am also noticing that my custom filter ends up containing many games that MAME marks as Overall Not Working. Shouldn't these be filtered out as well?

I guess you're doing the part 1. of the guide since the part 2. isn't written yet. I'm not sure on the reliability of the LB Mame importer. Although if Mame says that a game isn't working it's more likely that it wont work. I would try few games and check if they work or not.

Link to comment
Share on other sites

  • 2 weeks later...
12 hours ago, wemr97dl said:

Just tried it out, works great. Still have to run batch file, and such but the Playlist function is a great tool

Just a tip, one of the playlist Icreated showed no games, once I restarted Launchbox the list was populated. 

Thank you for your comeback! When I wrote it it was after I did it few days before so I'm always afraid that I'd forget something here and there! Glad it worked for you and thank you for the tip.

Link to comment
Share on other sites

  • 2 weeks later...

Tried using you PS and got an error using copy, I have never used it before but looking it up online, I don't think you need anything at the end?? not sure , but putting /z at the end should allow you to restart if it gets interrupted. I m running it now with the /z, seems like its working??

  • Like 1
Link to comment
Share on other sites

On 3/25/2021 at 3:05 AM, wemr97dl said:

Tried using you PS and got an error using copy, I have never used it before but looking it up online, I don't think you need anything at the end?? not sure , but putting /z at the end should allow you to restart if it gets interrupted. I m running it now with the /z, seems like its working??

I'm not sure why it's no copying on your config but here it's working. If it have to retry there may be read or write errors somewhere. Thanks for the tip of adding "/z", this may help someone out there!

Link to comment
Share on other sites

  • 1 year later...
On 5/26/2022 at 4:30 PM, ThatDutchDude said:

Great guide, thank you for posting this. Still curious about step 2 of the guide. Any reason you didn't update this?

Thanks for the effort anyhow!

Hi @ThatDutchDude, simply because I haven't got the time to do it since a lot is happening in my life atm! I'll add my own All Killer No Filler batch file I made and use for the arcades I build for my customers. I think it pretty much have everything you need from a good cut down Mame set. Hope you like it and that it could help someone!

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

1 hour ago, G22 said:

Hi @ThatDutchDude, simply because I haven't got the time to do it since a lot is happening in my life atm! I'll add my own All Killer No Filler batch file I made and use for the arcades I build for my customers. I think it pretty much have everything you need from a good cut down Mame set. Hope you like it and that it could help someone!

Thanks a bunch! Great tutorial, already helped me out a lot!! 
Cheers!

  • Like 1
Link to comment
Share on other sites

  • 1 year later...

Can’t thank you enough for this tutorial. I’m getting ready to do this on a fresh install of Launchbox and a 2 player cabinet I built. I love the idea of the AKNF batch file to trim things down. One question though, I plan to download a newer version of MAME. Since the AKNF batch file was based off of MAME .238, would it work with newer versions? Or do you have an updated AKNF batch file you could share?

  • Game On 1
Link to comment
Share on other sites

  • 2 months later...
9 hours ago, paulitix said:

Any chance of converting this into a Playlist to use in Launchbox? ...For those of us that have just imported everything

I suggest deleting everything and starting  over following this tutorial. I don't see the point of a playlist. The whole point of Launchbox is to build your own box. If you don't know how things have been made you'll spend your life learning by troubleshooting other's people work and eventually end up following tutorials such as mine. Don't waste your time on the long run and invest it right away, it'll pay  off later!

Good luck on your system :-)

Link to comment
Share on other sites

On 12/23/2023 at 8:38 AM, Light Sock said:

 I don't see the point of a playlist. The whole point of Launchbox is to build your own box.

Disagree with both these statements, but no worries.  I wrote a quick script to convert your list of files into a playlist.

I like exploring others' curated lists, which is what i was trying to with AKNF.  I've built many boxes for friends and family, and while it is enjoyable for me, it may not be for others...they may just be interested in the finished product.  I have a large drive (drives, actually, for redundancy) dedicated to my personal build, so the use case of copying the roms to a different directory makes no sense to me.  I'd rather retain the complete set and utilize a playlist.

Anyway, thanks for your reply.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...