15. Pinball Software Setup
Now let's look at the software needed to transform this from
a plain Windows PC to a pin cab machine.
The main software you need, of course, is the pinball simulator. To
take advantage of the special features of a cab, you also need some
add-ons to display the backglass artwork and control the feedback
devices. You'll also want a "front end" program that provides an
interactive menu for selecting tables to play. We'll look at the
options for all of these in this chapter.
Should I use "Run as Administrator" for everything?
The simple answer is No. You might find advice in the forums or FAQs
or other guides saying that you should routinely run everything in
Admin Mode. My advice is to ignore that other advice, because it's
usually outdated or misinformed.
What is "Admin Mode" anyway? Microsoft divided things into "Admin"
and "User" spaces to protect the internals of the system from being
accidentally damaged by software bugs or user errors, or intentionally
damaged by malware. Programs running in User Mode have some
restrictions on what they can access, but Admin Mode programs can
access everything. Admin Mode is supposed to be reserved for special
system programs that have a legitimate reason to modify your system
internals - programs like installers, disk management tools, and
system control panels. Everything else is supposed to run in regular
"User" mode.
So why do so some people on the forums tell you that you should
use Admin Mode routinely, when Microsoft says you shouldn't? The
reason is mostly "history". In the old days, there were a few
isolated software components in the pinball simulation ecosystem that
really did require Admin Mode to work properly. The snag is that
Windows erects protective barriers around an Admin Mode program.
Those barriers prevent it from interacting with regular User programs.
But the pinball ecosystem is made up of a bunch of programs that were
designed to interact with each other. So if you run program X in
Admin Mode, and program Y needs to interact with it, then you
also have to run program Y in Admin Mode. I think you can see
where this idea that "you've got to just run everything in Admin Mode
all the time" came from - it was a blunt instrument, but it was a way
to get around these program interaction problems that Admin Mode
created.
Okay, so if "Admin Mode everywhere all the time" is a simple way to
solve thorny problems, why am I saying you shouldn't use it?
The main reason is that, while it might solve some problems, it
creates others. Microsoft doesn't want you to use Admin Mode
routinely for everything, so you're always somewhat fighting with
Windows if you do. It also reduces your system's security by
defeating all of the protective mechanisms that Microsoft designed
into Admin Mode in the first place.
The right solution - from a security perspective, and in terms of
simplicity - is to stop using Admin Mode for any of your
pinball software. If you run everything in regular User Mode,
everything will be able to interact as it was designed to, with no
hassles at the system level. Remember how I said that this whole
Admin Mode fiasco is historical, because it was a requirement for
certain components in the old days? Fortunately, it really is
mostly relegated to the past now. Those old Admin Mode requirements
were almost all due to software bugs, not actual engineering
requirements, and all of the cases that I'm aware of have been fixed
in modern versions. As of 2020, I don't think that any of the common
pin sim components require Admin Mode, as long as you've updated to
current versions.
If you do encounter any up-to-date pinball-related programs that say
"Admin mode required", you should take a critical look at them and
make sure the requirement is real, not just a misunderstanding.
There's still a lot of confusion about this, so you can't always trust
the FAQs and guides. My personal policy is that I simply won't run
programs with unnecessary Admin Mode dependencies until the developer
fixes them. I realize that not everyone can bring themselves to be so
ruthless, when faced with a fun new feature that they really want. If
you find a program that you can't live without, and there's just no
way around its "requires Admin Mode" problem, I'd at least try to hold
firm on one thing: don't let it "infect" the rest of your system with
its Admin Mode requirement. One concrete thing you can do is to use
PinballY as your front end. It
has the ability to launch Admin Mode programs
without running
in Admin Mode itself. A major cause of the Admin Mode infection is
that none of the other front ends can launch Admin Mode programs
unless you also run them in Admin Mode, and of course if you do that,
everything they launch will be in Admin Mode. And as I said, that
might
seem like it works for a while, but it's likely to
eventually cause its own problems.
Customization log
Before you do anything else, I think it's a good idea to create
"customization log" file. This is just text file for your own use -
you can create it with Notepad and leave it empty for now. Put it
someplace where you'll be able to find it easily in the future, such
as right on the Windows desktop on your cab PC.
The point of this file is to jot down all of the special
customizations you make to Visual Pinball and other software. VP in
particular forces you to make some customizations in ways that you'll
have to repeat each time you update to a new version. For example,
some customizations require that you hand-edit VP's shared script
files, and those changes will be lost on each update because VP will
overwrite the scripts with its own updated copies. That's not a very
friendly design on VP's part, I know, but it's just the way some
things in VP work.
I'll mention this file again in other chapters when these sorts of
changes come up, with a suggestion that you make a note in your
customization log file. For now, just create the file so it'll be
ready when you need it. In the future, whenever you make a change
that warrants inclusion, add a note about it to the file. When it
comes time to update VP or other software, you can refer back to this
file to reinstate any customizations that got lost in the update
process. The same goes if you ever have to rebuild your Windows
system due to a system upgrade or disk failure.
Free pinball players
There are three main free pinball player programs for Windows:
- Visual Pinball 9
- Visual Pinball 10 (also known as VP X)
- Future Pinball
Visual Pinball is the essential program for a virtual cab. VP is an
open-source project with an active developer community and frequent
updates. Hundreds of tables are available, including re-creations of
a pretty good percentage of all of the real pinball machines across
the decades, plus many original tables. VP has excellent support for
the whole gamut of special pin cab features: backglass monitors, DMDs,
feedback devices, plunger inputs, accelerometer nudging.
I counted VP 9 and 10 as two separate programs because they're not
compatible with each other's tables, so you really have to install
both. There's also a much older version 8, plus a couple of
different, mutually incompatible versions of VP 9. Some people like
to keep all of these installed because, again, individual tables are
all tied to specific VP versions, so you need all of the VP versions
if you want the ability to play all of the tables out there. (VP
isn't very good at compatibility.) Fortunately, there's a combined
installer that sets up the whole collection of VP versions with a
single download and a single install process.
Future Pinball is another free player, but unlike VP, it's no longer
being maintained or updated. Its original creator abandoned it a long
time ago and never released the source code, so it's basically a dead
end. Even so, you might want to install it to gain access to its
tables, since there are a few re-creation tables (particularly from
the 1970s or before) where there's an FP version but no VP version.
Visual Pinball 9 and 10
Visual Pinball 10, or "VP X", is the latest version, and VP 9 is the
previous version. You'll want to install both versions because
they're not compatible with each other's table files, and you'll want
to be able to run both kinds of tables.
You can recognize VP 9 tables by the ".vpt" filename suffix. VP 10
tables use the ".vpx" suffix.
The easiest way to set up both versions is to use the VP Installer.
VP is actually a collection of about five programs that work together,
and in the old days, you had to go download them all individually and
then go through a complex series of steps to configure them. The VP
Installer bundles everything into a single download, and provides a
Windows Setup program that configures it all automatically.
Here are the steps to install VP (both versions 9 and 10) with the
VP Installer:
- Go to vpforums.
- On the navigation bar near the top, click Getting Started. This
will pop up a menu. Under "Install Visual Pinball", click "VP Installer".
- Even though this is called the "VP X Installer", it's actually
the combined installer for VP 9 and 10.
- Click the Download button and follow the instructions to download
the file. If you see several version options, pick the one with the
highest number, since it should be the latest. You might need to
create an account and log in before you can start the download.
- Unzip the downloaded file into a temporary folder on your hard disk.
- Double-click the Setup program.
- Important: when the program asks for a destination folder,
use a folder in your hard disk's root folder, such as
C:\Visual Pinball.
You can use a folder different name, but don't use anything
within the Windows "Program Files" folder tree. Yes, that's
the normal location for installing programs, but don't use it
for VP. You'll create huge headaches for yourself if you do.
The issue is that some VP components need to write files
to their own install folders, and Windows has security restrictions
against programs writing within the Program Files tree. The simple
solution is to install VP somewhere else.
- If the program asks which DMD components to install, it's talking
about the special "Dot Matrix Display" hardware devices that you can
optionally install in your cab to re-create the plasma scoring display
on 1990s pinballs. If you're using a video monitor (such as a small
TV or laptop display) for this, or you don't have a DMD panel at all,
use the default option. If you're using a special external DMD device
(PinDMD 2, PinDMD3, or Pin2dmd), select the corresponding option.
The VP Installer asks this question because each of the external hardware
DMD devices require their own special software. The VP developers are
working to combine all of this into a single unified system, which
will eventually make it unnecessary to choose which one to use.
If the installer doesn't ask this question, don't worry - it means
you have a newer version with the unified software.
Future Pinball
Future Pinball isn't as essential as VP. It's an older system that
hasn't been updated since 2010, and it's unlikely that it ever will be
updated again, since its author abandoned the project without ever
publishing the source code. I don't find its physics as convincing
as VP's, and due to its age, FP's support for special
cabinet features is limited.
Even so, many cab builders think FP is worth installing, since it's
free and it has lots of tables available.
You can recognize tables written for FP by the ".fpt" filename suffix.
To install FP:
- Go to the Future Pinball site, futurepinball.com
- Click on the Download button near the top of the page
- Click on the Download link
- Run the downloaded .exe file, which will set up the program for you
Commercial pinball players
Some good commercial pinball games are also available. Here are
the main commercial titles popular with cabinet builders:
- Pinball FX.
A commercial pinball simulation available on Windows and other
platforms. In 2018, this company acquired the Williams licenses that
Farsight (see below) formerly held. They're gradually releasing table packs
featuring re-creations of Williams/Bally/Midway titles. Pinball FX
also offers a large collection of "fantasy" titles (original tables
that never existed as real machines) from before they bought the
Williams licenses, many based on popular media themes including the
Star Wars movies and Marvel comics. Their older fantasy games
had a decidedly unreal flavor, as they chose to fully embrace their
video-game-ness by including elements that would have been impossible
in a physical table. For some people that's a positive, since it
makes the game action more diverse than in a real pinball machine, but
it can be a negative if your tastes run more toward simulation and
realism. Recognizing this, the FX developers say they've made changes
to the physics engine in the new re-creations to make them
play more realistically. This product has a Pin Cab mode available;
to get it, you have to send a request to the publisher's tech
support staff and provide proof that your cab is operated
non-commercially.
- The Pinball Arcade by
Farsight Studios. Detailed and accurate re-creations of real machines
from the 1960s through the 2000s, available on Windows and other
platforms. TPA formerly boasted a large collection of
Williams/Bally/Midway titles that included many of the best
pinballs ever made. But Farsight's license to those titles was
terminated in 2018 (to be taken over by the Pinball FX developers), so
the editions you can buy now only include Gottlieb and Stern titles.
Gottlieb dominated the EM era, so there are some great classics in
there if you like the older machines, and Stern has been steadily
producing newer machines since Williams withdrew from the market, many
of which are popular and well-regarded.
The commercial games are playable on pin cabs, but they cater mostly to
desktop users, and have limited support for pin cab features (DOF,
multiple monitors, real DMDs, etc). Pin cab users aren't a big enough
market to attract much commercial support, and of course the
open-source developers who created all of the pin cab technologies
are unable to modify closed-source commercial products.
Cabinet enhancements
Visual Pinball and the other pinball player programs are basically PC
video games. To take full advantage of a cabinet, there are some
additional pieces of software that you need.
Backglass display software
To display backglass artwork when playing Visual Pinball games, you
need an add-on program called B2S Backglass Server. B2S is installed
automatically along with VP if you used the VP Installer. If you set
up VP manually, you'll have to install B2S separately.
Getting B2S working takes a few additional steps beyond just
installing the software. We cover the details in
Backglass Software Setup.
Tactile feedback and lights
If you're installing any feedback devices in your cab - solenoids,
shaker motors, flashing lights - then you need some additional
software called DOF (DirectOutput Framework) to control the feedback
devices.
DOF is an add-on program that lets Visual Pinball and other software
access your output controller. DOF acts as the coordinator between
the simulated game and the physical feedback devices, to synchronize
feedback effects with the game action: firing your flipper solenoids
when the flipper flips, activating the shaker motor when the castle is
destroyed, etc.
DOF is a fairly big subject, so it gets its own chapter:
DOF Setup.
PinVol
PinVol is a utility I wrote to make it easier to control the audio
volume during play. It lets you adjust the volume using cabinet
buttons, and its special ability is that it helps equalize the volume
level across different tables. It remembers your volume settings for
each table individually, and automatically restores the table-specific
settings whenever you switch tables. It has some additional special
features for pin cabs, such as "night mode" (to reduce volume across
all tables for late-night play) and individual level controls for
multiple sound cards, all accessible from cabinet buttons.
You can find the download link and installation instructions
on the
PinVol page.
Game selectors, or "front ends"
When your pin cab is finished, you'll probably want it to give the
appearance of being a full-fledged arcade machine, not a plain old
Windows PC. When you turn on the power, you won't want to see the
Windows desktop at any point; you'll want something that looks more
like a video game instead. It's also important to be able to operate
all controls with the basic set of pin cab buttons - flipper buttons,
Start, Exit.
This can all be accomplished with a program known on the forums as a
"front end", so-called because it's the first thing you see when you
walk up to the pin cab. A front end program serves as a replacement
for the Windows desktop. It provides a video game-style user
interface that lets you browse through your installed tables, launch
tables, and switch between tables. A good front end will let you
operate everything with the pin cab buttons so that you don't have to
reach for the mouse or keyboard.
The most widely used front end currently is PinballX, which is free
but closed-source. The original front end, HyperPin (also
free-but-closed-source), is still around, but it's not very widely
used any more; most people consider PinballX's user interface to be
more modern and more pin-cab-friendly. There are also two newer
options: PinUp Popper, another free/closed-source program; and my own
PinballY, free and open-source.
PinballY
This is my own project, brand new in late 2018. I tried to make it
easy and quick to set up so that you can try it out without a lot
of hassle. It's designed specifically for pin cabs, and has built-in integration
with most of the pin cab ecosystem, including
DOF,
real DMD devices, joysticks (for button input), and multiple monitors.
It's also highly customizable via a built-in Javascript scripting
engine.
PinballY is similar to the other front ends in terms of user interface
appearance and functionality. The main reason I wrote it was that I
wanted an open-source option (all of the other front ends I know of
are closed-source).
PinUp Popper
PinballX
PinballX is currently the most popular front end for pin cabs. It has
a minimalistic user interface that's well designed for pin cabs,
letting you access all functionality with just four buttons
(flippers, Start, and Exit), but also letting you use
other buttons if you have them (e.g., MagnaSave).
You can download PinballX from its home site,
pinballx.com. It's free to
download, but it's closed-source, and installed versions "expire"
after a period of time, requiring you to update. Follow the Download
link from the main page to download the installer.
After running the installer program, you have to run the
Settings.exe program in the PinballX folder. PinballX needs to
know a bunch of things about your system before it will work properly.
You should go through at least the Basic settings. Pay particular
attention to the following:
- Display Settings page: Assign the monitors you're using
for the playfield (which PinballX calls the "main display"),
backglass, and DMD (dot matrix display). Also set the rotations.
- Startup Settings: Set "Start with Windows" to Yes if you want
the program to launch automatically when you boot the system.
- Keyboard Input Settings: set the key assignments to match
the keys assigned to your cabinet buttons. If you're mapping
the buttons to joystick buttons, you can assign those on the
next page, Joystick Input Settings.
- Future Pinball, Visual Pinball: Set the directory paths
for these programs. The "Working Path" field should be set
to the folder containing each program.
Adding tables to the PinballX menu
PinballX doesn't go out and find your tables by itself. You
have to enter each table into PinballX's menu list yourself.
You do this using the Game List Manager program in the PinballX
program directory. Before running this, make sure you configured
the directory locations with the PinballX Settings program as
described above.
The PBX installer will pre-populate the menu list with a few
games for demo purposes, so the first thing you'll probably want
to do is delete these. Simply click the Delete button next to
each game in the list. Note that there are multiple game lists
(Visual Pinball, Future Pinball, MAME), so you'll have to select
each list with the drop list at the top of the window and delete
its games.
Each pinball game you set up has a bunch of associated "media" items:
a "wheel" image, which provides the title graphic shown in the menu
when you navigate to the table; a playfield image; a backglass image;
a DMD image; the advertising flyer for the game; an instructions card;
video versions of the table and backglass images; and audio to play
when you launch the game. You can set up each of these items
individually, but that's extremely tedious, especially if you have
lots of games to add.
Fortunately, there's an easier way.
The quick way to set up a game is to use the "Import Media Pack"
button at the top. This lets you add a game, along with all of
its related media items, in one operation. You'll still need to
select the game's playable file (the .vpx file for VP 10, for
example), but everything else will be set up automatically.
To set up a game using the "import" button, start by downloading the
game's media pack. You can find media packs on
vpforums. Select "Frontend
Media & Backglass" on the navigation bar, then click "Complete
Media Packs" under the Media Packs section. This will take you to a
gigantic list of "HP Media Pack" files. The "HP" is for HyperPin, but
PinballX knows how to read these same files. Navigate through the
list to find the game you're looking for.
Each of these "HP Media Pack" files is an ordinary ZIP file.
Don't unpack them. Simply download them to the Tables directory
for the appropriate pinball player version. For example, if you're
setting up a Visual Pinball 10 game, download the corresponding
table pack to the Visual Pinball 10\Tables folder.
Now go to the PinballX Game Manager. Select the list for the
appropriate pinball player at the top (e.g., select "Visual Pinball").
Don't click Add Game at any point. Instead, click Import Media
Pack. Select the ZIP file you downloaded. This will automatically
create a new entry for the game and populate it with the media items
in the ZIP file. Now click on the Select button next to the Game
field for the newly added item. Choose the playable game file from
the list. Note that this will only show you a list of game files
you've already installed in the Tables folder, so you'll have to
actually download the game into the Tables before you can complete
this step.
After you exit out of the Game Manager program and restart PinballX,
you should now see the newly added game show up in the menu.
As you add tables to your system, you'll need to repeat this process
for each one.
HyperPin
HyperPin was the original front end for pin cabs. It's an offshoot of
the similarly named HyperSpin, which is a popular front end for
home-brew video game cabinets. Since HyperPin came from the video game
world, it was designed around an assumption that you have a big bunch
of buttons. Pin cab builders tend to prefer a more minimalistic
approach, with only a small set of buttons closer to what's found on
most real pinball machines. This has always made HyperPin a little
ill-fitting on a pin cab, since its UI depends on having a fairly
large number of buttons that can be mapped to individual functions. A
lot of early pin cab builders designed their cabs specifically for
HyperPin by installing four or five extra buttons on the front panel
dedicated to front-end functions. But most of us don't like the extra buttons
on aesthetic grounds, because they take away from the real pinball
look. That's a big part of why so many pin cab builders migrated to
PinballX when it became available.
The home site for HyperPin is
hyperspin-fe.com. Click
the Download button in the main navigation bar, then look for
"HyperPin" in the Category list.
Where to find tables
Visual Pinball tables: The biggest collection I've seen of VP
cabinet-mode tables is
vpforums. Click "Visual
Pinball Tables" in the navigation bar at the top. The popup menu has
several sections; the ones you'll want to look in for pin cab use are
"VP9 Cabinet Tables" and "VPX Tables" section. VP 9 requires tables
to be designed specially for cabinet use, which is why it has a
special section. VP 10 unifies cabinet and desktop modes, so it
doesn't have a separate cabinet section - any VPX table should work in
cabinet mode.
vpuniverse also hosts
VP tables, although their collection isn't as extensive. Click
the Downloads link in the navigation bar to find tables.
Future Pinball tables: As with VP 10, all Future Pinball table
files are playable in cabinet mode. You just have to adjust the
camera settings for each table to get it lined up properly for
cabinet play.
vpforums
has a large collection of FP tables: click "Downloads" in
the navigation bar, then look in the "Future Pinball Tables"
section.
Backglasses: Some tables include the B2S backglass files
with the Visual Pinball table files, but most don't, so you'll
usually have to download backglass files separately.
vpforums has a large
collection of these: click "Frontend Media & Backglasses"
on the navigation bar, then select "dB2S Animated Backglasses"
under the Backglasses section.
PinballX & HyperPin media:
vpforums has a large collection
of media packs for the front-end menu program. Click "Frontend Media
& Backglasses" on the navigation bar, then select "Complete Media
Packs" from the "Media Packs" section. "HP Media Pack" files
work in both HyperPin and PinballX.