www.pinmame-hw.com
PinMame-HW 1.32 HF3, can now communicate
with a REAL Pinball!
Modified version of PinMame (DOWNLOAD SECTION of PinMame-HW)
The Electronic Schematics diagram
We are planning on adding scoreboard support to PinMAME-HW.
If anyone had a scoreboard they could donate we could test with, that would certainly help with this effort. we will eventually need all the scoreboard types that exist.... which doesn't make things as simple as they could be. :]
9/25/2004:
Brad O. have just released PinMAME-HW 1.32 HF3, here is what's new:
This includes a major optimization. It only updates the lamps and solenoids when necessary. Previously, it was updating them for every cycle of the CPU. There are no additional switches to enable this.
In preparation for scoreboard support, I believe that eliminating this overhead is critical.
9/18/2004:
Regis Maltais was able to control a Bally Fireball Classic playfield with PinMAME-HW 1.32 HF3.
Here are some pictures: PC running PinMame-HW, PC running PinMame-HW2, PC running PinMame-HW3, PC running PinMame-HW4,PC running PinMame-HW5,The Custom Electronic Cards,The Custom Electronic Cards2, The Custom Electronic Cards3, The Custom Electronic Cards4
8/11/2004:
Brad O. was at California Extreme to do a speech on PinMAME-HW 1.32 HF3.
Here is it's comment after the show:
"The CAX show was awesome. The PinMAME-HW presentation went very well
(ie: all the hardware worked perfectly.) There were 50+ people in attendance and
they asked tons of questions. I think most people that were there understood
the great advantages to using a PinMAME-HW implementation for certain games."
8/6/2004:
Brad O. will be at California Extreme to do a speech on Pinmame-HW.
Saturday
* 3:00 PM - 3:45 PM - "Controlling a Real Pinball with a PC" by Brad Oldham
7/21/2004:
Brad O. have just released a document that illustrate the mapping of the lamps, solenoids and switches
of his Baby PacMan pinball, please look for it here: BabyPacMan_PinMame-HW.txt
Juaney from Spain have kindly translated our WebSite in Spanish!
http://www.tecnopinball.com/emupin/pm_hw.htm, Thanks a lot Juaney!
6/11/2004:
Brad O. have just released PinMAME-HW 1.32 HF2, here is what's new:
New switch:
-inverthw- Reverses the behavior of the Output Enable line (pin 16 on the
parallel port.) When this option is used, PinMAME-HW 1.32 HF2 turns OFF pin 16 while
controlling a real playfield. Without -inverthw, PinMAME-HW 1.32 HF2 turns ON pin 16
while controlling a real playfield. The purpose of this is to eliminate any
chance of a solenoid firing during the time that the PC is booting. Pin 16
on most parallel ports remains HIGH during bootup. So we run the OE line
through a 74HCT04 inverter IC, which sets the OE line LOW when the the pin
16 is HIGH during a Windows boot. Once PinMAME-HW 1.32 HF2 starts, Pin 16 is set LOW
and the 74HCT04 sets OE to HIGH, hereby enabling all outputs (solenoids and
lamps).Brad O. have acheived his goal, PART 2, here are the details :
I spent some time cleaning up the playfield, installed all plastics, and connected the lamps that aren't computer controlled. I can honestly say that everything on this playfield is now working perfectly and reliably!! (Baby Pacman working picture2).
Regis Maltais have reactualized the schematic diagram of the electronic interface:
PCtoPinballinterfaceSchematics.gif, PCtoPinballinterfaceSchematics.vsd
(The Schematics is too big for Microsoft Internet Explorer, If you have problems opening in IE, just right click the link and use the Save Target As option, so can view it later on your PC).
Please take note, that the schematic diagram is a depthhw 2 diagram, so when you use PinMame-HW, please do not forgot the -depthhw 2 parameter.
5/25/2004:
Regis Maltais have been able to revive a old SilverBall Mania Playfield!, here are the details :
This morning I was able to activate all the lamps, switches and solenoids. They are all responding as expected! PinMAME-HW 1.32.01 HF1 is a great software!
5/23/2004:
Brad O. have acheived his goal, here are the details :
Well, tonight I have achieved my goal with this project. I have Baby Pacman fully working on the playfield. The only remaining problems are mechanical ones that will require a bit of WD-40 and sanding some input switches. I have been playing Baby Pacman (Baby Pacman working picture) via PinMAME-HW 1.32.01 HF1 for quite some time tonight and it seems very reliable and works exactly like the original hardware.
5/19/2004:
Brad O. have just released PinMAME-HW 1.32.01 HF1, here is what's new:
There was a bug in the original version that caused the first row of matrix input keys to be unusable. I have also added some code optimizations and a few inconsequential features.
Hopefully, this will be the last build I have to release for awhile... at least until after I finish my Baby Pacman project.
Regis Maltais have reactualized the schematic diagram of the electronic interface:
PCtoPinballinterfaceSchematics.gif, PCtoPinballinterfaceSchematics.vsd
(The Schematics is too big for Microsoft Internet Explorer, If you have problems opening in IE, just right click the link and use the Save Target As option, so can view it later on your PC).
Please take note, that the schematic diagram is a depthhw 2 diagram, so when you use PinMame-HW, please do not forgot the -depthhw 2 parameter.
5/17/2004:
Brad O. is reporting that the flippers and three out-holes connected to and controlled by
PinMAME-HW 1.32.01! All solenoid functionality appears to be working perfectly. I
need to attach four (4) more solenoids for the drop targets, and I'm ready
to install the playfield into my Baby Pacman.Regis Maltais was able to controll with PinMAME-HW 1.32.01 allmost all the lights in the SilverBall Mania playfield.
Please take note that a new schematics will follow soon...
NOTE: Our tests denotes that you need to enable the EPP option of your printer port, in order to interface your PC, with the Electronic Interface connected to your pinball.
5/15/2004:
Brad O. have just released PinMAME-HW 1.32.01, here is what's new:
The PinMAME-HW code has been merged into PinMAME 1.32.01.
All previous PinMAME-HW hotfixes are included.
One new item:
When using -depthhw 2 or less is used, the first 20 solenoids and a maximum
of 108 lamps are allowedWhen using -depthhw 3 or greater, all 64 solenoids and a maximum of (total
number of outputs - 64) lamps are allowed.
5/14/2004:
Brad O. have just released PinMame-HW 1.32-HF3. Here is what's new:
I just got the -depthhw switch working (finally figured out how to
dynamically allocate the memory. I tested it and it seems to work
properly.... although the final test will be to hook it up to more or less
than 2 IC's per parallel port IO line.An explanation of how this switch works:
-depthhw 1 = means that one IC is connected to each parallel output line for a total of 64 outputs.
-depthhw 2 = means that two ICs are connected to each parallel output line for a total of 128 outputs.
-depthhw 3 = means that three ICs are connected to each parallel output line for a total of 196 outputs.
...and so on....
The max is 10... although there is no reason why it couldn't be even greater
than that. The default is 2 (if you use the -hardware option without a -depthhw switch).Regis Maltais was able to understand the A3 Voltage Regulator / Solenoid Driver Schematics (Pages 52, 53) of the pinball manual. He was able to create a Solenoid convertion matrix to connect PinMame and the Silver Ball Mania playfield. Basically PinMame can display a matrix, this matrix illustrate the state of virtual lamps, virtual switches and virtual solenoids, now this Solenoid convertion matrix offer the possibility of linking the pinball emulation world and the real one.
5/13/2004:
Brad O. have just released PinMame-HW 1.32-HF3. Here is what's new:
Under the Input General menu option, you will now notice INPUT HW keys (1-64). You can now map whatever key you want to a matrix key instead of using the QWERTYUI/ASDFGHJK matrix keys. I couldn't find any easy way to get the matrix keys to work with real hardware.... the main problem was with drop targets. Drop targets are triggered and keep the key depressed until the target is reset, which is a major problem when using the matrix keys.
So now, you simply need to wire each switch to a specific key that triggers the appropriate switch and you're done. This mode ONLY works when using the -hardware switch. Without the -hardware switch, the matrix keys take effect just as in regular PinMAME .
NOTE: The standard keys for inserting coins and starting the game do not work now when the -hardware switch is used. You must find these keys and assign them in the Input (General) menu.
Regis Maltais was able to understand the Bally A5 Lamp Driver Schematics of the pinball. He was able to create a Lamps convertion matrix to connect PinMame and the Silver Ball Mania playfield. Basically PinMame can display a matrix, this matrix illustrate the state of virtual lamps, virtual switches and virtual solenoids, now this Lamps convertion matrix offer the possibility of linking the pinball emulation world and the real one.
5/5/2004:
Regis Maltais have completed the playfield General Illumination of SilverBall Mania (SilverBall_Mania_By_Night.jpg)
and have taken few picture of the current project status: (Playfield_Connectors_1.jpg, Playfield_Connectors_2.jpg,
Bally_Transformer.jpg, Bally_Transformer2.jpg, Bally_Transformer3.jpg, Silverball_Mania_Playfield1.jpg, Silverball_Mania_Playfield2.jpg),
all the lamps have been tested and changed, the ( Playfield connectors pinout) have been readjusted.
5/4/2004:
Regis Maltais have been able to understand the various connectors of the SilverBall Mania ( Playfield connectors pinout).
And was able to activate the general playfield illumination.
5/3/2004:
Brad O. have recompiled PinMAME-HW to solve a small issue with the IPAC.
5/2/2004:
Today a friend of Regis Maltais have lend him a SilverBall Mania playfield to help us in our project.
I have also an original Bally Power Supply. The playfield need to be cleaned and few lamps need to be replaced. Soon I will be able to do intensive testing with it.
5/1/2004:
Brad O. have recompiled PinMAME-HW to reflect current PinMame version 1.32, and a new switch have been added to PinMame-HW.
The purpose of this project is to control all aspects of a real pinball playfield utilizing PinMAME.
This is especially intended for Pinball machines that are either:
a) Missing boards
b) Contains boards that are non-functional and are expensive or difficult to fix
c) Contains boards that are unreliable (Baby Pacman has a few of these)
For example:
http://www.beercade.com/pinball/strikesspares/strikesspares.htm
As you can see most of the electronics of this pinball are missing... :-(
As the project progresses, additional features will be added to make
controlling real pinball hardware with PinMAME even easier. An obvious
future enhancement is to add the ability to control real LED scoreboards
with PinMAME.
The project does require a very inexpensive circuit board that can be built
in accordance with the schematics located on this site.
Brad O. started this project because his REAL Baby Pacman pinball machine
was continuously breaking.
He decided to use PinMAME to fix it in order to eliminate expensive,
unreliable, and unnecessarily complex boards and components.
PinMAME has the ability to emulate the following pinball machines on a PC:
PinMame_gamelist.txt), if you see your pinball in this list, then you can use our PinMAME-HW!
Brad O. has added functionality to PinMAME to allow it to control a REAL
pinball playfield through a parallel port (LPT1 or LPT2).
We call it PinMAME-HW!
Although PinMAME-HW should work with any pinball machine, it has only been
tested with Baby Pacman, so it is possible that some additional
modifications may be required.
Brad O. have confirmed that this thing is running and it is working fine...
as far as he can tell, the schematics are correct, but to his knowledge, no
one has built their own board based on the schematics yet as they are very new.
You can download PinMame-HW here:
pinmame_hw_132_hf3_bin.zip (old previous version)
pinmame_hw_132_hf3_src.zip (old previous version)
pinmame_hw_132_hf2_bin.zip (old previous version)
pinmame_hw_132_hf2_src.zip (old previous version)
pinmame_hw_132_2_hf1_bin.zip (old previous version)
pinmame_hw_132_2_hf1_src.zip (old previous version)
pinmame_hw_132_hf2_bin.zip (old previous version)
pinmame_hw_132_2_src.zip (old previous version)
pinmame_hw_132_bin_hf3.zip (old version)
pinmame_hw_132_src_hf3.zip (old version)
pinmame_hw_132_bin_hf2.zip (old version)
pinmame_hw_132_src_hf2.zip (old version)
pinmame_hw_132_bin_hf1.zip (old version)
pinmame_hw_132_src_hf1.zip (old version)
PinMame-HW 1.0 binary and source (old first version)
There are two new command-line switches:
-hardware <port number>
-hardware 1 controls real hardware attached to LPT1
-hardware 2 controls real hardware attached to LPT2
-testhw enters hardware test mode, which allows the user to manually control
the state of the outputs (lamps and solenoids)
(Warning: Be careful with this feature as you can easily activate a
solenoid and leave it on for too long... hence, burning it.)-depthhw 1 = means that one IC is connected to each parallel output line for a total of 64 outputs.
-depthhw 2 = means that two ICs are connected to each parallel output line for a total of 128 outputs.
-depthhw 3 = means that three ICs are connected to each parallel output line for a total of 196 outputs.
...and so on....
-inverthw = Reverses the behavior of the Output Enable line (pin 16 on the parallel port.)
When this option is used, PinMAME-HW 1.32 HF2 turns OFF pin 16 while controlling a real playfield. Without -inverthw, PinMAME-HW 1.32 HF2 turns ON pin 16 while controlling a real playfield. The purpose of this is to eliminate any chance of a solenoid firing during the time that the PC is booting. Pin 16 on most parallel ports remains HIGH during bootup. So we run the OE line through a 74HCT04 inverter IC, which sets the OE line LOW when the the pin 16 is HIGH during a Windows boot. Once PinMAME-HW 1.32 HF2 starts, Pin 16 is set LOW and the 74HCT04 sets OE to HIGH, hereby enabling all outputs (solenoids and lamps).
The -hardware switch also disables the standard PinMAME input matrix keys
(QWERTYUI/ASDFGHJK) and allows the user to map keys to each switch on a one
to one basis (for IPAC or hacked keyboard support.)In PinMAME-HW, use the TAB key to invoke the "Input (General)" menu, the input matrix switches can be seen at the end of the list (Input HW1 to Input HW64) and configured accordingly. Multiple keys can be assigned to a single switch allowing the user to create a customized matrix if the pinball playfield allows for it.
Additionally, with the -hardware switch, the input matrix switches no longer toggle... they are ON when the appropriate key(s) are depressed and OFF when they are released for actual pinball functionality.
NOTE: The standard "coin insert" and "start keys" (the 1, 2, 5, and 6 keys)
no longer work with the -hardware switch. You must find these inputs under
the "Input General" menu, assign them to a key, and wire them accordingly.NOTE TO USERS OF HACKED KEYBOARD CONTROLLERS: Remember that keyboard
utilize a matrix of their own.... therefore, certain combinations of keys
will not work together (ie: certain variations of 3 or more keys depressed
simultaneously.) It is highly recommended to use an IPAC for this project
because this limitation is not an issue. If your pinball playfield does not
require many inputs to be triggered simultaneously, then a hacked keyboard
may work for you. "Drop Targets" can be especially troublesome with a
hacked keyboard because they activate and remain activated until they are
eventually reset.NOTE: You must have the par-io.dll file in the same directory that you run PinMAME-HW from.
Here is the latest picture of Brad O.'s breadboard... which is ugly, but works.
The intent is to design a PCB that will handle this:
This is Brad O.'s setup... if it was a video, you would see lamps flashing on
the playfield exactly as the original Baby Pacman machine flashes the lamps
in attract mode.
This is the 43 Volt Power Supply used to power the solenoids. This voltage
may vary depending on the pinball machine you are converting to PinMAME-HW:
IPAC:
The switches are handled by use of an IPAC... wire up your switch matrix to
the IPAC and you're good to go.
4094 Shift and Store Bus Registers :
The IC's can be purchased here for 30 cents each if you buy 10 or more:
7404 Hex Inverter :
The IC's can be purchased here for 49 cents each if you buy 10 or more:
60 Volts transistor is for the Lamps (MJE800, NPN, DARLINGTON, 60V):
100 Volts transistor for the Solenoids and the Lamps (TIP102, NPN POWER, DARLINGTON):
Quantity = 128, (1k ohm 1/4 watts) resistors
43 Volts Power Supply:
63V 10,000uf capacitor
30V 10 amp Toroidal Transformer
20amp bridge rectifier
10A fast-blo fuse
The Electronic Schematics diagram:
This is the schematic diagram of the electronics needed to created the interface
between the PC and the REAL Pinball.
(The Schematics is too big for Microsoft Internet Explorer,
If you have problems opening in IE, just right click the link and
use the Save Target As option, so can view it later on your PC):
or you can download this Microsoft FREE Visio Viewer :
And then download the Visio Electronics Schematics :
As the circuit is currently designed, you can drive up to 96 REAL lamps and
32 REAL Solenoils. PinMAME's code can easily be modified to
handle a virtually unlimited number of lamps and solenoids.
Take note that, Brad O. is still working on this project, and is still
adding improvements.
Note: To ensure that the Pinball emulation is running smootly, the "PinMame
team" suggest a Pentium CPU running at 500 megahertz minimum.
http://members.cox.net/brado426/QMAME
(modified PinMAME, so it can send information through the parallel printer port and Father of this Project)
http://membres.lycos.fr/regismalt/
(Assist Brad O. in the development of the electronic schematic, the design of the PinMame-HW logo and this WebPage)
http://www.tecnopinball.com/emupin/pm_hw.htm
(Have kindly translated our WebSite in Spanish)
The forum we both use:
Look under VPForums » Pinball Simulation - VP / VPinMAME - The programs you need »
VP Addons and Plugins » Parallel Port Support for PinMAME
http://www.vpforums.com/ Pinball Forum WebSite
http://www.pinmame.com/ OFFICIAL PinMame WebSite
http://www.ultimarc.com/ IPAC Web Site
http://homepages.which.net/~paul.hills/Software/ShiftRegister/ShiftRegister.html I/O Microcontroller WebSite