To run MAME you need to have done the following things...
1. You need to have a copy of MAME installed (See the Installing mame page for details).
2. You need to have the correct zipped ROM files in the C:\Mame\roms. folder. This could be just one file or you may need additional files such as a parent rom set, BIOS file, CHD file or software image. You can find details of the different types of additional files in the "About" pages on the side menu. If you are stuck on what to download then a site like the Arcade Database will tell you the files you need by typing in the game name in the search and looking under "Files".
You can run MAME in two ways. You can just click it's executable file from the C:\Mame folder...
... or you can use the command line. If you click the file then MAME will open up to it's own user interface. From here you can click the system you want and if it's installed, it will run.
If you want to run MAME from the command line then you'll need to open up a command prompt. You can do this from the Windows start menu or by using Win+S (Win 7 and above) and typing "Command Prompt". In newer versions of Windows, Microsoft has hidden the command prompt, but you can access it from Powershell. To open Powershell, press Win+X (Win 7 and above) and select Windows Powershell (Admin). Once the screen has opened, type cmd at the prompt and command prompt will open.
If you've followed the Installing mame page, you'll need to navigate to the C:\Mame folder. Type the following...
cd\
...then...
cd MAME
If it's the first time you've run MAME then type...
mame64 -cc
This will create the default mame.ini
, ui.ini
and plugins.ini
files.
To try and avoid confusion with certain software, MAME refers to the hardware systems it supports as machines. If you want to run a machine from MAME's internal user interface then type the following into a command prompt...
mame64
You can then load a machine from the on screen menu as seen in the image below...
If you want to find a machine quickly then just click "Available" in the on left-hand screen menu and the list will only show ROM sets it's found. You can also type the machines name in and the list will adjust to what you've typed. You can see what you've typed in the top section of the screen where it says "Search".
Once you have selected a machine, press "Enter" or double-click it. If the machine supports software then the list will change to show the software available in it's associated software list. Again, you can press "Enter" or double-click it to run a piece of software or select "Start Empty" to start the machine with nothing loaded. The other screen that may come up is for BIOS selection. BIOS chips were used to store settings and hold data for certain machines. Again, you can press "Enter" or double-click a BIOS file and the machine will finally load.
You can also run a machine directly from the command line. The command line is formatted like this...
mame64 <machine> <media> <software> <options>
<machine> is the name of the machine that you want to emulate.
<media> is the format of the software that you want to run. (Common formats are -flop, -cart, -cass, -cdrom or -hdd)
<software> is the name of the software image you want to load. This can be a name from a software list or the full path to a file.
<options> are the command line options used to override MAME's default settings.
Only you know what machine you've installed so on the next line replace <machine> with the name of the ROM set that you have downloaded (minus the .zip obviously!). If you mis-spell the machine you want to run, MAME will list similarly named machines to the one you typed in to help you find the one you want.
mame64 <machine>
MAME will now run your machine with it's default settings. If you get any errors, check out the Troubleshooting page.
There are a lot of options available on the command line which are explained on the mame Options page, but here are a couple options to get you started...
-mouse (Enables mouse support)
-window (Runs MAME in a window)
You add the options like this...
mame64 <machine> <option1> <option2> ...
Here's how to run Star Wars with mouse support and in a window...
mame64 starwars -mouse -window
Here's another example, this time for Pac Man.
mame64 puckman -window
You may think it's strange that I used puckman instead of pacman. This is because puckman is a "parent" ROM set of pacman. If I had just the pacman
ROM set, I would get an error due to ROMs being missing. For a full explanation of ROMs, check out the About ROMs page.
To use software on a machine you need to use the following format...
mame64 <machine> <media> <software>
This will use the software list associated with the machine to add the software in the correct way. If you are using software that isn't in a list then you need to specify what format the image file is in. For instance, if you want to load a floppy disk into disk 1 on an Amstrad PC1640 you need to type the following...
mame64 pc1640 -flop1 system
The command is made up of mame64 which is the main exe, pc1640 is the machine driver, -flop1 is the media the software is on and machine is the software image. MAME will look at the software list and load the first image. In the file manager menu you can find the other images in the list which can be mounted and used.
For a full explanation of how to use software, check out the About Software page.
Besides software, machines can often support extra devices. For example, say on your Amstrad PC you want to have a Soundblaster card in it for better sound in a game. You would use the following command...
mame64 pc1640 -flop1 system -isa1 sblaster1_5
To find out what devices are supported by a machine you need to use the -listslots command. For example...
mame64 pc1640 -listslots
This command will generate a list of all the devices used on the Amstrad PC1640 computer. Some machines have a lot of supported devices so if you want to get the output as a text file then use >pc1640.txt. This will send the output to a text file. The full command would look like...
mame64 pc1640 -listslots >pc1640.txt
This is part of the text that is outputted...
SYSTEM SLOT NAME SLOT OPTIONS SLOT DEVICE NAME
---------------- -------------- ---------------- ----------------------------
pc1640 kb:joy keypad Atari / CBM Keypad
wheel Atari / CBM Driving Wheel
joy Atari / CBM Digital joystick
joybstr Atari / CBM Digital joystick with Boostergrip
pad Atari / CBM Digital paddles
lp Atari / CBM Light Pen
mous mouse Amstrad PC1512 mouse
ic112:0 525dd 5.25" double density floppy drive
ic112:1 525dd 5.25" double density floppy drive
centronics covox_stereo Covox (Stereo-in-1)
covox Covox Speech Thing
printer Centronics Printer
p72 NEC PinWrite P72
ap2000 Epson ActionPrinter 2000
pl80 COMX PL-80
lx810l Epson LX-810L
ex800 Epson EX-800
lx800 Epson LX-800
This text pretty much tells you how to generate the command line. The format is...
mame64 <machine> <software> -<slotname> <slotdevice> <options>
Note that there is a minus sign (-) before the slot name type.
For a full explanation of how to add devices, check out the About Devices page.