Pixelcade DMD Setup Guide

Pixelcade doubles as a virtual pinball display, otherwise known as a DMD (dot matrix display). The guides below are for Visual Pinball, Pinball FX3, Pinball FX2, Future Pinball, and Pinball Arcade. You can play virtual pinball in traditional arcade cabinet mode or with a virtual pinball machine as shown in the videos below.

IMPORTANT: Use this installer if you have an Arcade-One HyperSpin image which enables dynamic switching between Pixelcade Arcade marquee mode and DMD mode for Virtual Pinball, Pinball FX2, Pinball FX3, and Future Pinball, demo here.

Note that the Pixelcade Arcade listener (pixelweb.exe) and the Pinball listeners cannot be running at the same time.

The Pixelcade DMD installer includes the following utilities to make integration with front ends (PinUp Popper, Pinball X, HyperSpin, BigBox, etc.) easier. Launch the respective utility from your front end to put the Pixelcade DMD in a mode listening for incoming DMD frames before the respective Pinball application (FX3, FX2, Pinball Arcade) is launched. After installing Pixelcade DMD, refer to the “scripts” folder for examples on how to automate switching between arcade marquee mode and various pinball platforms from your front end.

Note that no additional utility is required for Visual Pinball or Pinball FX (Pinball FX2 and FX3 DO require the additional utility). Pixelcade DMD for Visual Pinball and Pinball FX will launch automatically after it has been setup (see setup steps below).

Pinball ApplicationUtilityUsage / Function
Pinball FX3pixelcade-pinballfx3.exe

Kills the Pixelcade Listener (Arcade Marquee Mode) if it’s running

Runs dmdext.exe with this command line:

dmdext.exe mirror --source=pinballfx3 --no-virtual --use-ini=DmdDevice.ini

Launches FX3 Steam

Optionally, you may also include a specific FX3 Steam Game as a parameter to launch that particular game automatically:

pixelcade-pinballfx3.exe “table_File”

Examples:

pixelcade-pinballfx3.exe “WMS_Medieval_Madness”
pixelcade-pinballfx3.exe “-WMS_Fish_Tales”

Be sure to enclose the target marquee name in double quotes. You can include the leading hyphen or not, either way is fine

Pinball FX3pixelcade-pinballfx3nosteam.exe

Kills the Pixelcade Listener (Arcade Marquee Mode) if it’s running

Runs dmdext.exe with this command line:

dmdext.exe mirror --source=pinballfx3 --no-virtual --use-ini=DmdDevice.ini

Pinball FX2pixelcade-pinballfx2.exe

Kills the Pixelcade Listener (Arcade Marquee Mode) if it’s running

Runs dmdext.exe with this command line:

dmdext.exe mirror --source=pinballfx2 --no-virtual --use-ini=DmdDevice.ini

Pinball Arcadepixelcade-pinballarcade.exe

Kills the Pixelcade Listener (Arcade Marquee Mode) if it’s running

Runs dmdext.exe with this command line:

dmdext.exe mirror --source=pinballarcade --no-virtual --use-ini=DmdDevice.ini

Future Pinballpixelcade-futurepinball.exe

Kills the Pixelcade Listener (Arcade Marquee Mode) if it’s running

Runs dmdext.exe with this command line:

dmdext.exe mirror -s futurepinball --use-ini=DmdDevice.ini

Note for Future Pinball, you must also Copy Future Pinball/OpenGL32.dll to your Future Pinball folder, i.e. where Future Pinball.exe is located

PinUp Popper Front End

How to Setup a Hardware LED DMD (Pixelcade DMD, BitPixel HV, etc.) for PinUp Popper

Optional Paid Art Pack for PinUp Popper

How to add Pixelcade LED Pinball Artwork to an LCD DMD

All Pixelcade LED Pinball Artwork Displaying on an LED and LCD DMD

PinUp Popper Installation Instructions

1. Install the Pixelcade DMD software from here. IMPORTANT: You must install in your existing VPinMAME folder. Also for PinUp Popper, do not install the main Pixelcade software.

2. Choose Yes for PinUp Popper and then PInUpMenuSetup.exe will automatically launch towards the end of the installation. Note that DMD artwork will automatically be installed too.

3. Click the “Popper Setup” tab

4. Click the “Emulators” button

5. For the desired pinball emulators below, enter the additional lines below. Add the additional line in the “Launch Script” section for Pinball FX3, Pinball FX2, and Future Pinball. Add the line towards the top of the script, preferably after the @echo off line.  

Pinball FX2

 start /min "" "pixelcade-pinballfx2.exe"

Pinball FX3

start /min "" "pixelcade-pinballfx3nosteam.exe"

Future Pinball

 start /min "" "pixelcade-futurepinball.exe"

Pinball Arcade

 start /min "" "pixelcade-pinballarcade.exe"

Visual Pinball and Pinball FX

Nothing additional required as Visual Pinball and Pinball FX utilize the freezy DMD dll (dmddevice.dll) which loads automatically.

Add this line for each in the “Close Script” box

 taskkill /f /im "dmdext.exe"

What the Pixelcade PinUp Popper Installer Does

1. Installs Freezy DMD Extensions in your VPinMAME folder

2. Prompts user for Pixelcade COM Port

3. Enables Pixelcade in DmdDevice.ini by setting to true, setting COM port, setting DMD color order, and enables sending frames to PinUp

[pixelcade]

enabled = true

port = COMx

matrix = rgb

[pinup]

enabled=true

4. Prompts user for PInUp Popper Location

5. Makes a backup of PUPMenuScriptSysOptions.txt to PUPMenuScriptSysOptions.bak

6. Edits PUPMenuScriptSysOptions.txt changing useDMD = false and DMDMirror = false

7. Downloads marquee artwork from http://github.com/alinke/pixelcade and installs in your POPMedia folder for specifically:

github.com\alinke\pixelcade\visualpinball
github.com\alinke\pixelcade\pinball_fx3
github.com\alinke\pixelcade\pinball_fx2
github.com\alinke\pixelcade\futurepinball
github.com\alinke\pixelcade\mame
github.com\alinke\pixelcade\zaccaria
github.com\alinke\pixelcade\pc

installing to:

POPMedia\Default\DMD\
POPMedia\Visual Pinball X\DMD\
POPMedia\Pinball FX3\DMD\
POPMedia\Pinball FX2\DMD\
POPMedia\Future Pinball\DMD\
POPMedia\MAME\DMD\
POPMedia\Zaccaria Pinball\DMD\
POPMedia\PC Games\DMD\

8. Moves any .mp4 files from POPMedia to a new folder called POPMediaBackup. 

9. Launches PinUpMenuSetup.exe which is where you need to complete the above steps manually. 

Pinball FX

Pinball FX2 and FX3

For Pinball FX3

Install Pinball FX3 from Steam (not from the Microsoft Windows 10 store)

For Pinball FX2
  1. Enable cabinet options in Pinball FX2 (this requires a special code from Zen Studio, form here)
  2. Resize the DMD to:
    • Width: 520
    • Height: 136
  3. Move the DMD to somewhere hidden like off-screen or behind the playfield (usually at 0/0).

Run this installer and install in the directory of your choice.

Run this installer instead if you are on an ArcadeOne HyperSpin image

During the install, you’ll be prompted to enter the COM Port Number of the Pixelcade DMD. 

Device manager will automatically pop up on the left, click ‘Ports’ and then enter the COM Port number for Pixelcade.

Pixelcade will appear under “USB Serial Device” on Windows 10 and will appear under “IOIO-OTG” under Windows 7.

Only enter the number (Ex. 6,7,8) and do not enter COM6, COM7, COM8 .

Choose “Yes” if you have a Pixelcade LED Marquee size P3, P4, P5, or P6. This would include Pixelcade for AtGames Ultimate Legends, Arcade1Up, and custom installations.  

Choose “No” if you have the Pixelcade Pinball Display P2.5 panel size. 

This is used to set the correct colors for Pixelcade.

Launch the respective listener which will run in the background: Pinball FX2, FX3, or Pinball Arcade. 

If the install went correctly, you’ll see “DMDEXT” minimized in your Windows tray.

Click “DMDEXT” and check if it’s communicating with Pixelcade. 

Pinball FX3 will also launch automatically assuming the Steam version of Pinball FX is installed on your computer. 

For Pinball FX2 and Pinball Arcade, you’ll need to launch those manually after.

Pixelcade will be single color for Pinball FX2 and FX3. You can however change the color from Pinball FX –> Options –> UI/ Stream –> Dot Matrix Color

The Pinball Arcade

             

Note that Pixelcade only supports 128×32 DMD games for Pinball Arcade. This means the free Pinball Arcade table, Frankenstein, is not supported nor our early electromechanical (EM) tables. 

Install Pinball Arcade from Steam

Run this installer and note you don’t need to run again if you already installed this for Pinball FX

Launch the “Pixelcade for Pinball Arcade” listener which will run in the background. A minimized window called DMDEXT will appear.

Pixelcade will only work with the DX11 version of The Pinball Arcade.

To launch the DX11 version of Pinball, right click from Steam and select “Play Pinball Arcade (DX11) or “Play Pinball Arcade in Cabinet Mode (DX11)”

Optional: If you want to set Pinball Arcade to launch DX11 by default:

Click “Properties”

Click “Set Launch Options”

Add this command:”< Your Steam Installation Directory\steam\steamapps\common\

PinballArcade\PinballArcade11.exe” %command%

 Launch Pinball Arcade and select a table. Pixelcade will kick in when you click the Start button in the table.

Visual Pinball

Download VPX installer from vpforums.org

Pick the latest one which is VPX6setup.zip at the time of this writing

Install into the directory of your choice
Check “DMDext support”
You may be prompted to install DirectX
You’ll be prompted to install the .NET framework if you don’t already have it
Select “Yes” if you have a second monitor for the backglass
 

Run this installer and be sure to install it in your EXISTING VPinMAME folder

From your VPinMAME directory, run “setup.exe”

Choose “Install”

From your VPinMAME directory, edit the file “DmdDevice.ini”

In the [pixelcade] section, add the COM port of your Pixelcade board. You must add the specific COM port here or the board will not be found.

Disable other pinDMD boards except pixelcade

If you are using a P2.5 sizes PinDMD (most popular size), then use:

matrix = rbg

If using a P3 – P6 sized PinDMD, then use:

matrix = rgb

From a command line from your VPinMAME directory, enter this command to test connectivity. Replace COM6 with the COM port of your Pixelcade board.

dmdext test -p COM6 -d pixelcade

Add some roms, placing them in the roms folder (look for patched roms if using color)

https://www.vpforums.org is a good place to find tables

From your VPinMAME directory, run “setup.exe”

Choose “Setup Defaults…”

Check “Use external DMD (dll)”

Click “OK”

Now click “Test”

Select a rom

Select “Game Options”

Ensure “Use external DMD (dll)” is checked

Click “OK”

Click “Start”

The Pixelcade PinDMD should now be displaying the game

If not displaying correctly, check the log file “DMDDevice.log”

If you like, you can also tweak the color.

Do this from “Default Options” so you don’t need to do for each game individually.

Now add some tables

https://www.vpforums.org is a good place to find tables

Tables should be copied to tables folder of your Visual Pinball installation.

Launch Visual Pinball 9 or X and then open a table to test and hit “Play”
The pinball table should launch and the Pixelcade DMD should be displaying game specific frames

Now if you want to add color, then follow these steps:

  • Create a vpinmame\altcolor\ directory and copy the pin2dmd.pal file there. Note the Pixelcade PinDMD installer created this directory for you and added in some files.
  • Copy the patched rom file to the vpinmame\roms directory 
  • Enable ‘Colorize DMD (4 colors)’ in the rom setup of vpinmame for each colorized ROM you will be using
  • Enable ‘Use external DMD (dll)’ in the rom setup of vpinmame for each colorized ROM you will be using.
  • You’ll use the same table files and do not need to change those for color.
 

Lastly if you like, you can add a front end. Note that the Pixelcade listener (pixelweb.exe) cannot run at the same time as the Pixelcade PinDMD. So you’ll need to stop the Pixelcade listener (pixelweb.exe) before running a pinball table.

If you have pixelweb.exe running, then this REST API call will close it

http://localhost:8080/quit

A curl command is one way to make this call. curl is included in your Pixelcade installation

d:\arcade\pixelcade\curl.exe -s http://localhost:8080/quit

Here is a HyperSpin example. In this example, pixelweb.exe runs normally during HyperSpin until a Visual Pinball table has been launched. When a table is launched, this modification to the Visual Pinball.ahk script will stop pixelweb.exe when a Visual Pinball tables has been launched. At that point, Pixelcade PinDMD takes over and changes interactively with the pinball game. And then when you exit the table, pixelweb.exe is again launched.

For HyperSpin, Visual Pinball.ahk is located in RocketLauncher\Modules\Visual Pinball\Visual Pinball.ahk

Command to stop pixelweb.exe. Be sure and update for your correct path.

Run, "d:\arcade\Pixelcade\curl.exe" "http://localhost:8080/quit" , d:\arcade\Pixelcade\, Hide

Command to start pixelweb.exe

Run, d:\arcade\Pixelcade\pixelweb.exe, d:\arcade\Pixelcade\, Hide