How to Set Up MAME Arcade Emulator — Complete Guide 2026 (ROMs, BIOS, Controllers)

Low4 solutions

I want to use MAME to play classic arcade games — Pac-Man, Street Fighter II, Metal Slug, Mortal Kombat, Donkey Kong. How do I download MAME, organize my ROM files, place BIOS files correctly, set up a frontend so I can browse games easily, configure my controller, and fix common errors like "required files are missing" or blank screens?

Last updated 1 week ago0 users reported this issue13
Sign in to interact

Solutions

solution #755

download-mame-and-set-up-roms (sortOrder=1, isMostHelpful)

Download MAME

Download MAME only from the official source: mamedev.org → Releases

  • Windows (64-bit): download the .exe installer or the portable .zip. The ZIP is portable — extract to C:\MAME\ and run mame.exe directly.
  • macOS: available via Homebrew: brew install mame
  • Linux: sudo apt install mame (Debian/Ubuntu) or use the AppImage from mamedev.org

Avoid "MAME + ROMs" packs from third-party sites — they bundle outdated MAME with poorly sourced ROMs and often include malware.

MAME's Required Folder Structure

MAME expects a specific layout. Create these folders inside your MAME directory:

  • C:\MAME\roms\ — ZIP ROM files go here (one zip per game)
  • C:\MAME\chd\ — CHD disk images (for large games like hard-drive-based arcade boards)
  • C:\MAME\artwork\ — optional cabinet bezels and overlays
  • C:\MAME\samples\ — optional audio samples for old hardware with real-audio chips

Understanding MAME ROM Sets

MAME ROMs are different from console ROMs. Key concepts:

  • ROM set = a ZIP file: each arcade game is a .zip containing multiple chip dump files (e.g., pacman.6e, pacman.6f). Do NOT extract or rename these — MAME reads the ZIP directly.
  • Parent ROMs and Clone ROMs: many games have regional variants (Japan/US/World) or prototypes called "clones." The clone ROM (e.g., sf2j.zip for Street Fighter II Japan) requires the parent ROM (sf2.zip) to be present alongside it.
  • BIOS ROMs: hardware platforms like NeoGeo and CPS require a BIOS ROM ZIP in the roms\ folder. See S2 for details.

Running a Game

With a ROM ZIP in roms\, you can launch it from the command line:

  • mame pacman — launches Pac-Man (uses pacman.zip)
  • mame sf2 — Street Fighter II
  • mame mslug — Metal Slug

To run in full-screen: mame sf2 -fullscreen

Or use a graphical frontend (see S2) to browse games without the command line.

Verify Your ROMs with MAME's Audit Tool

MAME can check if your ROMs are correct:

  • Run: mame -verifyroms (audits all ROMs in the roms\ folder)
  • Run: mame -verifyroms pacman (audits one specific game)

Output: "romset pacman [PASS]" means the files are correct. "MISSING" or "WRONG LENGTH" means the ROM is corrupted or from the wrong MAME version. ROM sets are version-specific — a ROM that works with MAME 0.258 may fail with MAME 0.265 if the dump was updated.

solution #756

bios-files-neogeo-and-chd-games (sortOrder=2)

BIOS Files — Essential for Platform ROMs

Some arcade systems require a BIOS ROM in the roms\ folder before any games on that platform work:

  • NeoGeo (SNK): neogeo.zip must be in roms\. This enables Metal Slug, King of Fighters, Samurai Shodown, Fatal Fury. Every NeoGeo game ZIP is a clone of this BIOS — without it, all NeoGeo games fail.
  • CPS-1 / CPS-2 (Capcom): some CPS-2 games require qsound.zip (the Q-Sound chip ROM) for audio. Street Fighter games, Darkstalkers, Marvel vs Capcom.
  • Sega System 16 / Model 2/3: platform BIOSes for Sega arcade hardware. Model 2 games (Virtua Fighter, Daytona USA) need model2.zip.

Place BIOS ZIPs in the same roms\ folder as your game ZIPs. Do not extract them.

NeoGeo Setup

NeoGeo is the most popular BIOS-requiring platform:

  1. Place neogeo.zip (the BIOS) in roms\
  2. Place a NeoGeo game ZIP (e.g., mslug.zip) in roms\
  3. Run: mame mslug

NeoGeo games often ask to "initialize memory card" on first boot — this is normal. Press OK/Start.

CHD Games — Large Disk-Based Titles

CHD (Compressed Hunks of Data) files store hard drive images for games on HD-based arcade hardware. These include Mortal Kombat (the originals), Area 51, Killer Instinct, and dozens more.

For a CHD game, you need both the ROM ZIP and the CHD folder:

  • ROM ZIP → roms\mk.zip
  • CHD folder → chd\mk\mk.chd

The CHD folder name must match the ROM ZIP name. CHD files are large (1–20 GB each) because they're full disk images.

Setting Up a Frontend

MAME's default interface is minimal. Graphical frontends make browsing much easier:

  • MAMEUI (Windows): a version of MAME with a built-in Windows GUI — lists all ROMs with screenshots, filters by genre/year/driver. Download from mameui.info.
  • LaunchBox (Windows): a premium frontend (free tier available) that downloads box art, videos, and descriptions automatically. Popular for large collections. launchbox-app.com
  • RetroFE (cross-platform): sleek, customizable frontend. Good for cabinet builds.

Frontends only need to point at your MAME executable and your roms\ folder — they don't change how MAME runs games.

solution #757

display-video-and-controller-setup (sortOrder=3)

Display Settings

MAME defaults to a window. Key display options:

  • Fullscreen: press Alt+Enter in-game, or launch with mame sf2 -fullscreen
  • Keep original aspect ratio: add -keepaspect to avoid stretching. Arcade games were designed for 4:3 monitors or taller vertical orientations (Pac-Man, Galaga).
  • CRT / scanline filter: MAME includes HLSL (Windows) and GLSL (cross-platform) shaders. In mame.ini (auto-generated in the MAME folder), set video direct3d and enable hlsl_enable 1 for authentic scanline effects.
  • Vertical games: for games with vertical screens (Pac-Man, Galaga, Donkey Kong), the screen was rotated 90°. MAME auto-rotates them, but for the authentic experience on a physical vertical monitor, add -rotate.

Controller Setup

MAME supports XInput controllers (Xbox pads), DirectInput, and keyboard.

  • Configure bindings in-game: press Tab in any game to open the MAME menu → Input (This Game) → remap any button
  • Global defaults: Tab → Input (General) → applies to all games

Default keyboard layout for common controls:

  • Arrow keys — joystick
  • Left Ctrl — Button 1 (main fire / punch)
  • Left Alt — Button 2
  • Spacebar — Button 3
  • 1 — Player 1 Start
  • 2 — Player 2 Start
  • 5 — Insert coin (Player 1)
  • 6 — Insert coin (Player 2)

Xbox / PlayStation Controller: MAME auto-maps XInput controllers well. A button = Button 1; B = Button 2; X = Button 3; Y = Button 4. Start = Player 1 Start; Select = Coin Insert.

For fighting games (Street Fighter, KOF), 6-button arcade layout: use the Tab menu to map all 6 punch/kick buttons to your controller's face buttons + shoulder buttons.

solution #758

popular-games-reference-and-common-errors (sortOrder=4)

Popular Games Quick Reference

  • Pac-Manmame pacman — classic maze game, tiny ROM, no BIOS needed
  • Donkey Kongmame dkong — vertical platformer, tiny ROM
  • Street Fighter II Turbomame sf2t — needs sf2.zip (parent) + sf2t.zip
  • Metal Slugmame mslug — needs neogeo.zip BIOS
  • King of Fighters 98mame kof98 — needs neogeo.zip BIOS
  • Mortal Kombat (original)mame mk — needs CHD file in chd\mk\
  • NBA Jammame nbajam — fan favourite, no special BIOS
  • Galagamame galaga — vertical shooter, tiny ROM

Common Errors and Fixes

  • "Required files are missing" / "romset [game] MISSING": your ROM ZIP doesn't have the right files. Common causes: (a) ROM version mismatch with MAME version — download a ROM set that matches your MAME version; (b) clone ROM without parent — put both ZIPs in roms\; (c) NeoGeo game without neogeo.zip.
  • "The selected machine is missing one or more required BIOS ROMs": you're missing a BIOS ZIP. Place neogeo.zip (for NeoGeo) or qsound.zip (for some Capcom games) in roms\.
  • Game shows a black screen or crashes on launch: check your MAME version — MAME regularly updates its ROM format. If your ROMs are from a different MAME era (e.g., 0.196 vs current 0.265), some may fail.
  • No sound: press Tab → Audio → Enable Sound to confirm it's on. For some NeoGeo titles, the music chip (YM2610) emulation requires correct BIOS files.
  • CHD game fails to load: confirm the CHD file is in chd\[game-name]\[game-name].chd. The parent folder name MUST match the ROM ZIP name exactly.
  • Game too slow: MAME prioritizes accuracy and some systems (later Sega, late 1990s 3D) are genuinely heavy. Close background apps. For 3D arcade (Sega Model 2/3, Namco System 22), you need a fast GPU and CPU — these are resource-intensive even on modern hardware.
  • Alt+Enter or Tab key not responding: MAME may have grabbed the keyboard. Click inside the MAME window first, then try again.
Experiencing a different problem?Report a new issue to help the community find solutions.

Comments (0)

No other comments yet. Be the first to share your thoughts.

Sign in to_leave_comment

On This Page