MAME MESS EMULATOR
pinmame
PinMAME is an emulator of pinball-machine controller hardware (the microcontroller/driver and lamp/coil/display subsystems used in real pinball machines) intended to run pinball ROM code for recreations and virtual pinball frontends. It is distributed from the vpinball GitHub repository and is commonly used together with Visual Pinball / Visual Pinball X as

WHY IT MATTERS
Why PinMAME matters
PinMAME reproduces the low-level behavior of pinball machine hardware so original ROM code (the program from the real machine) can be executed by modern software. That makes accurate rule play, sound hookup and device timing possible for virtual pinball tables and for hobbyist restoration/emulation projects. It has long been the standard solution for running manufactured pinball ROMs inside virtual pinball environments.
BEST FOR
Best for
Users who want to run original pinball ROMs inside Visual Pinball (VP/VPX) or other pinball frontends, hobbyists recreating physical machine logic in software, and archival/emulation work that requires the original game code executed against emulated pinball hardware.
The people behind pinmame
History and status
PinMAME began as a pinball-focused offshoot of arcade-emulation efforts to reproduce the hardware controllers used in electromechanical and solid-state pinball machines. Over time it became tightly integrated with the Visual Pinball ecosystem as a DLL backend (often called VPinMAME) that supplies the game's logic to the Visual Pinball player. Development is active on the vpinball/pinmame GitHub repository (binary releases are published there). Community discussion, installation guides and user support are concentrated on the Visual Pinball/VPForums community pages. PinMAME’s role overlaps but differs from MAME: while MAME aims to reproduce a wide range of arcade and computer systems, PinMAME is focused on pinball hardware emulation and the specific needs of virtual pinball frontends and projects."
What pinmame supports
- Pinball machine controller hardware from many commercial pinball manufacturers and eras (used to run original pinball ROMs in virtual table projects)
- Integration with Visual Pinball / Visual PinMAME (VPinMAME) frontends and plugins
- Common pinball outputs: lamps, coils, switches, displays (handled via the frontend integration)"],
- download_text":"Official releases (prebuilt binaries) and source are published on the project's GitHub releases page; community guidance and installation examples are on the Visual Pinball / VPForums documentation and tutorial pages. Use the GitHub releases for the current official builds; follow forum installation guides for Visual Pinball integration and table-specific ROM placement." ,
- guide_intro":"This setup-focused guide assumes you are creating a Windows-based Visual Pinball / Virtual Pinball (VPX) environment, which is the most common and best-supported use for PinMAME. If you prefer building from source or using non-Windows platforms, consult the repository and community threads first. Do not copy commercial ROMs, BIOS, or firmware from copyrighted sources; only use ROMs you legally own or that are freely available.",
- guide_steps":[{
Download and availability
OFFICIAL DOWNLOADS
Get pinmame
Official releases (prebuilt binaries) and source are published on the project's GitHub releases page; community guidance and installation examples are on the Visual Pinball / VPForums documentation and tutorial pages. Use the GitHub releases for the current official builds; follow forum installation guides for Visual Pinball integration and table-specific ROM placement.
Get pinmame ↗DOCUMENTATION
Official documentation
Read the official configuration, compatibility, and troubleshooting material before changing advanced options.
Read official documentation ↗pinmame setup guide
Setup note: This setup-focused guide assumes you are creating a Windows-based Visual Pinball / Virtual Pinball (VPX) environment, which is the most common and best-supported use for PinMAME. If you prefer building from source or using non-Windows platforms, consult the repository and community threads first. Do not copy commercial ROMs, BIOS, or firmware from copyrighted sources; only use ROMs you legally own or that are freely available.
- 1) Get the official build or source: Download the latest prebuilt release from the vpinball/pinmame GitHub releases page or clone the repository and follow the build instructions if you prefer building from source. The releases page contains packaged binaries suitable for common VP setups.
- 2) Install Visual Pinball / frontend: PinMAME is normally used as a backend to Visual Pinball (VP/VPX). Install Visual Pinball according to its documentation (VPForums or the Visual Pinball project docs). The Visual Pinball player expects a compatible PinMAME (VPinMAME) DLL or executable in its plugin/VM path.
- 3) Create the PinMAME ROM directory: Create the pinmame ROM directory expected by your VPX/VP installation (many guides and builds look for a .pinmame or a PinMAME\Roms folder inside the VP/VPX data tree). Place each game’s ROM files in the correct subfolder named for the game as the frontend expects. Do not place commercial ROM data that you do not own; follow legal and copyright guidance.
- 4) Configure the frontend to use PinMAME: Configure Visual Pinball/VPX to point to the PinMAME binary/DLL through its plugin or scripting options (the VP documentation and VPForums installation guides show where to set the path). If PinMAME is provided as a DLL, the frontend will call it directly; if it's an external executable, the frontend will call or wrap it as configured.
- 5) Table-specific files and DMD/sound assets: Most modern tables require additional table-specific assets (display bitmaps, sound sets, media packs) that are not included with PinMAME. Install any required assets into the VP/VPX table folders as indicated by the table’s documentation or the VPForums tutorial for that table.
- 6) Runtime testing and troubleshooting: Start the Visual Pinball player and open the table. If the table reports missing ROMs, confirm filenames and locations match what PinMAME expects. Consult the VPForums Visual PinMAME installation threads for common errors (missing .pinmame folder, DLL version mismatches, registry settings for rotation/DMD, etc.). Community threads and release notes list known issues and required companion tools.
- 7) Advanced: building or updating: If you build PinMAME from source, follow the repository README/build instructions. Keep the frontend and PinMAME versions compatible: major changes in VPX or PinMAME may require matching versions. Use the GitHub releases notes and VPForums changelogs to check compatibility before upgrading a production setup.
Software reminder: PinMAME does not include commercial games, firmware, BIOS, or proprietary table media. You must supply any copyrighted ROMs or media legally. Follow the repository README and VPForums instructions for exact filenames, folder names and any required registry keys or configuration entries.
Sources and further reading
Detailed guides and tutorials
Explore step-by-step guides for pinmame as they are published.
Retro Replay Retro Gaming History, Reviews & Emulation