Main

PINLOADER

INTRODUCTION

The purpose of this page is to show how to set up Visual Pinball (and Visual PinMAME) to work in the front end of your choice.  I use EmuLoader, but the concepts should work with any front end that supports input of individual games and launching batch files (or DOS command line prompt) from the front end.

Since Visual Pinball is so scattered by the breakdown of ShivaSite, I also include a section to get you going in Visual Pinball.  And I include some tricks for making this work with EmuLoader or Arcade@Home.  And all of this can be done without any commercial software or compiling.  If you have any suggestions or better ways to do this, then please send any constructive suggestions to me.

Okay, so what's a front end?  A front end is basically a graphical user interface (GUI) program that allows you to display different items (games), display information about the games, and select and launch the games from the front end.  Many front ends are designed around the MAME (Mutiple Arcade Machine Emulator) program, but most will work with other EMU's as well.

Why would I want to run Visual Pinball from a front end?   You haven't seen the screenshots yet, have you?   Go check them out now. . .  (I also cover this in more depth in the FAQ's.

NOTE:  You can also use this procedure without a Front-End by creating the batch files and launching these from Start Menu shortcuts.

WARNING

This is a non-standard use of a front-end.  The steps are not that complicated, and I have laid them out pretty logically, but if you want something that will search your tables directory and automatically configure itself to launch your games, this is not for you.  In this case, I would recommend either the VP Launcher, Emulaxian, or Raging Dragon front ends.

If you have ever compiled your own version of MAME or done anything related to batch files or structured programming, this is easier than that.

KNOWN (or EXPECTED) PROBLEMS

The procedure works very well, however, there are three expected issues.  Basically, these are things that I couldn't do with the AutoIt scripting utility.  If anyone wants to help with these, please read the Script File Setup section and send comments to me.  Here are the issues:

The procedure is designed for use with a desktop resolution of 1024x768 and Visual Pinball set to display Full Screen at 1024x768.  It will probably work fine at lower resolution if you set VP to use the same resolution as your desktop.  If you want to run VP in a smaller window than your desktop resolution (and not maximized), you probably need to remove the WinMaximize command from the script file and recompile the VP.exe file.  This is very easy to do, though.

If you run the batch file from the Front End and pause the table and then hit resume, usually, the Windows Taskbar appears below the table.   (The table actually extends beneath the taskbar.)  The easiest solution is to wait until you lose the ball, click on another app on the taskbar, and then click on Visual Pinball Player on the taskbar.  I tried having the script wait until a window containing text "Paused" or "&Resume Game" appeared and closed and then either maximizing or activating (or both) the Window containing Player and nothing worked.  I suspect that the script was not recognizing the presence of the Paused window.  This is not a huge deal since you don't pause a table that often, but I would like to find a fix.

This is minor.  When you launch a table, the Visual Pinball Main Window outline comes up briefly and then a Preparing Table window appears with status bars.  Of course, when you start a game in MAME several windows also appear.  I originally planned to release two versions of the VP.exe files.   VPS.exe (for slow computers) would hide the Visual Pinball window but leave the Preparing Table window.  VPF.exe (for fast computers) would hide both windows.   I couldn't get anything working consistently, though.  WinHide would not work.   WinMinimize did something but the window outline was still there.  I was able to use WinMove to resize the window to 1 x 1 pixels, but the title bar was still displayed and if you launched Visual Pinball manually, you now had a 1 x 1 pixel window.  And then when I ran the program again, it no longer resized the window, so I shelved this idea and decided to live with the startup screens.

VISUAL PINBALL SETUP

If you already have Visual Pinball running on your machine, you can skip this setup.  The only part you may need to do is importing the pinmame executable into your pinmame directory. (Shown in red).   (If you are not using EmuLoader, you don't even need to do that.)

A couple of preliminaries: There are actually two types of tables. Visual Pinball tables will work on most PC's (works okay on my P 200 MMX.)   They don't use roms at all.  VPinMAME tables use Visual PinMAME and visual Pinball and require a decent (PIII 400 at least, 850Mhz or better preferred) processor. (On my P200, you have to press the flipper at least a half second BEFORE the ball gets there, so they're really not even playable.)

Also, if you are used to MAME, the lack of standardization in VpinMAME will drive you nuts.  For example, in MAME, the dev team decided to use emulated sound in Asteroids.  It didn't work as well, but if you wanted to go back to sample sounds, you had to re-write the source code to make it work.  In VP, take the High Speed table for instance.  There are 4 different backdrops available.   There is a mod for making the pinball shiny instead of silvery.  There is a decal mod for the playfied.  You can move items on the table.  You can delete items from the table.  You can change the force or the angles of the flippers.   And any file you download could have some combination of these mods incorporated.   I have seen Playfield mods not fully added to the table.  In some cases, the original authors didn't like the new table mods, so the mods are hard to come by.

Nevertheless, it's still a lot of fun.  Here's how to get started:

First, go to Easy EMU and read. I recommend getting his version of VPinmame (1.10) (because he zipped all the required directories into the file) and the Pinmame samples. The other links won't work. Go to IR Pinball and get the VP dogfood 5 full install and the VBS 2.34 scripts. (and the other plug-ins, if you want).

Follow the Easy EMU install instructions.

Now go to PinMAME and get the 1.11 version of VISUAL Vpinmame.  While you are here, you might want to get the non-visual Win32 version of PinMAME 1.11.  This file is not required for Visual Pinball, but is useful if your frontend supports MAME or for EmuLoader.  Save this file to disk for now.  Extract the 1.11 Visual PinMAME files to a temporary directory and then copy them over the corresponding files in C:\Pinball\PinMAME and run C:\Pinball\PinMAME Setup.exe.

After this, there is a set of Fonts to download and install.  Get them from VP Forums, (if the site is working, it is exceeding bandwidth lately). If it's down, you can get these later.  Unzip the fonts to a temporary folder and install them by clicking Start-settings-control panel-fonts and selecting "Install Fonts".  Ensure "Copy to C:\Windows\Fonts Folder" is checked and select all the fonts.  You can now delete the fonts from the temporary directory, unless you want to save them for backup.

Now you just need something to play ;-)

ROMS are available here.  Don't download any Roms unless you are legally entitled to ;-)))

Visual Pinball (not PinMame) tables are at IR Pinball.

Visual PinMAME tables are at AJ's VpinMAME Tables, or here (zipped) or here (tables only).

Table backdrops and playfield mods are here (While you are there, see the important notice and drop an E-mail to get access to the members-only (not a porno thing) area of the site.

Instructions on making the pinball itself shiny are here (highly recommended).  Also, I personally prefer the shinyball image available here to the one mentioned on that site.

The following commands (in the table script) control how the LED display appears.  You can add them to VpinMAME tables to control the way it appears:

Controller.ShowDMDOnly = True/False True : Show only the DMD/segment display False: Also show switch/lamp matrix and solenoids etc. (for debugging).  (Should be true for playing games).
Controller.ShowTitle = True/False True : Show VPM window title (the one you normally drag a window with) False: Dont show VPM window title.  (I prefer false for playing games.)
Controller.ShowFrame = True/False True : Show the VPM window border (the one you normally resize a window with) False: Don't show the VPM window border. (I prefer false.)
Controller.LockDisplay = True/False True : VPM window can't be the active window (i.e. can't be moved etc) False: VPM window can be the active window (VP will pause when the VPM window is active)
Controller.DoubleSize = True/False True : Display size is doubled (good for hi-res screens) False: Display size is normal.
Controller.WindowPosX = ??? (where "???" is an integer).   This command sets the X (horizontal) position of the DMD Display.  This and the following command are most useful if you play both the Nicky Special -XF style tables (where the DMD display should be positioned on the backglass) and normal style tables (where the same position would put the display in the middle of the playfield).
Controller.WindowPosY = ??? (where "???" is an integer).   Same as above, but for the Y (vertical) position of the DMD Display.

F4 will unlock a locked window (to move it) F5 will double-size the display.  These and additional commands on controlling the LED display are available in the Interface.html file that is included with Visual PinMAME.

EMULOADER PRELIMINARY SETUP

This section only applies to EmuLoader.  If you are setting this up with a different front end, you can skip this and go to the Visual Pinball Batch Files section.

You may also want to visit the the FAQ's, where I cover a lot of EmuLoader tweaks ;-)

WARNING:  DO NOT try this with Arcade@Home!!!!   Whenever I tried setting A@H to use pinmamew.exe or renamed pinmamew.exe to mame.exe and launched Arcade@Home, I got a "run-time Error 5" and had to Ctrl-Alt-Del and End Task to get out of it.  Then I had to delete all the setup files (except the .bmp or .gif for the gameslist) from the \arcade directory (arcade.ini, arcade.roms, arcade.def, etc.) to get A@H working again :-((.  A@H will work with Video Pinball :-), but don't ever have it use PinMAMEw to search for games!!!

If you didn't already download it, download the Win32 version of PinMAMEW from here.   (This version is required by EL, but is NOT needed to play the tables). Open the .zip file and copy pinmamew.exe to C:\Pinball\PinMAME (or your (Visual) Pinmame directory). Copy the mame.ini file from your MAME directory to this directory and rename it pinmamew.ini or run pinmamew.exe from the command prompt and I think it will build pinmamew.ini for you.

I start with a fresh install of EL to keep the MAME and Pinball versions separate. You could also use an existing version of EL and set pinmamew up as another emulator.  Create a directory (C:\ELP) and extract the EL files to it. Double click on emuloader.exe and select C:\Pinball\Pinmame\pinmamew.exe as your default emulator.  EL will search your pinball roms and show all available games as classic master raster (or classic clone raster) and all others as unavailable.  Note that Pinmame supports Roms that tables haven't been built for yet.  Also note that this list reflects your available Roms, not necessarily your available tables.

Now EL is set with all the VpinMAME info.   Non-VpinMAME games must be added manually and you still need to create batch files before you can play the games.

VISUAL PINBALL BATCH FILES

This section details how to set up the batch files for launching the tables.

First, download the vp.exe (41k) file from here and place it in your C:\Pinball\tables directory.  This is a simple little file for running a script generated in AutoIt.   It does not affect the registry.  The script commands themselves are available here, and I explain them in the Script File Setup Paragraph.

Create a directory for your batch files.  I use C:\Pinbat\.

Lets assume that "Back To the Future" showed up in EL as an installed game. Create a batch file for it, (open Notepad or Wordpad, enter the lines, and save the file as a text file named bttf.bat), in any directory with the following lines:   (Bold text are commands and normal text are explanations):

@echo off (this step turns off the line display in the DOS box as the batch file runs.  It is optional.)
cd "C:\pinball\tables" (change directory to the directory where your tables are located.)
start vp.exe (launch the script program.)
"C:\Pinball\VPinball.exe" -Play -"Back to the Future 1.0.vpt" (Change the name to match the tablename.vpt of your table.  I don't think the table name is case-sensitive, but it might be.)

In Win95 and Win98, quotes are not required unless the table name contains spaces, but will not hurt anything otherwise.  The target file in front of the -Play command is not required if your tables are associated with Visual Pinball, but it is a good idea to include it just to be safe.

exit (quit the batch file)

You can double-click on the batch file in Windows Explorer to test it.  The table should open and play normally, and Visual Pinball should exit when you quit the table.

You will eventually need batch files for all your .vpt files.  I would recommend making sure the file works in your front end first, though.

When you get ready to create new batch files, here is a quick way to do it.  Let's make a batch file named alienrea.bat for the Alien Reactor table that is supplied with Visual Pinball:  Open the C:\Pinbat\ directory in Windows Explorer.  Left-click and drag on bttf.bat.  Drag the file down to an open area of the window, depress shift (cursor changes to +) and release mouse button.   You will see a file named Copy of bttf.bat.  Left-click twice on the file and change the name to "alienrea.bat". Right-click on the file and select "Edit".  Now, change the line "C:\Pinball\VPinball.exe" -Play -"Back to the Future 1.0.vpt" to read "C:\Pinball\VPinball.exe" -Play -"AlienReactor.vpt".  Close the edit window and say yes to save the file.  Repeat for the other files.

SCRIPT FILE SETUP

This section explains how to create the "vp.exe" file.  None of the information in this section is required for setting up the tables.  I am including it here so that if the batch file doesn't work correctly or if you want to know exactly what "vp.exe" does you can check here.  If the batch file worked correctly for you, you can move on to the Front End Setup section.

Here are the steps to create vp.exe:

Download the AutoIt.exe full install (~600K) from here.  Turn off any virus programs and double-click on the file to install it.  Let it install to C:\Program Files\Autoit\ (by default).  Open a text editor and enter the following lines:   (Once again, Bold text are commands and normal text are explanations).

SetTitleMatchMode,2 (for some reason, AutoIt cannot distinguish between the "Visual Pinball" window and the "Visual Pinball Player" window in it's default mode.  It works if you use this.)
WinWaitActive, Player (this tells the script to wait until the "Visual Pinball Player" window is Active.  Otherwise, the next lines would either generate an error, or close "Visual Pinball" before the table finished loading.)
WinMaximize, Player (this is used to hide the Windows Taskbar)
WinWaitClose, Player (this tells the script to wait until the "Visual Pinball Player" window is Closed.  This allows you to pause and return to the table without the script closing the "Visual Pinball" window
WinClose, Visual Pinball (this shuts down "Visual Pinball" when you exit the table.)

Save this file as a text file named vp.aut.   Now, you can either right-click on the file and select "Compile" or run the Start-Programs-AutoIt-Aut2Exe program to convert it to vp.exe.

Hint:  If you are doing a lot of experimenting with settings in AutoIt, it is easier to change your batch file temporarily to read as follows:

@echo off
cd "C:\Program Files\AutoIt"
Autoit.exe vp.aut
cd "C:\pinball\tables"
"C:\Pinball\VPinball.exe" -Play -"Back to the Future 1.0.vpt"
exit

This way you can just edit the vp.aut file and immediately run the batch file to see the effect of any changes ;-)

FRONT END SETUP

Okay, now that we have a couple of batch files created which will load and quit the tables, the next step is to add the tables to the front end.  I have sections here for generic front ends, Arcade@Home, and EmuLoader.   Refer to the appropriate section.

Before I get into specific instructions, I want to make a note about game naming.  Right now, this is pretty arbitrary.  For VpinMAME tables, I generally just stick with the VpinMAME Rom name.  For all other tables, I just try to stay under eight-characters (I think many MAME front ends will require this), pick something I can remember, and try not to pick something that VpinMAME is already using.  There may be a standardized list sometime in the near future, but for now, this is the best you can do.

Also, after you create the custom game list files, be sure to back these up somehow.  A lot of front ends will over-write these files if you tell them to refresh the games list or search for a new (pin)mame, and this would be a lot of work to recreate.

   Generic Set-Up

Basically, this procedure should work with any front end that will allow custom game lists and custom command lines.  Basically, you just add the table into the custom game list and use the custom command line to launch the associated batch file.

If you get this to work with a different front end, (and particularly if it is somewhat difficult to set up), send me the steps involved and I will add a section to this page.

   EmuWizard Set-Up

This is a brief write-up, as I have not personally used the EmuWizard frontend.

Edit the .ini file to read as follows:

[settings]
Emulators=Bttf, Alienrea
[Bttf]
executable=bttf.bat
execpath=c:\Pinbat
game1=Back To The Future, Back to the Future 1.0.vpt
[Alienrea]
executable=alienrea.bat
execpath=c:\Pinbat
game1=Alien Reactor, AlienReactor.vpt

Unfortunately, using batch files, you have to have a separate "emulator" configured to run each batch file.  NOTE: I believe the 1-Up frontend will require a similar set-up.

UPDATE:  The following EmuWizard info was provided by Neil (Dire Radiant over at alt.games.mame) and should greatly simplify Visual Pinball in EmuWizard.  I have not verified this procedure, so please direct all questions to him.

Here is a little trick I use with EmuWizard that eliminates the annoying 'One emulator per page' problem and allows you to have all your tables listed as a single emulator.  As I'm sure you can appreciate, this makes launching Visual Pinball from EmuWizard a much more attractive option.

At the heart of the trick is the way that EmuWizard assembles a command line.  EmuWizard is only capable of reading rom lists for a given emulator from a directory listing of zip files. However when EmuWizard creates its command line it leaves out the file extension. Therefore, if EmuWizard sees a zip file in the roms directory called 'xyz.zip' for emulator 'abc' its command line will be "abc" "xyz" (rather than "abc.exe" "xyz.zip").

What you need to do is make "C:\windows\command\start.exe" your emulator executable then create a dummy zip file with the EXACT same name as the batch file for your table (i.e. your c:\Pinbat directory will contain both xyz.bat and xyz.zip) and EmuWizard will read the zip for its roms listing and pass just "xyz" to the command line, thus launching xyz.bat.

All rather confusing, I know! (It sure confused me for a while!) It should be clearer when you see my Emulator setup in emuwizard.ini so here it is:

[SETTINGS]
Emulators=MAME, PINBALL ;*

......

[PINBALL]
Executable=start
ExecPath=c:\windows\command\
CmdLine=%q%p\%r%q ;**
Rompath=c:\pinbat
UseGoodFilters=0

* Obviously the MAME entry is only needed if you're also using EmuWizard to launch MAME
** %q inserts a quote in the command line, %p inserts the rompath and %r inserts the name of the zip file

So, (for example) for the table "Star Trek - TNG 2.3.vpt", set up emuwizard.ini as above, create a batch file in c:\pinbat as per the instructions above called "Star Trek TNG.bat" (or "Picard Rocks.bat" if you like), and create a dummy zip file called "Star Trek TNG.zip" (or "Picard Rocks.zip").   Do the same for your other tables and voila:   EmuWizard lists all the zip files (that it thinks are roms) under one emulator (c:\windows\command\start.exe) and when you select that table and hit the launch key, it generates the command line: "c:\windows\command\start c:\pinbat\Star Trek TNG.bat", and the table launches.

NOTE - EmuWizard DOES require the c:\windows\command\ - It will not list an emulator unless the ExecPath value is defined.

The other beauty of this is that your tables can have any name in the listing that you like as long as the batch file for that table has the same name as the zip and this acts as your custom name list without having to type a separate entry for each table in emuwizard.ini. You can also do this to launch any arbitrary program (I use it for Arcade Jukebox and a few windows and DOS games) by making a 'miscellaneous' directory for these programs and leaving out the line 'start vp.exe' in their batch files.

Not a particularly concise explanation, but I wanted you to be sure what was going on.  If you have any questions, please don't hesitate to ask.

   Arcade@Home Set-Up

First, I recommend setting up a clean copy of Arcade@Home in a new directory.  You will have to have a version of MAME on you PC to get it set up initially, although you might be able to delete it later.

Download the pinmame1_11.mwr file from here and copy it into your main pinball A@H folder (where default.mwr and arcade.exe are located).

Start A@H, and select "file-load custom game list" (Ctrl-L).   Select the pinmame1_11.mwr file and click the ok button.  A@H now displays all the VpinMAME games.

Now let's add BTTF, scroll down the games list until you find "Back To the Future"  Click on it and click on the "Game Settings" tab on the right A@H window.  Uncheck the "Use default setting for Back To the Future" checkbox.  In the "Miscellaneous Alt." box, enter C:\Pinbat\bttf.bat.   Double-click on the play button and the game should load.

Now let's add AlienReactor:  Open the pinmame1_11.mwr file in a text editor (WordPad).  (You can also do this from inside A@H with the "File - Edit Custom Game List" command).

You will see entries similar to the following:

ali=Ali
alpok_l2=Alien Poker (L-2)
alienstr=Alien Star
amazonh=Amazon Hunt

The first entry is the Game Name (Rom Name) and the second entry is the game list name.  The list is sorted alphabetically by game list name.

Enter a carriage return after the line that starts "alpok_l2 . . . " and enter the following text.

alienrea=Alien Reactor

Now save the .mwr file and start A@H.  Alien Reactor will be in the game list.  Now add a custom command line as shown above.

Repeat the above for all games and update your screenshots.   (There is also I way to fix the icons, but I don't know how to do it anymore :-((   ).

   EmuLoader Set-Up

There are three preliminary options that need to be changed from EmuLoader's default settings.

Start EL and select "File - Preferences".   On the "Miscellaneous" tab, check the "Ignore mame.cfg" box.   (Since we are running batch files, we don't care about the .cfg file of pinmamew.exe!). 

In the same window, under the "Games List" tab uncheck the "Unavailable Games Warning" box and check the "Switch "Play Game" hot-key" box.  (By default, EL ignores custom configurations when you click on a game or press enter and loads custom settings when you press Shift-Enter or Shift-Click.  This setting swaps these defaults so EL will use the Custom Command Line when we click on a game.  Otherwise, EL will start PinMAME for the game, instead of Visual Pinball :-(  )

Adjust other settings by preference and click close to exit the window.

        Adding VpinMAME Tables

First, let's add BTTF:  Start EL and scroll down the games list to "Back To the Future".  Right-click on the game and select "Custom Game Options - Set Custom Options (Selected Game)".  At the bottom of this window, select the "Custom Command Line" tab and enter C:\Pinbat\bttf.bat and click Ok.  EL will now launch the table when you select it.

HINT:  After you have entered the first table this way, you can open the file C:\ELP\Resources\CustomCmd.dat in a text editor, where you will now see:

bttf=c:\pinbat\bttf.bat

You can now add additional games on new lines using the format "gamename=command line".  This is quicker if you have multiple games to add.

Non-VPmame and original tables must be manually added.   Unfortunately, before I just tell you how to add them, I need to put in some boring background stuff so you will understand what you are doing. . .  (If you are really impatient, you can skip ahead to the Adding VP Original Tables or Adding VP Retro Tables... sections and come back to this later.

        Background

The first point I need to clear up is that I use the term "clone of" differently than EL does with MAME.  EL uses "clone of" to say that this game uses many of the same roms as the parent game and has similar gameplay.  I use "clone of" to mean that I want EL to use the parent games illustrations as images for this game.  Thus, in the custom game list, TopSpeed (a Visual Pinball rendition of Williams' 1986 High Speed) is a "Clone of" hs_l4, even though TopSpeed doesn't require any Roms at all.

Now let's look at how EL sorts games (simplified).   When EL is initially run, it reads the MAME.exe file to get a game list and then reads the roms folder to see what games are available.  It then sorts each game into one of eighteen categories and sixteen files.  (Note that the BIOS.dat and UnBIOS.dat files each contain two categories.  After this, it reads from these files to create the game list.  The files are located in C:\ELP\Resources and their functions are listed below.  Changes are shown in bold.

Definitions:
VpinMAME tables - Tables that use VpinMAME and Roms for the Digital LED displays (BTTF, for example).
VP Retro tables - Recreations of historical tables that do not require Roms to play (Topspeed, for example).
VP Original tables - Tables that do not require Roms and are not based on real tables (Alien Reactor, for example).

Category Contains Name Usage
0 Available Classic (non-Neo-Geo) Master Raster Games ClassicMR.dat Installed Master pinMame Roms
Recommend Using for All VpinMAME Tables
1 Available Classic (non-Neo-Geo) Master Vector Games ClassicMV.dat Not used by pinMAME.  File is empty.
2 Available Classic (non-Neo-Geo) Clone Raster Games ClassicCR.dat Installed Clone pinMAME Roms
Recommend Moving this data to ClassicMR.dat
3 Available Classic (non-Neo-Geo) Clone Vector Games ClassicCV.dat Not used by pinMame.  File is empty.
Recommend adding VP (not pinmame) Retro tables to this file.
4 Available Neo-Geo Master Games NeoGeoM.dat Not used by pinMame.  File is empty.
5 Available Neo-Geo Clone Games NeoGeoC.dat Not used by pinMame.  File is empty.
Recommend adding VP (not pinmame) Original tables to this file.
6 Unavailable Classic (non-Neo-Geo) Master Raster Games UnClassicMR.dat Non-installed Master pinMame Roms
Recommend Using for All Unavailable VpinMAME Tables
7 Unvailable Classic (non-Neo-Geo) Master Vector Games UnClassicMV.dat Not used by pinMAME.  File is empty.
8 Unavailable Classic (non-Neo-Geo) Clone Raster Games UnClassicCR.dat Non-installed Clone pinMAME Roms
Optionally Recommend Moving this data to UnClassicMR.dat
9 Unavailable Classic (non-Neo-Geo) Clone Vector Games UnClassicCV.dat Not used by pinMame.  File is empty.
Optionally Recommend adding Unavailable VP (not pinmame) Retro tables to this file.
A Unavailable Neo-Geo Master Games UnNeoGeoM.dat Not used by pinMame.  File is empty.
B Unavailable Neo-Geo Clone Games UnNeoGeoC.dat Not used by pinMame.  File is empty.
Optionally Recommend adding Unavailable VP (not pinmame) Original tables to this file.
C Available Classic (non-Neo-Geo) Bios Roms BIOS.dat Not used by pinMame.  File is empty.
D Available Neo-Geo Bios Roms BIOS.dat Not used by pinMame.  File is empty.
E Unavailable Classic (non-Neo-Geo) Bios Roms UnBIOS.dat Not used by pinMame.  File is empty.
F Unavailable Neo-Geo Bios Roms UnBIOS.dat Not used by pinMame.  File is empty.
G Available Custom Games CustomGames.dat Not used by pinMame.  File will not exist until a Custom Game is added using Custom Games Manager.
H Unavailable Custom Games UnCustomGames.dat Not used by pinMame.  File will not exist until a Custom Game is added using Custom Games Manager.

Adding the unavailable games is optional.  Eventually, I may create a custom .dat file containing non-VpinMAME tables which I will make available here.  Don't hold your breath though.

Adding the clone games to the master files is optional also.  Actually, I prefer the method I discuss under the FAQ's for speeding up EL.  You could also just delete the info from the clone .dat files altogether.  Don't delete the files, though!!!  If you merge the data you won't be able to sort by master and clone games, but that is not a big problem.

The reason I recommend adding the games to the files shown above is that now you can filter on Master and show only VPMame Tables, on Clone and show only non-VPmame tables (useful for slow computers), on Vector and show only VP Retro tables, and on NeoGeo and show only VP Original tables.  Pretty Slick :-)

Before you can add games to the *.dat files, you need to understand their structure.  Also, this information is different from what is shown in the EL documentation, which is outdated :-((  (The data below is accurate as of EL Version 2.7c)

Each *.dat file contains an entry for each game.  The entry contains 20 fields and ends with a ";" which EL interprets as end-of-line and is required.  Each field is separated by the "¬" character, which can be copied and pasted, but not typed.  Here is an example entry from the UnClassicMR.dat file:

6¬Foxy Lady¬1978¬Game Plan¬¬60 Hz¬¬Buttons¬Raster¬Horizontal¬256x256¬Good¬Preliminary¬Good¬¬foxylady¬¬¬¬mes.c;

The field definitions are as follows:

Category (from the list above, EL uses this for the Classification Entry in the games list, I think)¬Description (how the game appears in the game list)¬Year¬Manufacturer¬Stereo¬Frequency¬Samples¬Control Type¬Video (Raster or Vector)¬Orientation¬Resolution¬Driver Status¬Sound Status¬Color Status¬Merged/Unmerged¬Name (Rom Name)¬Clone Of¬Category¬Version Added¬PinMAME driver;

For Visual Pinball, the only fields that are used are Category (because I think EL might need a correct entry for it), Description, Year, Manufacturer, Name (Rom Name), Clone of, and Category (I use this for the table name so I can use EL to know what version of a table I am playing).

Now (at last) we are ready to start adding tables:

        Adding VP Original Tables

Let's add the AlienReactor table which comes with VP.   We already created a batch file for it:

Open the C:\ELP\Resources\ClassicMR.dat file in a text editor and select the "Back To the Future" entry and select Copy.  Open the C:\ELP\Resources\NeoGeoC.dat file in a text editor and select Paste.  You should see the following entry:

0¬Back To the Future¬1990¬Data East¬Yes¬50 Hz¬Yes¬Buttons¬Raster¬Horizontal¬256x256¬Good¬Good¬Good¬¬bttf¬¬¬¬mes.c;

Edit the line to read as follows (bold items are changes):

5¬Alien Reactor¬2001¬Original¬Yes¬50 Hz¬Yes¬Buttons¬Raster¬Horizontal¬256x256¬Good¬Good¬Good¬¬alienrea¬¬AlienReactor.vpt¬¬mes.c;

Save the file as a text file.  NOTE:  Make sure the file keeps the .dat extension.  Word will often change it to *.txt.

Now open the C:\ELP\Resources\CustomCmd.dat file in a text editor.   Add the following line: alienrea=C:\pinbat\alienrea.bat. and save the file.

Alien Reactor is now added.  Use the same procedure to add other VP Original Tables.  Note: For additional tables, you can just copy and paste the entries in the NeoGeoC.dat file, you don't need to open the ClassicMR.dat file again.

        Adding VP Retro Tables

Let's add the topspeed table which comes with VP.   First, copy and rename one of the batch file to create a topspeed.bat file for it.

Open the C:\ELP\Resources\ClassicMR.dat file in a text editor and select the "Back To the Future" entry and select Copy.  Open the C:\ELP\Resources\NeoGeoC.dat file in a text editor and select Paste.  You should see the following entry:

0¬Back To the Future¬1990¬Data East¬Yes¬50 Hz¬Yes¬Buttons¬Raster¬Horizontal¬256x256¬Good¬Good¬Good¬¬bttf¬¬¬¬mes.c;

Edit the line to read as follows (bold items are changes):

3¬Top Speed or High Speed (VP)¬1986¬Williams¬Yes¬50 Hz¬Yes¬Buttons¬Raster¬Horizontal¬256x256¬Good¬Good¬Good¬¬topspeed¬hs_l4¬TopSpeed.vpt¬¬mes.c;

Note the "Clone Of" entry.  This means that EL will use your "High Speed" images when you select "Top Speed" in the game list.

Save the file as a text file.  NOTE:  Make sure the file keeps the .dat extension.  Word will often change it to *.txt.

Now open the C:\ELP\Resources\CustomCmd.dat file in a text editor.   Add the following line: topspeed=C:\pinbat\topspeed.bat. and save the file.

Topspeed is now added.  Use the same procedure to add other VP Original Tables.  Note: For additional tables, you can just copy and paste the entries in the ClassicCV.dat file, you don't need to open the ClassicMR.dat file again.

        Final Touches

The main step remaining is to add the images associated with each game.  I want to point out a couple of things to make this easier.   First, in EL, you tell the program what folders images are stored in using the "File-Mame Extended Options" command.  Also, under the "File-Preferences" comand, under the "Preview Pictures" tab, check "New Picture Name Format" tab.  This allows you to save multiple images using the eight character (or less) name followed by four numbers, such as hs_l40000, hs_l40001, hs_l40002, etc.

THAT'S ALL!!!  HAVE FUN!  or . . .

TROUBLESHOOTING

I will be glad to help you out, but here are some things to try if you just can't get this to work.

Basically, problems can be divided into three categories, Visual Pinball problems, Batch File Problems, and EL problems.  Troubleshooting consists of working through the individual steps of the procedure.

ACTION REMEDY (IF ACTION FAILS)
Launch Visual Pinball from the Start Menu.  Load a table from the File Open menu.  Does the table  load and play normally? If you have not done so, reinstall Visual Pinball.  I don't like telling people what directories to use, but the directories that  Easy EMU recommends seem to work well.
In Windows Explorer, select the directory where your *.vpt files are loaded and double-click one of the tables.  Does the table load and play normally? Windoze is not associating your *.vpt files with Visual Pinball.  Try reinstalling Visual Pinball or in Windows Explorer, create a file type for *.vpt files and associate it with Visual Pinball.

In Windows Explorer, select one of the batch files and double-click on it.  Does the table load automatically and play correctly and exit when complete?

Open a DOS command prompt. (DOS Window).

Use the cd command to move to the directory where your VP tables are located. Ensure the "cd dirname" line in the batch file matches the cd line that works correctly in the DOS window.

Type "C:\Pinball\VPinball.exe" -Play -"tablename.vpt" and see if the table loads properly.  If this fails, you may be able to use start tablename.vpt or start "tablename.vpt".  If none of these work, you might be able to force the table to load using AutoIt, but you are over my head here.

If the table loads properly, ALT-TAB back to the DOS window and type vp.exe.  The AutoIt icon should show up in the systray and the table should close and close visual pinball on exit.  If it doesn't try modifying vp.aut and vp.exe to find which steps don't work and need to be changed.

The batch files work fine, but the tables don't load properly in EL? Verify that the custom command line correctly matches the name of the batch file.

Ensure that you have enabled the alternate game Hot-key as shown here

If all of the above steps fail, please contact me.  Please include what flavor of Windoze you are using, what steps you have tried, and what directories everything is installed in, if they are not the defaults.