Running MAME

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...


MAME Folder

MAME Folder

MAME Folder

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.


.

Loading a Machine

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...


MAME's Default Interface

MAME's Default Interface

MAME's Default Interface

MAME's Default Interface


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.


.

Using Software

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.


.

Adding Devices

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.