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.iniautomatically - Creating collections (genre subcategories, multiplayer, vertical games)
Opening the MAME Wizard
- Go to Systems
- Click Add System
- Look for the MAME tile - it's separate from the regular system picker
- The MAME wizard opens in a multi-step flow
Step 1: Choose Your Setup Type
The first step asks what you want to do:
| Option | What it does |
|---|---|
| Install MAME | Downloads a specific MAME version and sets everything up fresh |
| Use Existing MAME | Points HyperHQ to a MAME folder you already have on disk |
| Update / Upgrade | Updates an existing HyperHQ MAME installation to a newer version |
| ROM Filters Only | Modify which ROMs appear for an already-configured MAME system |
| Add ROMs Folder | Add a new ROM path to an existing MAME system |
New Installation Flow
If you chose Install MAME:
- Select a Version - pick from available MAME releases (fetched from GitHub). Already-installed versions are marked so you don't duplicate them.
- 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
.zipROM files; HyperHQ scans what you have
- Set ROM Path - browse to the folder where your MAME ROMs are (or will be) stored
- Apply Filters (see ROM Filters below)
- Media Downloads - choose which artwork types to download (box art, marquees, video snaps, etc.)
- Collections - optionally create pre-built collections from your imported games
- Save - MAME downloads in the background and your system is created
Existing Installation Flow
If you chose Use Existing MAME:
- Select your existing MAME installation:
mame.exeon Windows or the native MAME executable on Linux. For a Flatpak installation, keep the launcher selected by the Linux provider. - HyperHQ validates the installation and detects the version
- 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.
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.
- Open the MAME emulator from your system's Platforms tab.
- Open Plugins.
- Turn Hiscore Support on.
- 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.
| Setting | Purpose |
|---|---|
| BGFX Graphics API | Selects Auto, Direct3D 9, Direct3D 11, Direct3D 12, OpenGL, OpenGL ES, Metal, or Vulkan. Start with Auto. |
| BGFX Screen Chains | Applies one chain or a per-screen list, such as crt-geom, hlsl,hlsl,hlsl, or hlsl:unfiltered. |
| BGFX Vector CRT | Adds persistent phosphor and beam simulation for vector games. |
| BGFX Shadow Mask | Uses 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:
| Collection | What's in it |
|---|---|
| SubCategories | Genre-based sub-collections (Shooters, Fighters, Platformers, etc.) |
| 2-Player & 4-Player | Multiplayer games, organized by player count |
| Vertically-Oriented Games | Vertical-screen games (great for vertical cabinet setups) |
Changing ROM Paths Later
- Go to Systems, find your MAME system
- Open System Settings → ROM Paths
- Add or remove paths, then click Save
- HyperHQ updates
mame.iniautomatically
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:
| System | Cartridge command arguments | System ROMs |
|---|---|---|
| Emerson Arcadia 2001 | arcadia -cart "%rom.path%" | No separate system ROM dump |
| APF Imagination Machine | apfimag -cart "%rom.path%" | Required, shares M-1000 ROMs |
| APF M-1000 | apfm1000 -cart "%rom.path%" | Required |
| Atari 2600 | a2600 -cart "%rom.path%" | No separate system ROM dump |
| Atari 5200 | a5200 -cart "%rom.path%" | Required |
| Atari 7800 | a7800 -cart "%rom.path%" | Required |
| Bally Astrocade | astrocde -cart "%rom.path%" | Required |
| ColecoVision | coleco -cart "%rom.path%" | Required |
| Mattel Intellivision | intv -cart "%rom.path%" | Required |
| GCE Vectrex | vectrex -cart "%rom.path%" | Required |
| Magnavox Odyssey2 | odyssey2 -cart "%rom.path%" | Required |
| Philips Videopac, PAL | videopac -cart "%rom.path%" | Required |
| Fairchild Channel F | channelf -cart "%rom.path%" | Required |
| RCA Studio II | studio2 -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.
| System | Media | Command arguments |
|---|---|---|
| Commodore 64 | Cartridge, such as .crt | c64 -cart "%rom.path%" |
| Commodore 64 | Disk, such as .d64 | c64 -flop1 "%rom.path%" |
| Commodore 64 | Tape, such as .tap | c64 -cass "%rom.path%" |
| Coleco Adam | Cartridge | adam -cart "%rom.path%" |
| Coleco Adam | Disk, such as .dsk | adam -flop1 "%rom.path%" |
| Coleco Adam | Digital Data Pack, .ddp | adam -cass1 "%rom.path%" |
| Amstrad CPC6128 | Disk, such as .dsk | cpc6128 -flop1 "%rom.path%" |
| Amstrad CPC6128 | Tape, such as .cdt | cpc6128 -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
.ziparchives 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.