Skip to main content

MAME Arcade Setup

Linux MAME setup​

Use the Linux catalog provider or an existing Linux MAME installation. Read Emulators and game stores. References to mame.exe below apply to Windows.

MAME has its own dedicated setup wizard in HyperHQ - it doesn't appear in the regular Add System emulator list. Instead, you access it directly from the Systems screen.

Why MAME is Different​

MAME manages thousands of arcade ROMs with complex metadata: clone hierarchies, regional variants, player counts, controller types, and more. The dedicated MAME wizard handles all of this, including:

  • Downloading and installing MAME automatically
  • Importing an existing MAME installation
  • Applying ROM filters (by genre, region, players, etc.)
  • Syncing ROM paths to mame.ini automatically
  • Creating collections (genre subcategories, multiplayer, vertical games)

Opening the MAME Wizard​

  1. Go to Systems
  2. Click Add System
  3. Look for the MAME tile - it's separate from the regular system picker
  4. The MAME wizard opens in a multi-step flow

Step 1: Choose Your Setup Type​

The first step asks what you want to do:

OptionWhat it does
Install MAMEDownloads a specific MAME version and sets everything up fresh
Use Existing MAMEPoints HyperHQ to a MAME folder you already have on disk
Update / UpgradeUpdates an existing HyperHQ MAME installation to a newer version
ROM Filters OnlyModify which ROMs appear for an already-configured MAME system
Add ROMs FolderAdd a new ROM path to an existing MAME system

New Installation Flow​

If you chose Install MAME:

  1. Select a Version - pick from available MAME releases (fetched from GitHub). Already-installed versions are marked so you don't duplicate them.
  2. Choose ROM Source - pick between:
    • Full Database - HyperHQ populates your game list from its full MAME database (no ROMs required upfront)
    • Scan ROM Folder - point to a folder of .zip ROM files; HyperHQ scans what you have
  3. Set ROM Path - browse to the folder where your MAME ROMs are (or will be) stored
  4. Apply Filters (see ROM Filters below)
  5. Media Downloads - choose which artwork types to download (box art, marquees, video snaps, etc.)
  6. Collections - optionally create pre-built collections from your imported games
  7. Save - MAME downloads in the background and your system is created

Existing Installation Flow​

If you chose Use Existing MAME:

  1. Select your existing MAME installation: mame.exe on Windows or the native MAME executable on Linux. For a Flatpak installation, keep the launcher selected by the Linux provider.
  2. HyperHQ validates the installation and detects the version
  3. Continue from the ROM path / filter steps (same as steps 3–7 above)

ROM Filters​

One of MAME's most powerful features. Filter which games get imported based on:

Categories to Exclude​

Check any to skip them entirely:

  • Non-Arcade, Mature, Quiz, Casino, Mahjong
  • Hack, Prototype
  • Mechanical, Fruit, Rhythm
  • Tabletop, Handheld, PlayChoice-10

Region​

Prefer games from a specific region: North America, Japan, Europe, World, Asia, Korea, China, and more.

Players​

Filter to include only 2-player or 4-player games (useful for multiplayer-focused cabinets).

Controller Support​

Include or exclude games requiring special controllers: Spinner, Trackball, Wheel, Light Gun.

Clone Handling​

Choose how to handle MAME's parent/clone ROM relationships:

  • Merge clones together - parent ROM represents all regional variants
  • Fetch clones separately - each clone appears as its own entry
  • Skip all clones - only parent ROMs, no regional variants

Preliminary Games​

Toggle whether to include games marked "preliminary" (unplayable or poorly emulated) in MAME.

ROM Path and INI Sync​

When you set or change a ROM path for a MAME system, HyperHQ automatically updates the mame.ini file in your MAME installation directory. This keeps MAME and HyperHQ in sync - you don't need to manually edit mame.ini.

The sync happens:

  • During initial setup when you save the wizard
  • When you edit ROM paths via System Settings → ROM Paths and save

HyperHQ updates the rompath key in mame.ini. Multiple ROM paths are separated by semicolons.

note

MAME systems skip the standard ROM migration prompt that appears for other systems when you move a folder. Instead, the INI is updated directly - you're responsible for moving the files on disk.

High score support​

HyperHQ manages MAME's hiscore plugin from the emulator settings screen.

  1. Open the MAME emulator from your system's Platforms tab.
  2. Open Plugins.
  3. Turn Hiscore Support on.
  4. Save the emulator settings.

The setting updates MAME's plugin configuration while preserving other enabled or disabled plugins. MAME saves scores only for games supported by the hiscore plugin.

BGFX video effects​

Open the MAME platform settings, then open Video. Set Video Backend to BGFX before configuring platform-wide BGFX effects.

SettingPurpose
BGFX Graphics APISelects Auto, Direct3D 9, Direct3D 11, Direct3D 12, OpenGL, OpenGL ES, Metal, or Vulkan. Start with Auto.
BGFX Screen ChainsApplies one chain or a per-screen list, such as crt-geom, hlsl,hlsl,hlsl, or hlsl:unfiltered.
BGFX Vector CRTAdds persistent phosphor and beam simulation for vector games.
BGFX Shadow MaskUses a mask image from MAME's BGFX folder, such as slot-mask.png.

A system or game override for Screen Chains, Vector CRT, or Shadow Mask enables BGFX for the scoped launch. A Graphics API override by itself only selects the API used after BGFX is enabled.

Use one chain name for a single-screen game. For multiple MAME screens, provide the chain list in screen order. Save the settings and test one raster game and one vector game before applying the same values to the full library.

Collections​

The wizard can auto-create collections from your imported MAME games:

CollectionWhat's in it
SubCategoriesGenre-based sub-collections (Shooters, Fighters, Platformers, etc.)
2-Player & 4-PlayerMultiplayer games, organized by player count
Vertically-Oriented GamesVertical-screen games (great for vertical cabinet setups)

Changing ROM Paths Later​

  1. Go to Systems, find your MAME system
  2. Open System Settings → ROM Paths
  3. Add or remove paths, then click Save
  4. HyperHQ updates mame.ini automatically

Add Selected Games From a Text List​

Use a reusable plain-text list when you want to add specific MAME games without rebuilding the system. See Import a MAME ROM List.

Console and computer software​

MAME also runs consoles and computers. Use the command for the matching system, rather than the arcade ROM-name launch command. The official Using MAME guide explains system names, media switches, and software-list loading.

HyperHQ command-line examples​

Select your standalone MAME executable separately. In the platform's supported-systems list, edit the command for the matching system and save:

SystemCartridge command argumentsSystem ROMs
Emerson Arcadia 2001arcadia -cart "%rom.path%"No separate system ROM dump
APF Imagination Machineapfimag -cart "%rom.path%"Required, shares M-1000 ROMs
APF M-1000apfm1000 -cart "%rom.path%"Required
Atari 2600a2600 -cart "%rom.path%"No separate system ROM dump
Atari 5200a5200 -cart "%rom.path%"Required
Atari 7800a7800 -cart "%rom.path%"Required
Bally Astrocadeastrocde -cart "%rom.path%"Required
ColecoVisioncoleco -cart "%rom.path%"Required
Mattel Intellivisionintv -cart "%rom.path%"Required
GCE Vectrexvectrex -cart "%rom.path%"Required
Magnavox Odyssey2odyssey2 -cart "%rom.path%"Required
Philips Videopac, PALvideopac -cart "%rom.path%"Required
Fairchild Channel Fchannelf -cart "%rom.path%"Required
RCA Studio IIstudio2 -cart "%rom.path%"Required

HyperHQ replaces %rom.path% with the game's full file path. Keep the quotes for paths containing spaces. These arguments apply on Windows and Linux. Choose mame.exe on Windows or your native MAME executable on Linux. For Flatpak, retain the configured launcher and grant access to the ROM folder.

These commands mount cartridge images. RetroArch uses different launch arguments. The Atari 2600, Atari 7800, and ColecoVision examples select NTSC machines. Match the machine variant to your game's region; check available names with -listfull.

For rows marked Required, provide the matching MAME system ROM set in a folder listed in rompath. For example, a5200.zip holds Atari 5200 system ROMs. Keep system ROM sets separate from game cartridges. Use -listroms for the selected machine to check exact filenames and additional device ROMs. Renaming a BIOS from another emulator does not establish a matching dump.

Computer cartridges, disks, and tapes​

Choose the command matching your media. These examples use the default drive configuration. Check your installed version with -listmedia before changing drive slots.

SystemMediaCommand arguments
Commodore 64Cartridge, such as .crtc64 -cart "%rom.path%"
Commodore 64Disk, such as .d64c64 -flop1 "%rom.path%"
Commodore 64Tape, such as .tapc64 -cass "%rom.path%"
Coleco AdamCartridgeadam -cart "%rom.path%"
Coleco AdamDisk, such as .dskadam -flop1 "%rom.path%"
Coleco AdamDigital Data Pack, .ddpadam -cass1 "%rom.path%"
Amstrad CPC6128Disk, such as .dskcpc6128 -flop1 "%rom.path%"
Amstrad CPC6128Tape, such as .cdtcpc6128 -cass "%rom.path%"

All three computers require system ROMs. Their configured disk drives and other devices also have ROM requirements. Check -listroms with the same machine and slot options used for launch. The Adam's Digital Data Pack device exposes cassette images; .ddp files use -cass1, rather than the disk switch.

These commands attach media. They do not provide a universal automatic boot sequence. For the C64 and CPC, follow the game's BASIC load/run instructions and start tape playback when prompted. For Adam disk and Data Pack software, use a bootable image and follow the title's startup instructions. A BASIC or word-processor screen alone does not prove a failed media mount.

The C64 examples select the NTSC c64 machine. Use c64p for the PAL model when needed. CPC6128 disk examples do not apply to the cassette-only CPC464 without a disk interface. Use supported media formats from -listmedia; the same extension on two computers does not imply compatible content.

BIN files and ZIP archives​

Start with one extracted cartridge image in a format listed by the selected machine's -listmedia output, such as .bin, .a78, .col, .int, .vec, or .st2 where supported. If the game launches, test the archive separately. MAME supports ZIP and 7-Zip archives, but an archive extension alone does not establish a valid cartridge image or software-list set. Read the official file search and archive guide for archive limits, required filenames, and ROM search paths.

APF also needs its system ROMs. The standard BIOS is apf_4000.rom; an apfm1000.zip containing the matching ROM belongs in a folder listed in MAME's rompath. The Imagination Machine shares the M-1000 system ROMs.

Check your installed MAME version​

Run these commands from the MAME installation folder in Windows PowerShell:

.\mame.exe arcadia -listmedia
.\mame.exe apfimag -listmedia
.\mame.exe apfimag -listroms
.\mame.exe a5200 -listroms
.\mame.exe c64 -listmedia
.\mame.exe adam -listmedia
.\mame.exe cpc6128 -listmedia

On Linux, use mame in place of .\mame.exe, or ./mame for an executable in the current folder. Use your Flatpak launch command for a Flatpak installation.

-listmedia shows supported media switches and extensions. -listroms lists required system ROMs. For a failed launch, run the same system, media switch, and full game path directly in a terminal, then read MAME's error. See the official command-line reference for these diagnostic commands.

Troubleshooting​

MAME wizard doesn't open​

  • The MAME plugin must be installed. Check Settings → Plugins for the MAME plugin status.
  • If the plugin shows as missing, the wizard will attempt to reinstall it automatically on open.

No MAME versions listed​

  • Check your internet connection - the version list is fetched from GitHub releases.
  • Close and reopen the wizard to retry.

ROMs not appearing after import​

  • Verify the ROM path is correct in System Settings → ROM Paths.
  • ROM files should be .zip archives in the root of your ROM folder.
  • Check your filter settings - aggressive filters can hide most of your collection.

Games show as unplayable​

  • These are ROMs marked "preliminary" in MAME (not fully emulated). Disable the "Include Preliminary" filter, or leave them visible if you want to see everything.

BGFX starts with a blank or corrupted display​

  • Set BGFX Graphics API to Auto and test again.
  • Confirm the screen-chain name exists in the MAME installation.
  • Remove system or game overrides to test the platform-wide values.
  • Test MAME directly with the same BGFX chain.

Clone games are missing​

  • Check the Clone Handling filter. If set to "Skip all clones," only parent ROMs appear.
  • Switch to "Merge clones together" or "Fetch clones separately" and re-apply filters.

mame.ini not updating when I change ROM paths​

  • Verify the platform executable and configuration location in HyperHQ. Use the Windows executable, Linux executable, or Flatpak launcher matching your installation.
  • Check System Settings → Emulator and confirm the path is populated.