ompaloompa

test
ompaloompa

test
My latest arcade task was to create a connection system to allow me to connect a stepmania PC to my Pump it up Dance Machine.
The plan was to create a system that would allow me to use all existing connectors in the dance machine so that the conversion can be reversed when ever I want.
Now I have been putting off this conversion for a long time now as I figured a dance machine without the flashing lights would be boring as fuck, well thanks to a fellow member on my Arcade Forum my eyes were opened up to a mod that appears to have been around for a while in Stepmania.
Basically you can use PC Parallel ports to output signals that will enable lights to flash on & off like in a real arcade machine, so a quick search on the stepmania forums gave me all the required information to start putting the idea into practice.
I am writing this walkthrough based on a Pump it up arcade machine, the guide will also work for a DDR machine but some steps are slightly different so if you have a DDR machine some slight alterations will be needed.
Lets start with the PC, you need a PC capable of running Stepmania and 3 LPT ports, this will usually consist of an onboard port and you can buy PCI cards that provide you 2 more ports, these can be expensive but if you look hard enough you can find one for £9.99 including shipping (typically I found that I already had one of these in a box).
You will also need some sort of Keyboard decoder that will take the inputs from the Dance pad and convert them into key presses that stepmania will recognise, this will typically set you back £15 – £30.
Stepmania Setup
You will need Stepmania 3.9 source code.
Visual Studio .net 2003 – I recommed this version as newer versions cause compile errors.
DirectX SDK – here
Windows Platform SDK – here
Configure Visual C++ paths
Open Visual Studio
Click Tools -> Options.
Click Projects -> VC++ Directories
Change the Show directories for: drop-down to Includes
Add an entry for c:\DXSDK\includes (where c:\DXSDK\ is the location the DirectX SDK that you have installed)
Also add entries for C:\WindowsPlatformSDK\include\atl and C:\WindowsPlatformSDK\include\mfc as well.
Change the Show directories for: drop-down to Libraries
Add an entry for c:\DXSDK\lib (where c:\DXSDK\ is the location the DirectX SDK that you have installed)
Code Changes
LightsDriver.cpp
SM3.9 Final has parallel lights disabled due to conflicts with the GPL license. This can be reactivated and to do so you need to locate LightsDriver.cpp found in ‘’src/arch/lights/”, just uncomment line 14 in the code
LightsDriver_Win32Parallel.cpp - this changes the light output from 4 lights per pad to 5 as in PIU
Find the following code
CLAMP( (int&)gb, 0, 4 );
Return NUM_CABINET_LIGHTS + gc*4 + gb;
And change it to :-
CLAMP( (int&)gb, 0, 5 );
Return NUM_CABINET_LIGHTS + gc*5 + gb;
Now you will need to enter the I/O addresses for the LPT ports into the stepmania source code.
once you have the cards installed in the PC open up device manager and enter the resouce tab.
You need the first value shown for each port. (example below i.e BC00)
Resource type Setting
I/O Range BC00 – BC07
I/O Range BB00 – BB07
Also in the LightsDriver_Win32Parallel.cpp edit lines 16, 17 & 18 and enter your three ports adresses.
Once all the above is done you can then compile the source code and use the created stepmania.exe file to run with your stepmania PC setup.