Search results

Howdy!

Thanks for stopping by. This website contains a small collection of articles, guides, and other random musings I've deemed worthy enough of putting online. For a more up to date chronicle of what I've been up to, be sure to look me up on Twitter.

So it turns out that the MAME guide I wrote way back at the end of 2011 still works on OS X 10.9. If you’re trying to figure out how to run the latest versions of MAME on your new Macbook Pro, check out my guide here: Part 1Part 2Part 3

So now we know what we're building, the theory behind all the input standards, and the code that's going to power it. All we need to do now is test and build it. Thankfully, we can test our creating without ever lifting a soldering iron.

Now that we've gone over the theory, we know that we need a device capable of reading the current button state of the SNES controller, and can send keyboard and gamepad inputs in variety of standards. My go-to device for this sort of project typically is the Arduino. It's inexpensive, its programs are written in straightforward C/C++, and there's an enormous amount of community support around it. However, the Arduino has historically been very bad at handling USB HID output. Until its recent switch to the ARM platform, USB HID output was nigh impossible. While the Arduino Uno, Leonardo, and Micro can all now handle USB HID output, the library for it is still a bit nascent and cumbersome to use.

Before we can start building the controller, we need to figure out how each platform talks to its hardware. Just because the PC, iPad, and PS3 all use USB doesn't mean that they're immediately going to be able to use the same input methods. Without further adieu, let's begin.