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. This might contradict advice you find in the
forums or FAQs or other guides, saying that you should routinely run
everything in Admin Mode, but I consider any such advice to be outdated
or misinformed.
What is "Admin Mode" anyway? Microsoft divided Windows into "Admin"
and "User" spaces, where the Admin space contains all of the core
system programs, settings, and so forth, and the User space contains
everything else. When you launch a program, the default is to run
in User Mode, which only allows access to the things in the User space -
not the special system files in the Admin space. A program can only
access the protected Admin items if it's running in Admin Mode,
which allows it access to everything.
Admin Mode is dangerous, since an Admin Mode program can access
anything on your system, including all of the most sensitive system
files. So the whole idea is that Admin Mode should only be invoked
for programs that are highly trustworthy, and which actually
need the special access rights that Admin Mode allows.
Ordinary programs that you don't expect to mess around with system
settings shouldn't be given access to system settings, because the
only way they'd use that access is if they do something wrong, due to
either a bug or malicious intent. It's better to have such a program
crash with an "Access Denied" error than to let it carry out its
faulty or malicious system change.
Therefore, the only programs that you should run in Admin Mode are
programs that have a good reason to require it. This includes programs
like installers, disk management tools, and system control panels.
Everything else is supposed to run in regular User Mode, where the
system is more protected from the program's mistakes (or evil intentions).
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, when Windows Vista first
came out, there were a few isolated software components in the pinball
gaming world that really did require Admin Mode to work properly.
That wasn't because those programs had a legitimate reason to use
Admin Mode, but rather because they were coded to old, outdated
standards. In other words, it was a bug that they required Admin
Mode. The correct solution was always to update the programs
to the modern Windows standards, eliminating the Admin Mode
dependency, but it always takes a while for programmers to get around
to fixing old software. In the meantime, people wanted to keep
running some of those programs, so they worked around the out-of-date
issue by allowing them to use Admin Mode. Unfortunately, this had a
cascading effect, because Windows erects protective barriers around a
program running in Admin Mode, to block things like password stealers.
When you ran one old program in Admin Mode, and you had some second
program that wanted to interact with the first, you also had to run
the second program in Admin Mode, to get around the protective
barriers. I think you can see how this leads to the notion that
you've got to just run everything in Admin Mode all the time. It was
never really true, but people got so tired of figuring out all of the
inter-dependencies that they just gave up and ran everything in Admin
Mode.
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 certain problems, it
creates other problems. The most obvious is that you're bypassing all
of the security features that the Admin/User Mode division was
intended to provide, so you're reducing your overall system security
quite a bit. The second, less obvious problem is that you're going to
find yourself fighting with Windows (more than usual). Microsoft
really, truly doesn't want you to bypass the security features they
provide, because they're sick of people disabling all of the Windows
security features and then blaming Microsoft when someone hacks into
their systems. So Microsoft has increasingly made the security
features so deeply integrated into Windows that it's hard to bypass
them.
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 out-of-date components in the old days? Fortunately,
the whole issue is really a thing of the past now. Nearly all of
the old programs that inspired the "always use Admin Mode" advice have
either been updated many times since then, so that they no longer
require Admin Mode, or have been superseded by new programs built to
modern standards. As of 2020, I don't think that any of the common
pinball 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 on the
part of the programmer or the person who wrote the tutorial you're
following. 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 is so ruthless,
when faced with a fun new feature that they really want to try. 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.