The iCade is an 99$ barcade kit that’s designed to be used with an iPad. But shortly after putting mine together, I discovered the list of supported iPad games is painfully limited. So I did as any self-respecting retro-gamer would and jailbroke replaced the iPad with a more versatile computer: the EXOPC Slate running Windows 7.
While I can’t recommend running Windows 7 for daily tablet tasks (something Microsoft is looking to address with Windows 8), it did provide a prime gaming platform after I wove my way around the roadblocks ION set up as weak IP protection.
What roadblocks? The iCade is a bluetooth keyboard rather than a bluetooth joystick. Besides that, it’s a funky keyboard where pressing a button down sends one keyboard key & letting the button up sends another keyboard key. This behavior is different than how a normal keyboard works so even games which recognize keyboards can’t interface with the iCade out of the box.
If you’re still with me, I MacGyvered my way through this monstrosity of HID by writing an AutoHotkey script that controls a virtual joystick. Here’s the complete list steps if you care to follow along:
- Download PPJoy & AutoHotkey for Windows
- Install AutoHotkey. Then install & run PPJoy, “Add…” a joystick with a mapping along the lines of 2 axes, 8 buttons, nextnextnext
- Download iCadeAHK.zip which includes my iCade.ahk script and the PPJoy.dll by NinjaBob which it relies on. Copy the contents of that zip to where ever you installed AutoHotkey (so PPJoy.dll is next to AutoHotkey.exe and iCade.ahk is in the libs directory).
- Run iCade.ahk =) While it’s running, some keyboard keys are swallowed and don’t make it to the operating system. This is by design so you don’t have to configure which keyboard the iCade is. This behavior is only present when the script is running so you can exit AutoHotkey when you want to return to normal.
- Open up the PPJoy you created in the control panel (start typing Parallel Port Joysticks in the start menu) to confirm it’s responding to the iCade. If it’s not, be sure you paired the iCade to the computer & that the iCade.ahk is running.
- Install your game of choice and configure it with your new virtual joystick! My favorite right now is snes9x since I have all my old carts around but SNES looks crap on a projector.
I don’t feel the least bit guilty divulging these details as the manufacturers made the SDK officially public shortly after the iCade’s launch. I also believe that re-appropriation keeps much hardware out of landfills, something I also pursue by producing electronic music as starPause using retro video game consoles, vintage computers and consumer electronics.
Finally, before I put on my flame suit: I know this isn’t the ultimate barcade. The joystick is only 4 way among other nuisances. However, it is an inexpensive option (especially since I had everything but the iCade already around) and it’s still plenty of fun. Thanks for reading and keep the pixels popping!
Jordan Gray is a Rich Media Architect at Organic


That’s really cool! But you know… if you integrate the Docking station in to the casing you won’t need the power supply sticking out the side!
http://bit.ly/exopcDock
The delay in controls is unplayable in mameui64 with donkey kong
…. however… AMAZING WORK!!!
This delay is the same for iPad too so i’m guess it is not the code’s fault
Great work! However, the PPJoy download appears to be infected with viruses according to VirusTotal.com. Anyone know place to get a clean install?