Getting Windows applications to run on MacOS
My roommates and I have been playing Dance Dance Revolution (DDR) on a Windows computer for a while now. The setup is not too complicated: we run a DDR simulator called StepMania, which receives input from USB dance pad controllers connected to the computer.
Now we just want this whole thing to work with an M1 chip Macbook instead of a Windows computer. The problem is two-fold:
I first tried running all of the Windows software through a compatibility layer. A compatibility layer basically converts all of the Windows system calls into POSIX system calls on the fly.
An easy way to do this is to use Porting Kit, which will do all of the heavy lifting for you.
StepMania-5.0.12-win32.exe
with the following settings:
*Note that the default directory is important because the wrapper will look for the application in that directory. Don't download the app to a different directory on your computer like Z:\Downloads\StepMania 5.0.12.
Beneath the hood, the full stack that Porting Kit uses is as follows:
Software | Purpose |
---|---|
Porting Kit | A user-friendly frontend for creating Wineskin wrappers |
Wineskin | A user-friendly interface for packaging Windows applications and Wine components together |
Wine | The compatibility layer |
StepMania | The Windows application |
The problem with this approach was that the dance pad inputs were not correctly recognized by the program. I thought this might have been a limitation with the compatibility layer. VMs and emulators are quite troublesome to set up, so I decided to try...
Project OutFox is similar to StepMania, but it supports MacOS out of the box. Like the compatibility layer, this approach solves problem (1), leaving us with problem (2).
Problem (2) is either a hardware or software issue. There are a few reasons why I think it is a software problem:
The problem is that the dance pad inputs are not correctly parsed on OutFox. A quick diagram:
I tested this in Options → Input & Calibration → Test Input. According to the OutFox controller guide, the issue seems to be that XInput just... does not work well on Mac.
Some miscellaneous things I tried:
Okay. I tried really hard to find a native solution to the problem. But in the end, I suspect it was a bug in OutFox itself, as per this Reddit thread.
Last resort. Enjoyable.
Enjoyable maps the dance pad inputs to MacOS keyboard inputs. It's a bit of a hack, but it works.
There was a MacOS version of StepMania, but it no longer runs on MacOS 10.15 "Catalina" or higher. ↩︎