Converting DDR SuperNOVA series to Stepmania

Since my discovery of Stepmania in mid-2007 (it was during high school graduation), I aspire to play it on a proper DDR cabinet (name it: unlimited songs, customizable charts/ themes, etc). Long story short, I secured my own cab 14 years later… with a hope!

In this guide, I will share my experience that covers ‘why + what + how’ in converting a DDR SuperNOVA2 machine to run Stepmania as detailed as possible. Be advised that this job could be difficult without (at least) some basic hardware/ electrical knowledge, but indeed a doable one once you understand the trick.

Left: DDR cab running official SuperNOVA2 | Right: Converted cab running Stepmania

The Legend of SuperNOVA

SuperNOVA series stole my heart back in 2007-2010 (with an exception of their initial Dancing Stage release), and they stood still until today. Lately, I acquired a Japanese SN2 red cab with most (if not all) of its original parts intact.

A sneak peek of DDR SuperNOVA2’s computer hardware

At the heart of it, is a Python 2 control unit (as shown above) that governs everything. Pry open Unscrew the top metal sheet then we’ll see a Japanese PlayStation2 connected to a Konami PCB called P2IO (think of a bridge that handles all input/ output commands, so don’t break it).

Basically, you can convert nearly every version of legacy DDR cabinets (don’t make me say crapocab), but it will be more convenient if you can get your hands on a SuperNOVA cab (be it Jap’s or US Betson’s) since certain branch of Stepmania now natively supports P2IO, because this will completely eliminate the need for additional board(s) (such as 573 Minimaid or a combination of J-PAC and Lit board). After that, make sure your cab came with a working Ext I/O, or you may need to opt for previously mentioned boards. If your SuperNOVA HDD died, then you have the perfect justification for immediate conversion.

Kudos to some fellas in Private Dance Games Owner Group for helping me with this project, without them I would have run in circles (^.^)v.

Preparation time!

Reviving an old gaming PC with broken motherboard + graphic card
Resuscitating a drowned ancient graphic card
Testing a repaired PC setup, installed an SSD drive (old processor & RAM sticks still perform well)

Step #1: Set up a PC

You don’t need a muscular gaming PC to run a music-simulation game (as a matter of fact, a potato should suffice). But if you opt to run it in very high resolution (1080p and above) or perhaps a lot of your simfiles came with heavy BG videos, then you may need to buff it as needed to maintain (at least) 60fps of constant gameplay (any stutter at any time is not funny at all).

Since I am running my display in native 480p 4:3 configuration then I won’t need unnecessary horsepower, here’s my specs:

  • Intel Core 2 Quad – 3.0GHz (a Core 2 Duo will still do fine)
  • Radeon HD 4350512MB DDR2 (with VGA output)
  • DDR2 RAM 800MHz2x2GB (dual channel)
  • SATA2 SSD – 240GB
  • Windows 7 64 Bit (required)

I could recommend a second-hand DeLL Optiplex mini PC with low profile dedicated graphic card. IF you plan to run it on a CRT monitor, you’ll have two options:

  1. 15KHz CRT: Get an Arcade VGA or something equivalent/ compatible with 15KHz.
  2. 31KHz CRT: Old ATI RADEON cards are your best friends (be sure not to update the driver beyond what’s available from Windows’ auto-updater in ‘properties’ menu), preferably one with VGA output. (If a DVI connector is all you got, make sure it supports both digital + analog output)
Left: Cables required for the project | Right: HDMI to VGA converted (didn’t work on CRT)

After that, you will need to buy some cables:

  1. USB extension (female to male; at least 10ft long) – x2
  2. VGA extension (female to male; at least 10ft long) – x1
  3. RCA to 3.5mm AUX (should work 2-ways; at least 10ft long) – x1

If you are already got a modern LCD monitor mounted instead of CRT, then a standard HDMI cable + graphic card with HDMI output are all you need.

CRT signal reception | Left: No signal detected | Right: 480p 60hz signal detected

Tips: CRT monitors will ONLY recognize pure analog signal input (I tried converting HDMI output from multiple laptops to VGA without avail). If you have a 31KHz one, it will cater a max resolution of 640×480 @60Hz (any higher than this will result in ‘no signal’ display – you’ will have to change the resolution manually using other modern monitor before switching back to CRT – restart the Windows if problem still persist). In my case, it’s safer (guaranteed a display) to connect CRT’s VGA cable to the PC after motherboard BIOS successfully booted.

Next, download the latest Stepmania Outfox + highly recommended Simply love ITG theme (at the moment, SM Outfox doesn’t support many themes yet; especially old ones as it will show broken display – if this happen, you’ll have to manually rename/ delete the theme folder).

Step #2: Hardware installation

You will find a kill switch mechanism in the back of Japanese DDR cabinet

I assume your PC is ready by now, then it’s time to dig deeper. First, carefully open the metal backdoor (it’s big, you won’t miss it) to avoid ripping a fan cable (it may still be connected inside) after unscrewing it. If you own a Japanese cab, you will run into a kill switch mechanism that instantly cuts electricity if a backdoor is not present/ installed properly. To regain power, find something small (like a screw) to jam the mechanism and trigger a solid press.

Congratulations, your surgeon internship starts now! Soon after, you will discover a Python 2 (explained earlier) + an Ext-I/O + an audio amplifier + a power supply (I assume you are aware to provide correct voltage – 110v for Japan/ USA/ Korea – 220v for Europe; mine already has a step down transformer permanently installed). FYI, a J-cab will have the computer unit mounted vertically, while it’s horizontal for K-cab).

Don’t forget to visually document everything in their original state in case you ‘get lost’ later
Left: Konami Ext I/O | Right: Audio amplifier

If you are green to this (like I was), it’s best to visually document everything before removing the computer unit (assuming the cab came with proper settings). Gently remove all plugs connected to it: power + JAMMA harness (might be a little stiff) + VGA + audio + port 1 + COM 1 & 2 + LAN (may not have any use). When done right, slide the wooden board out (your Python 2 unit should be mounted to it). Be wary of accidental drop because of it’s weight (+5kgs), we want no damage here.

A closer look at Python 2 hardware: a Japanese PS2 (series 5000) with encrypted 40GB HDD + a dedicated I/O board (P2IO)

Remove the top metal sheet and you should see something like this. There are only a few things to do here:

  1. Unplug PS2’s power cable (in the back) to preserve the console + HDD lifetime (no need to turn it on for Stepmania).
  2. Unplug 2 USB cables from PS2’s front side (they are very short; positioned below P1 controller port) before extending them both using USB extension cables (after that, find a little gap somewhere to smuggle the other end out)
  3. Close the lid and reinstall the Python 2 unit back to cabinet.
Re-routing both P2IO’s USB cables from PS2 to PC

Now you need to re-route some cables:

  1. Plug both extended USBs to your PC (use back slots for better speed) >> this way your computer can ‘speak’ directly to P2IO to handle all inputs (pads + buttons) and lighting.
  2. Convert RCA (red + white) audio cables from the amplifier (LINE 1) to 3.5mm jack (AUX) plug on your PC >> outputting sound directly from PC to cab speakers.
  3. Extend VGA (CRT)/ HDMI (LCD) from monitor to PC.
Left: Successfully extended both USB cables | Right: Failed First attempt of connecting a Windows 10 laptop

Step #3: Hardware + software testing

You will need to turn both cabinet and PC on to start (sequence don’t matter). At first, I was using Windows 10 laptop (turns out the OS has USB stack driver issue – can’t recognize P2IO >> just use Win 7 64Bit). On the other hand, audio should work immediately like regular speakers

More tests using a Windows XP PC + a Windows 7 laptop
Use Zadig app to properly install USB driver for P2IO

It is required for your PC to run Windows 7 64 Bit. After both USBs are plugged, Win 7 will shortly recognize them as ‘unknown device’. Use Zadig to install a working USB driver for P2IO (choose either libusb-win32 or libusbK). Your last job is to change some data values (just use notepad to open/ edit) inside ‘preference.ini‘ file in ‘SM folder > Save‘, here’s what you need to edit:

  • inputDrivers=Python23IO, SDL
  • Python23IOMode=SDP2IO
  • OpenITGStyleLights=1
  • UsingArcadePads=1
  • UseOldJoystickMapping=0

or just replace yours with mine for convenience.

Test run: all pads + lighting system should work correctly

Now it’s time for a test run! After Stepmania successfully booted into game menu screen, your foot lamps should be turned off automatically (previously they will be lit by default after the cab’s on). Go inside ‘option‘ menu and see if individual arrow panel lit when you step on them, if so then treat yourself with a pint! But if it doesn’t, try to restart the program and see if they work after that, or you might have missed something in ‘preference.ini‘ settings.

By default, the pad’s arrow panels are mapped to navigation function (select option/ song). You may disable it (find inside option menu) to experience an authentic arcade feel (but worry not, you can still use your keyboard – e.g: click ‘esc’ to quit into previous menu). Be advised that Stepmania’s sound volume settings has much lower input value than legit arcade data, you will need to tune them up as needed (find two black knobs inside your cab’s upper coin door to adjust trebble/ bass output – don’t forget to return them back if you plan to switch back to SuperNOVA).

Stepmania’s audio sync calibration

You may also need to calibrate audio sync via option in case there is timing issue (or to compensate for input lag) by adjusting the global offset (this should vary between hardware variants) before real gameplay, the second option is to do it manually.

In general, it is best to use Simply Love theme (ITG style) for its simplicity and more comprehensive customization. When you’re in song selection screen, notice that your cab’s marquee lights should ‘dance’ in accordance to music BPM when highlighting one. You can also read more about Stepmania setup externally.

Review & verdict: Totally worthy!

Unless you are still curious like cats about ‘AC data’, you will be good for the rest of your (cab’s) life: theoretically unlimited songs, customizable gameplay options, and much more. If you wish, it’s definitely possible to switch back to SuperNOVA anytime, just reconnect everything back as they were.

I hope this story could be beneficial for your project, best of luck and God bless!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: