MAME Downloads, Files, and Directory Layout Guide

This guide explains all major MAME downloads, file types, and directory structures, with practical explanations of what each part is used for and where files should be placed.

It is intended for users who want a clean, working MAME setup, not just theory.

1. Core MAME Components

1.1 MAME Executable (Required)

The emulator itself:

This binary emulates arcade hardware and loads ROMs, CHDs, and BIOS files.

Official downloads:
https://www.mamedev.org/release.html

1.2 ROM Sets (Required)

ROMs contain the actual game code dumped from arcade boards.

joust.zip
pacman.zip
sf2.zip

Default location:

mame/roms/

1.3 BIOS ROMs (Required for Some Games)

Some arcade systems use shared system ROMs.

BIOS ROMs go in the same folder as game ROMs:

mame/roms/

2. ROM Set Types

2.1 Split Sets (Most Common)

Parent ROMs contain shared data; clone ROMs contain only differences.

joust.zip      (parent)
joust2.zip     (clone)

joust2.zip requires joust.zip.

2.2 Non-Merged Sets

Each ZIP is self-contained, including all parent data.

2.3 Merged Sets

Parent and all clones are combined into a single ZIP.

Important: ROM sets must match your MAME version. MAME is not backward-compatible.

3. CHDs (Hard Drive / Laserdisc Data)

Some games require large data files called CHDs.

mame/roms/area51/area51.chd

4. Samples (Optional)

Used for games with analog sound hardware.

mame/samples/dkong.zip

5. Artwork and Visual Media (Optional)

mame/artwork/
mame/snaps/
mame/titles/
mame/flyers/
mame/cabinets/

6. Configuration and Save Data

mame/cfg/
mame/nvram/
mame/sta/
mame/inp/

7. Hash Files and Software Lists

Used for non-arcade systems supported by MAME.

mame/hash/
mame/software/nes/smb.nes

8. Plugins (Optional)

mame/plugins/

9. mame.ini Configuration File

mame -createconfig

10. Example Clean MAME Directory Tree

mame/
├── mame.exe
├── mame.ini
├── roms/
│   ├── joust.zip
│   ├── neogeo.zip
│   └── area51/
│       └── area51.chd
├── samples/
├── artwork/
├── cfg/
├── nvram/
├── sta/
├── inp/
├── hash/
├── plugins/
└── ui.ini

11. Game Status Colors

12. Minimal Working Setup

  1. MAME executable
  2. Matching ROM set
  3. Required BIOS ROMs
  4. CHDs for games that need them