

Arcade Emulation Through the RetroArch Frontend
Run MAME games through RetroArch's libretro core system β combining MAME's arcade accuracy with RetroArch's shader pipeline, overlay system, controller mapping, and unified frontend. The right choice when you're already running RetroArch for other systems.
Building a dedicated MAME cabinet? The standalone mame.exe approach gives you the full mame.ini hierarchy and direct hardware access.
Running MAME through RetroArch means using a libretro core β a shared library that wraps MAME's emulation engine and exposes it to RetroArch's unified frontend. You get MAME's arcade accuracy combined with RetroArch's shader pipeline, overlay system, controller remapping, and save state management.
The key difference from standalone MAME is that configuration happens through RetroArch's menu system and .cfg override files rather than mame.ini. This approach is ideal if you're already using RetroArch for other systems (PS1, SNES, N64) and want a single unified frontend for your entire cabinet.
π‘ If You Only Remember One Thing
Each MAME core requires a specific ROM set version. Using the wrong ROM set version is the #1 cause of games failing to load. Match your ROMs to your core version β not to the latest MAME release.
RetroArch offers multiple MAME cores, each frozen at a different MAME version. The core version determines which ROM set you need, what games are supported, and how much CPU power is required. There is no single "best" core β the right choice depends on your hardware and game library.
| Core | ROM Set | Games | Performance | RA Achievements | Best For |
|---|---|---|---|---|---|
| MAME 2003-Plus | MAME 0.78 (2003) | ~4,000 games | Excellent | β Yes | Older hardware, Pi, low-spec PCs, RA achievements |
| MAME 2010 | MAME 0.139 (2010) | ~8,000 games | Good | β | Mid-era titles, better accuracy than 2003 |
| MAME 2016 | MAME 0.174 (2016) | ~30,000 games | Moderate | β | Broad compatibility, newer titles, full-power PCs |
| MAME (current) | Latest MAME | 32,000+ games | Heavy | β | Maximum accuracy, matches standalone MAME |
| FBNeo | FBNeo (own set) | ~7,000 games | Excellent | β Yes | Fighting games, Neo Geo, CPS1/2/3, best playability |
β Recommended for Arcade Cabinets
MAME 2003-Plus is the sweet spot for most arcade cabinet builds. It covers the golden age of arcade (1980sβearly 2000s), supports RetroAchievements, runs well on modest hardware, and has the most active community support for core options and bug fixes.
π₯ Fighting Game Cabinets: Use FBNeo
If your cabinet focuses on fighting games (Street Fighter, King of Fighters, Mortal Kombat, Neo Geo), FBNeo is the better choice. It has superior CPS1/CPS2/CPS3 and Neo Geo compatibility, supports RetroAchievements, and is actively maintained for playability.
Demonstrates mapping arcade controls (Ultimarc I-PAC-4) to RetroArch with the MAME libretro core β directly applicable to any arcade panel encoder including Zero Delay, Brook UFB, and J-PAC.
This is the most critical concept in MAME via RetroArch. Every MAME core is frozen at a specific MAME version, and it requires ROMs built for that exact version. A ROM that works in standalone MAME 0.281 will often fail in MAME 2003-Plus because the internal file structure changed between versions.
MAME 2003-Plus β MAME 0.78 ROM set
The '2003-Plus' suffix means the core has been extended beyond the original 0.78 freeze with community patches, but it still requires the 0.78-based ROM set as its foundation. Do not use a current MAME ROM set with this core.
Parent/Clone ROM structure must be preserved
MAME uses a parent/clone ROM set structure. Many games are 'clones' of a parent ROM (e.g., Street Fighter II has dozens of regional variants). You must have the parent ROM present even if you only want to play a clone. Do not delete parent ROMs to save space.
BIOS ROMs go in the same folder as game ROMs
Some arcade boards require a BIOS ROM (e.g., neogeo.zip for Neo Geo games, pgm.zip for PolyGame Master). These BIOS files must be in the same directory as your game ROMs, not in a separate BIOS folder. RetroArch does not have a separate BIOS path for MAME cores.
CHD files go in a subfolder named after the game
Games that use CHD (Compressed Hunks of Data) disk images require the CHD file in a subfolder matching the game's ROM name. Example: if the game ROM is 'mktrio.zip', the CHD goes in 'mktrio/mktrio.chd' relative to your ROM directory.
MAME 2003-Plus) and download itRetroArch/cores/mame2003_plus_libretro.dll (Windows)# Recommended folder structure
ROMs/
arcade/ β all .zip ROM files here
neogeo.zip β BIOS ROMs in same folder
sf2.zip
sf2ce.zip β clone of sf2
mktrio/
mktrio.chd β CHD in subfolder named after game
In RetroArch, go to Settings β Directory β File Browser and point it to your arcade ROM folder.
.zip fileFor arcade cabinet use, you'll want your games in a playlist for the frontend to display. In RetroArch:
Arcade.lpl playlist automaticallyDetailed walkthrough of MAME 2003-Plus core options inside RetroArch β covers controller support, core-specific settings, and configuration that goes beyond the basic setup.
RetroArch uses a universal controller abstraction called RetroPad. All arcade inputs are mapped through RetroPad first, then the MAME core translates RetroPad buttons to arcade inputs. This two-layer system is different from standalone MAME's direct input mapping.
Tip: Map your encoder in the encoder's own software first (e.g., WinIPAC for I-PAC), then map in RetroArch. This gives you two layers of remapping flexibility.
One of the main reasons to use MAME via RetroArch over standalone is access to RetroArch's shader pipeline. CRT shaders simulate the scanline and phosphor glow of original arcade monitors, which significantly improves the visual authenticity of low-resolution arcade games on modern displays.
Classic CRT simulation with curvature and scanlines. The standard starting point for arcade CRT emulation. Moderate performance cost.
shaders/crt/crt-geom.glslpHigh-quality multi-pass CRT shader with accurate phosphor simulation, bloom, and halation. Requires a capable GPU.
shaders/crt/crt-royale.slangpLightweight CRT shader with good scanline quality. Best for lower-spec hardware where CRT-Geom is too heavy.
shaders/crt/crt-easymode.glslpFull cabinet bezel overlay + CRT simulation in one shader pack. Creates a complete arcade monitor-in-cabinet look.
shaders/bezel/Mega_Bezel/How to apply: Load a game β Quick Menu β Shaders β Load Shader Preset β navigate to your shader β Apply Shader. To make it permanent: Save Shader Preset As β Core Preset (applies to all arcade games) or Game Preset (game-specific).
Overlays add artwork borders around the game image, simulating the cabinet bezel artwork. For arcade cabinets with a monitor that's smaller than the screen area, overlays fill the unused screen space with game-appropriate artwork.
.cfg and .png files in RetroArch/overlays/arcade/Full walkthrough of MAME 2016 core setup in RetroArch including Mega Bezel shader installation β shows exactly how the shader + overlay pipeline works for arcade cabinet displays.
RetroArch's override system is the equivalent of standalone MAME's mame.ini hierarchy. Overrides let you save different settings at different levels β global, per-core, per-content-directory, or per-game β without affecting other systems.
# RetroArch override hierarchy (highest priority wins)
Game Override β [gamename].cfg (highest priority)
Content Dir Override β [foldername].cfg
Core Override β [corename].cfg
Global Config β retroarch.cfg (lowest priority)
Save Core Override
Quick Menu β Overrides β Save Core Overrides
Settings that should apply to all MAME games (e.g., your controller mapping, shader preset)
Save Content Dir Override
Quick Menu β Overrides β Save Content Directory Overrides
Settings for a specific ROM folder (e.g., a dedicated Neo Geo folder with different aspect ratio)
Save Game Override
Quick Menu β Overrides β Save Game Overrides
Per-game settings (e.g., a specific game needs a different shader or aspect ratio)
Hide RetroArch UI
In retroarch.cfg, set menu_driver = "rgui" and configure pause_nonactive = "false". For full kiosk lockdown, use RetroArch's built-in Kiosk Mode: Settings β User Interface β Kiosk Mode.
LaunchBox / BigBox Integration
Add RetroArch as an emulator in LaunchBox. Set the command line to: retroarch.exe -L cores\mame2003_plus_libretro.dll "%ROM%". BigBox handles the frontend β RetroArch launches games directly without showing its menu.
Fullscreen Autostart
Set video_fullscreen = "true" in retroarch.cfg. Combine with Windows startup scripts to launch BigBox on boot for a true kiosk experience.
Pre-Configured Setup
All G&G Arcade cabinets ship with RetroArch pre-configured with MAME 2003-Plus and FBNeo cores, optimized core options, CRT shader presets, and arcade panel controller mappings already in place.
Arcade Assistant Integration
The Arcade Assistant AI can answer questions about MAME core selection, ROM compatibility, and controller mapping in real time β accessible directly from the cabinet's interface.
Vertical Game Rotation
For vertical arcade games (Galaga, Pac-Man, Donkey Kong), use RetroArch's Quick Menu β Video β Rotation to rotate 90Β°. Save as a Game Override so only that game rotates.
Game fails to load / "No game" error
Cause: Wrong ROM set version for the core
Fix: Verify your ROM set matches the core version. MAME 2003-Plus requires MAME 0.78-based ROMs. Use a ROM set auditing tool (CLRMamePro, RomVault) to verify against the core's DAT file.
Game loads but shows missing ROMs
Cause: Missing parent ROM or BIOS file
Fix: Ensure the parent ROM is present in the same directory as the clone. BIOS files (neogeo.zip, pgm.zip, etc.) must also be in the ROM directory, not a separate BIOS folder.
Controls not working in game
Cause: RetroPad mapping not saved, or encoder not recognized
Fix: Go to Settings β Input β Port 1 Controls and remap. Ensure your encoder is connected before launching RetroArch. Save the remap file via Quick Menu β Controls β Save Core Remap File.
Black screen after loading game
Cause: Video driver incompatibility or shader crash
Fix: Disable shaders first (Quick Menu β Shaders β Unload). If the game loads without shaders, the shader is the issue. Try a different video driver: Settings β Drivers β Video (try d3d11, d3d12, or vulkan).
Game runs too slow
Cause: Core too heavy for hardware, or shader overhead
Fix: Switch to a lighter core (MAME 2003-Plus instead of MAME 2016/current). Disable or simplify shaders. Check Settings β Frame Throttle β Fast-Forward Rate is not accidentally enabled.
Vertical game not rotating
Cause: Rotation not set or not saved as override
Fix: Quick Menu β Video β Rotation β 90Β°. Then Quick Menu β Overrides β Save Game Overrides. The rotation must be saved as a game override or it resets on next load.
Both approaches run MAME games, but they serve different use cases. Here's a direct comparison to help you decide which is right for your build.
| Feature | MAME via RetroArch | Standalone MAME |
|---|---|---|
| ROM set required | Core-specific (e.g., 0.78) | Latest MAME |
| Shader pipeline | β Full RetroArch shaders | Limited (HLSL/BGFX) |
| Overlay / bezels | β Native overlay system | Artwork packs only |
| RetroAchievements | β (2003-Plus, FBNeo) | β Not supported |
| Multi-system frontend | β One frontend for all systems | β MAME only |
| Game compatibility | Core-limited (~4Kβ30K games) | 32,000+ games |
| Configuration method | RetroArch menus + .cfg files | mame.ini hierarchy |
| Hardware accuracy | Good (frozen core version) | Best (always current) |
| Vertical game rotation | Quick Menu β Video | mame.ini / vertical.ini |
| Best for | Multi-system cabinets, achievements | Dedicated MAME cabinets, preservation |
Choose MAME via RetroArch ifβ¦
Choose Standalone MAME ifβ¦
β οΈ Legal Notice
RetroArch and all MAME libretro cores are free, open-source software. Using them is legal. However, playing games requires legally obtained ROM files.
You must own the original arcade PCB of any game you emulate. Downloading ROM files from the internet for games you do not own is copyright infringement in most jurisdictions.
G&G Arcade does not provide, link to, or endorse ROM or BIOS file downloads. This guide covers configuration of legally obtained software only.