Tuesday, March 13, 2012

An Evening Project: SNES Controller Casing Swap

Recently, I decided that I really needed to get my Linux SNES emulation going.  After seeing some of the sexy pixel shaders and XML filters that are available these days, how could I not?  Okay, maybe I could just continue playing Deus Ex: Human Revolution, or work on my own game, but I needed to get some oldschool back in my life.  Hey, maybe for the sake of research for my game.  Whatever.

I hopped online and ordered an SNES to USB adapter with two controller ports, and two generic SNES controllers - because the two genuine controllers I got with my actual SNES both have broken R buttons.  Don't ask me how that happens; apparently Nintendo used cheap-ass R button chips that break after 21 years.

I got the generic SNES controllers in the mail today.  They work fine, and so does the USB adapter, but they look like this:
It's clear that these controllers were molded from the original SNES controller, which is a plus.  Unfortunately, as you can see, there are a number of problems:
-The color is an ugly, dark grey.
-The label which surrounds the Y, X, B and A buttons is popped up -- this happened almost immediately after opening these things.
-The plastic edges of each molded piece are untrimmed and look shoddy.
-The shoulder buttons sit crooked.


The things you can't see in photos:
-The controllers are unsettlingly light.  Not that the original controllers are heavy, per say, but these knockoffs are clearly made of really cheap plastic.
-The button action is just wrong.  The buttons just feel flaccid and unresponsive; especially R and L.

I grumbled about it for a few minutes.  I don't know what I was expecting, after paying $7.99 total for both controllers, with free shipping.  Then I realized that I have two perfectly good SNES controller casings.  The "Mr. Fix-It" instinct that I've been cultivating over the last few years kicked in.

I opened up one of the generics, and one of my originals, to check out the situation:

As you can see here, there's a bit of a difference.  The generic version has a number of what I presume to be money-saving features:

1. It has a smaller chip board, which relies on a few extra protrusions, added to the plastic mold, to be held in place. The original SNES controller chipboard fills out the casing almost completely.
2.  Its shoulder button chips are held in place by additional plastic protrusions.  The original SNES controller holds its shoulder button chips firmly in place with the chip board.  I guess it makes sense that plastic would cost less than chipboard.
3. The cord is shorter, and wired directly onto the chipboard.  The original SNES controller has a modular cord, which can be unplugged and swapped out.
4. The shoulder buttons are one molded piece, each.  The original SNES controller shoulder buttons were held in place by and pivoted on a very small metal dowel (dowel joint).

Here's a photo of the chip boards, without casing:
Which is which?  Hard to tell.

And, here's a photo of the casings:
Note how extra-shitty the generic one looks when it's right there next to the original.

Next step: throw the generic guts into the genuine casing and see how they fit.

The shoulder button chipboards were completely unfettered in the original casing.  While this might be a quality I respect in a person, or a bird, it would be a problem for my controller.  I needed to improvise.
Perfect.  Other side:

At that point, I had to make a decision.  Try to secure the main chipboard somehow?  I had it lined up with the center peg (between Start and Select), and verified that each button was making correct contact.  I considered the fact that I'd opened these up before to clean the contacts, and the button action-rubber (or whatever the hell you want to call it) is almost always stuck to the chipboard.  I figured, hey - it's intimate enough inside of the controller case that I can safely doubt the lightweight chipboard will move around in there unless I'm throwing my controller across the room regularly.  I don't have kids yet,  and I never developed much of a controller-abusing habit (apart from occasionally showing them a middle finger), so I decide it'll be okay: Let's close this sucker up and try it out.
 And, hey.  Worked like a charm!  I repeated the process with controller #2, said goodbye to the generic casings,
and settled in, with my newfound appreciation for the love Nintendo's manufacturers put into their hardware, to play one of my favorite games; one which requires liberal use of both L and R buttons.  Cheers!

--Sam