vpinball / pinmame

PinMAME - Pinball Multiple Arcade Machine Emulator
https://www.vpforums.org
Other
175 stars 48 forks source link
emulation emulator pinball pinmame

PinMAME

Pinball Multiple Arcade Machine Emulator

What is it?

PinMAME emulates the hardware found in almost every solid state pinball machine created from the earliest days of CPU-controlled machines (mid 1970's) through 2014 (Stern SAM), with around 770 emulated unique Pinball machines and many more clones/revisions (overall more than 2700 sets). It is available in various forms:

Standalone Emulator (PinMAME (command line), PinMAME32 (UI))

COM library (VPinMAME) to steer simulators like Visual Pinball 8/9/X

library (libPinMAME) to steer simulators like VPE, VPX Standalone, or hardware replacement solutions like PPUC

Currently, the following pinball hardware is emulated:

Williams/Bally WPC, Williams/Bally System 11, Williams System 9, Williams System 7, Williams System 6, Williams System 4, Williams System 3, Data East AlphaNumeric System, Data East 128x16 DMD, Data East 128x32 DMD, Data East/Sega 192x64 DMD, Sega/Stern Whitestar System, Stern S.A.M., Stern MPU-100, Stern MPU-200, Bally MPU-17 & MPU-35, Bally Video/Pinball, Bally 6803, Gottlieb System 1, 80, 80a, 80b, System 3, Hankin, Gameplan MPU-1 & MPU-2, Atari, Zaccaria, Taito of Brazil, Midway, Capcom, Alvin G. and Co., Technoplay, Mr.Game, Spinball, Nuova Bell, Inder, Juegos Populares, LTD, Peyper, Sonic, Allied Leisure, Fascination, Int., Sleic, Playmatic, NSM, Grand Products, Jac van Ham, Videodens, Astro, Micropin, Christian Tabart, Jeutel, Valley Manufacturing, MAC / CICPlay, Stargame, Barni, Seeben/Sirmo, Splin Bingo, Playbar, Cirsa, Nondum / CIFA, Maibesa, ManilaMatic, Joctronic, Mirco, Sport Matic, Regama, Illinois Pinball.

Note: Emulation is not 100% working and correct for all hardware, but very close for the vast majority.

PinMAME is built as an add-on to the historic MAME 0.76 Source Code. Some of the original code was altered, and fixes from later MAME versions were applied. In addition, it can be compiled on unix platforms (including macOS) and is (hopefully) 100% compatible with 64bit CPU architectures/compiles by now.

All the historic MAME readme files with all disclaimers, credits and instructions are included for info on using MAME related functions.

All standard MAME "functions" do work the same way in PinMAME (profiler, debugger, cheats, record/playback, command line switches etc.).

In addition, there is special compile time support for the P-ROC, to drive (at least) real WPC machines with PinMAME/P-ROC, PPUC and LISY (Linux for Gottlieb System1 & System80, Bally, Atari, Williams and 'HOme' Pinballs, to drive real pinball machines via PinMAME and special hardware, see http://www.lisy80.com & http://www.lisy.dev, also README.lisy) platforms (see PROC and LISY_X defines in makefile.unix).

What does it do?

Before you start to add the ROMs from your favorite pinball machine please note:

Games supported (incomplete)

"Supported" usually means that the game loads and the display(s) start up along with lamps etc. All games enter attract mode and you can use the Coin Door switches to enter the menus.

Notes

Simulation?

For many games there is a ball simulator which you can use to simulate "playing" the game. The simulator allows you to use the keyboard to make shots/hit targets with your virtual/invisible pinball..

Essentially, it triggers the correct switches depending on where the balls are located. You can program a simulator for your own favourite game if you know a bit of programming and a lot about the game. If you are intersted let us know and we'll try to explain how to do it.

For more information, please refer to simulation.txt for instructions on using the pinball simulator built into PinMAME! Many games are not fully simulated, but some have at least preliminary simulator support!

Note from the PinMAME Development team

We're working hard to improve this great emulator, and welcome your feedback!! Please do not hesitate to contact us with questions, bug reports, suggestions, code patches, whatever!