Jump to content
LaunchBox Community Forums

Mame Tutorial for n00bs


Lordmonkus

Recommended Posts

Obviously from the title of this thread this tutorial is going to be geared towards people that are new to Mame. I am going to keep it short, simple and focused on getting things up and running easily. I will not be getting into updating your romsets either, that is more advanced and often it is just easier to redownload a new full rom set than mess around with updating.

The first and most important and most troublesome part of Mame is the roms. Mame roms are not simply 1 file like cartridge based consoles and because there are so many versions of arcade games based on region and hacks there can be a ton of different versions of a game, Street Fighter II: World Warrior alone has something like 27 different variations of the roms when hacks and clone files are included.

Because of the way the roms are the easiest place to start is by obtaining a complete rom set. Now you do not NEED to have the latest version of the rom set to match whatever version of Mame you are using. So if you are going to use Mame 0.178 you do not need a 0.178 rom set. You can very easily use a 0.151 rom set which is extremely easy to find. I cannot tell you exactly where to find it but using google there is a certain paradise that should prove useful.

EDIT: While you do not have to have a matching rom set and Mame version to have some games work you will want to have your rom set and Mame version matching as closely as possible to ensure maximum compatibility. For example if you tried to use a 0.151 rom set with the 0.221 Mame version your Capcom games that require the qsound.zip bios  will not work at all because of changes made. Also the Capcom CPS games will need updated roms that have the key.txt file in them, this is an encryption key the games actually had and got implemented into the emulation.

I am going to cover the basic non ui based version of Mame because the ui I found to be kind of useless after getting used to editing the mame.ini file.

Download the version of Mame you are going to use and run it. It will ask you where you wish to extract it, just put it where you want. For me this is:
H:\Emulation\Emulators\Mame 177

If you wish you can dump your roms right into the \roms\ folder that is in the Mame install folder but you do not have to do that if you do not want to. In fact I recommend you actually keep them separate, this way you can have multiple installs of Mame to try out new versions without having to have duplicate collections of roms eating up drive space. For me this folder is:
H:\Emulation\Roms\Mame 177

The first thing you want to do is to generate a mame.ini file. To do this open your command prompt (dos looking window) and navigate to your Mame folder. Now run the following command:
mame64.exe -cc

You should now have a mame.ini file. If you have no idea how to actually use the command prompt make a shortcut file to your mame64.exe, right click it and then properties. In the Target box you will see a full path and exe just put -cc at the end with a space after the exe or quotes if there is a quotation mark. Run the shortcut and it will generate the mame.ini file. If the ini file did not generate you will need to fix your shortcut path.

If you are unfamiliar with either of the above methods here is a simple batch file that you can drop in the same folder as your Mame64.exe and double click the bat file, it will generate your mame.ini file for you in the same folder as mame64.exe. Use this on a fresh install.

Mame Ini Generator.bat

*****Important: If you let Mame generate a mame.ini file on on it's own it will generate it in the \ini folder and for whatever reason this causes issues when loading a game from Launchbox. You will have to move the mame.ini file out from the \ini folder into the main Mame folder where the main executable is located.*****

Now open your mame.ini file in notepad or notepad++. The first thing you will want to do if your rom files are located somewhere other than the \roms\ folder in your Mame folder is to edit the line:
rompath

Put the full  path to where you have your roms located, for example mine looks like this:
rompath                   "H:\Emulation\Roms\Mame 177\"

You can have multiple locations by separating the paths with a semi-colon.

Now this is all you need to do to have your mame setup and will run as long as your roms and your rom paths have no mistakes. You can do a quick test if you still have your command prompt window open by typing in:
mame64.exe sf2

If your paths and roms are correct this will load up Street Fighter 2: World Warrior.

Setup Mame like any other emulator in Launchbox. Noting should be checked in the emulator details tab of the edit emulator window and in the associated platforms tab make sure you have Arcade for the platform and nothing is needed in the command parameters.

See picture below.

Here are a few extra recommended edits of the ini file:

sleep                           0
skip_gameinfo             1

Sleep 0 will make sure your cpu doesn't throttle down when not under load which can cause some stutter when it needs to ramp back up. Skip_gameinfo just hides the info window that shows up when you load a game.

There are other settings you can toy around with like the aspect but I recommend leaving those at default and there is the shader stuff which I have covered here:

To setup your controller when you have a game loaded simply press tab on your keyboard and this will bring up a menu. In here you can set up all your different bindings for controllers and other Mame shortcut functions.

Anyways this is the end of my basic tutorial and it ended up being longer than I expected but it really is a pretty simple emulator to use.

If you need more advanced information don't forget that there is documentation for Mame. Here is the link the website where you can read the web version or the pdf version which you can download for offline reading. http://docs.mamedev.org/

mame.jpgPort Audio:

Port Audio is a new feature that came in with version 0.182 and allows for much lower latency in the audio which means things like sound effects are heard much closer to when you are supposed to hear them. Things like punches, menu selection sounds and rhythm games are the most noticeable places for this. To take advantage of Port Audio you will need to edit your mame.ini file and look for the sections to make the following changes:

# OSD SOUND OPTIONS
#
sound                     portaudio
audio_latency             1

#
# PORTAUDIO OPTIONS
#
pa_api                    "Windows WASAPI"    
pa_device                 default
pa_latency                0.003334

WARNING: There is one drawback to this new feature however. Mames sound will take over all audio from your computer so if you like to play music through your system while playing Mame games at the same time you won't be able to do it. Maybe there is a workaround to this.

 

Romsets: Merged vs Split vs Non-Merged, what's the difference.

In your search for rom sets for Mame you will come across those terms and here is a straight copy paste of the difference from a certain "dome of pleasure".

A non-merged set is one that contains absolutely everything necessary for a given game to run in one ZIP file. This is ordinarily very* space-inefficient, but is a good way to go if you want to have very few sets and want everything self-contained and easy to work with. We do not recommend this for most users.*

A split set is one where the parent set contains all of the normal data it should, and the clone sets contain only what has changed as compared to the parent set. This saves some space, but isn’t quite as efficient as a merged set.

A merged set takes the parent set and one or more clone sets and puts them all inside the parent set’s storage. To use the existing Pac-Man example, combining the Puckman, Midway Pac-Man (USA) sets, along with various bootleg versions– and combining it all into ((PUCKMAN.ZIP**, would be making a merged set. A complete merged set with the parent and all clones is the most common format MAME sets are stored in as it saves the most space.

* obsolete for current standards, as it's based on ancient disk space usage and costs

http://choccyhobnob.com/articles/demystifying-mame-roms/

This image should help explain the difference in a visual way.

5a7129a38ba2a_MameSplitvsMergedvsNon-Merged.png.54c006357375dc3e7380004636e9434b.png

  • Like 3
  • Thanks 5
Link to comment
Share on other sites

Importing an entire Mame rom set is kind of insane and for a new person to Mame it is going to be huge especially if you import everything including all the mahjong and video poker games. For that reason I recommend a stripped down rom set to just a "best of" set. A user over on the arcadecontrols.com forums was kind enough to make a series of batch files to copy out an "all killer no filler" set of roms. I have packaged them into a zip file and uploaded them here on the forums.

 

  • Like 1
Link to comment
Share on other sites

If you feel you need to have a UI version of Mame such as MameUIFX which is no longer being updated there is a program simply called Arcade. It is just a simple exe file you drop into your Mame folder and you run that instead of mame64.exe.

Get the version appropriate to the version of Mame you are using over on EmuCR. Here is the link for 0.177

http://www.emucr.com/2016/09/arcade-v0177.html

Link to comment
Share on other sites

For MAME newbies, I think the controller setup is a real oddity. You can get lots of keystrokes and other assignments in there easily and changing them is quite odd as well.

I have mine setup to work with my 2 xbox360 controllers as well as my x-arcade dual joystick. Thank goodness I found a preconfigured controller file for that. There are a zillion control assignments in MAME that are probably not to familiar to an emulation newbie.

Besides that, without a complete set, I think the other hard part is getting all the bios files, sound files, etc that certain games require, as well as the parent thing mentioned.

I put all my bios related files in one folder and all my game files in another folder.

 

Link to comment
Share on other sites

Changing controller settings is easy enough. Navigate the menu with the keyboard, press enter and press the button on the controller.

When you start talking about multiple joysticks and an x-arcade joystick that is getting into the advanced part of mame and well outside the scope of this tutorial.

Going through the effort of figuring out the bios from the game roms is also very advanced and not for new users. Bios will always come with full rom set packs and if you stick to full rom sets not something that needs to be worried about.

Sound files while they are good to have they are not necessary to getting a game that uses them to run.

Link to comment
Share on other sites

Easy for you to say on the control assignments  :)  

I remember the first time I started playing around with it I got myself all messed up, especially when you change escape and enter :)

I learned that you can just delete the controller config file to get yourself out of a mess and start over. Hahahaha.

When I first started I didn't even know about rom "sets" and was just downloading zip file by zip file and trying to figure out all the other files needed to go with it.

Link to comment
Share on other sites

Getting a working set of roms is the single biggest hang up with Mame and getting individual roms very rarely works and that is why I covered that in the tutorial by saying it is best to get a full set.

I am not going to get into a debate about control set up because it is easy once you know to press the tab key to bring up the menu which I covered. It's no more difficult or easier than any other emulator to setup.

Link to comment
Share on other sites

Thanks @lordmonkus, really good. Personally this takes things to where I have got to now.

The thing that threw me for a while was getting it to appear on the correct monitor in multi-monitor configs. Might help those in a similar situation to know there's a section you should edit so it looks similar to this:
 


#

# OSD PER-WINDOW VIDEO OPTIONS

#



screen                     \\.\DISPLAY3

aspect                    auto

resolution                auto

view                      auto

screen0                    \\.\DISPLAY3

aspect0                   auto

resolution0               auto

view0                     auto

screen1                    \\.\DISPLAY3

aspect1                   auto

resolution1               auto

view1                     auto

screen2                    \\.\DISPLAY3

aspect2                   auto

resolution2               auto

view2                     auto

screen3                    \\.\DISPLAY3

aspect3                   auto

resolution3               auto

view3                     auto

Note - I have a 3 monitor system. The confusion is that I wanted it on my main monitor. This is "monitor 1" according to Windows. However, MAME doesn't seem to respect that order so it's worth changing the number of the DISPLAY in the above until it appears on the correct screen for you.

Edited by martinconroy
  • Like 1
Link to comment
Share on other sites

I have a 2 monitor setup and Mame has always defaulted to the main monitor. Multi monitor display stuff is also what I would call the more advanced stuff and I just wanted to keep this tutorial for new people to Mame to get it up and running. People should also take the time to read the manual / documentation that most if not all emulators come with. I have edited the original post with a link to the official Mame manual.

Link to comment
Share on other sites

Lordmonkus, thanks so much for this man! It has really been useful! I've edited the all killer, no filler bat file to keep some of the other games I want, but even so I feel like I'm missing some of the games that looked cool but I just can't remember their names (shows how much I really wanted them I guess, lol). I was messing about in bigbox and thought that maybe the best way to pair a gigantic collection down, and while yes it still will take a large chunk of time, would be to have the delete option available in big box. It allows you to quickly scroll through games faster than the front end, and if it can delete the actual rom file too that would make saving space that much easier.

Edited by Saraph
Link to comment
Share on other sites

Yes, I would never want my game players to have the option to delete games (and roms!). However, everyone has their own way of doing things. As long as things like this are optional, it might be ok. However, I'm surprised to hear it's easier and quicker for someone to do their cleanup in BB over LB. Personally, I would never want to use BB for that.

Link to comment
Share on other sites

On 2016-10-01 at 5:48 AM, Saraph said:

Lordmonkus, thanks so much for this man! It has really been useful! I've edited the all killer, no filler bat file to keep some of the other games I want, but even so I feel like I'm missing some of the games that looked cool but I just can't remember their names (shows how much I really wanted them I guess, lol). I was messing about in bigbox and thought that maybe the best way to pair a gigantic collection down, and while yes it still will take a large chunk of time, would be to have the delete option available in big box. It allows you to quickly scroll through games faster than the front end, and if it can delete the actual rom file too that would make saving space that much easier.

Glad it was useful and helped out. One thing you could do is have an install of MameUI and go through the games and take notes of the games you want to pull out. I have done this in the past.

Link to comment
Share on other sites

On 10/1/2016 at 7:44 AM, martinconroy said:

That's not really the point of BigBox though. LaunchBox is your interface for adding and deleting roms so best to do that there rather than duplicate functionality.

 

On 10/1/2016 at 0:19 PM, ckp said:

Yes, I would never want my game players to have the option to delete games (and roms!). However, everyone has their own way of doing things. As long as things like this are optional, it might be ok. However, I'm surprised to hear it's easier and quicker for someone to do their cleanup in BB over LB. Personally, I would never want to use BB for that.

I don't really use a mouse and keyboard at all to manage any of my emulators, which sucks so much but it's what I have to deal with for now. That being said, nothing is utilizing the delete key in bigbox (unless you map it to). Scrolling through games is MUCH smoother using arrow keys or a controller than trying to use arrow keys on the launchbox UI. Besides, more options isn't a bad thing, we all have our personal preferences. If I was using a traditional mouse and keyboard over a media center keyboard with a terrible trackpad I would never have thought to mention this.

3 hours ago, lordmonkus said:

Glad it was useful and helped out. One thing you could do is have an install of MameUI and go through the games and take notes of the games you want to pull out. I have done this in the past.

Thanks lordmonkus, I'll try that! I mainly just want to see what was already scraped for the game, like the title screen or artwork of any kind (preferably video), and either keep scrolling or just hit the delete key and maybe have a prompt if I'm sure I want to delete selected game or not. I was watching one of Jason's streams a while ago when he implemented deleting roms via launchox so I know the option is there for the LB UI, just not for BB UI.

Link to comment
Share on other sites

Personally i wouldn't like to see a delete ROM option in BigBox as predominately that is what LaunchBox is for, the managing of games while BigBox is the show WOW factor for when all is setup.  Having a child who uses BigBox imagine having that option and a child lets loose what damage to all the hard work done to be too easily undone, Personally i believe having LauchBox as the the managing Software and BigBox as the show is the right balance and was the right choice by @Jason Carr

Link to comment
Share on other sites

I didn't have problems adding my full rom set of 0.177. I basically removed every clone mahjong etc but the problem is auditing the roms added and only showing the ones which contain clear logos and videos in big box. As far as I know, no simple way to do this without manually removing those from LB. Am I missing something?

Im trying to move away from HS completely but they have Don's Tools for HS which can actually scan your roms and you can choose not to show those specific roms in the game list.

Also wish we had the ability to have a single platform wheel, like Arcade for a cabinet for example. No platform list at all.

We should get there eventually :)

Link to comment
Share on other sites

@Juzzotec In LaunchBox on the right hand side at the top menubar you will see Image Type click on your platform you want to audit, click on Image Type pick clear Logo's, Now holding the Ctrl button on keyboard click on each game you want to remove and when finished right mouse click and then delete.  Make sure that you dont have delete roms set in the LaunchBox Options under General see screenshot otherwise it will delete the roms as well. 

Untitled.png

  • Like 1
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...