PSX Analog in N64 Controller

NES, SNES, N64, Gamecube, Wii
kylejw
Newbie
Posts: 6
Joined: Fri Feb 13, 2009 4:23 am

PSX Analog in N64 Controller

Post by kylejw »

I did a search on Google and found an old post here about fixing loose N64 joysticks. Just signed up here, figured some of you may be interested in a project I’ve been working on.
I’m sick of all my N64 controllers grinding away their joysticks so I decided to try and work out a permanent fix. The PSX joystick is the stick of choice because I found a used controller at EB Games for $10 and I’ve always liked the feel of the PSX stick. Xbox’s analog would be easy to adapt to what I’ve done as long as it’s stick isn’t for some reason really massive to the point that it won’t fit in the N64 controller case.

I toyed with a few ideas that I think could all work.

1. Physically attaching the N64 quadrature encoding wheels to the PSX stick. It’s tough to explain, but the two sticks have similar dimensions – so similar that I think this is possible. The PSX even has ‘nubs’ that stick out of the potentiometers that rotate with the stick.

Why didn’t I do this? Well frankly I think it would be very difficult to align everything perfectly, and you may lose some range of motion after all the effort in retrofitting. Not worth the hassle to me.

2. Replacing the current chip. The current chip is pretty big, and PICs today are available that are as good and better than this chip while being significantly smaller, so there would be room to solder in some jumpers. Unfortunately it has something like 84 pins (can’t remember exactly, but it’s a lot). Also, I hate troubleshooting interrupts as I don’t really have much in terms of equipment at my disposal. The other issue with this method is the controller memory card/rumble pack port. I don’t know how the signals coming out of this work and I’d need to redo the code for that myself. No fun.

3. Converting the PSX potentiometer’s voltage levels to mimic the N64’s quadrature encoded signal.

This is what I did. The PIC I used has a bunch of ADC’s so it was easy to read in the voltage, all I had to do was determine when the stick had moved a specific amount, then send a pulse on two lines separated by a quarter wavelength. Google quadrature encoding if you’re curious/confused about this part. In fact, the code I’m using was initially just to see if I could do this, but it ended up working so well that I’ve just kept it. I’m still leaning towards completely redoing it to give me more control over stick sensitivity.

4. Last but definitely not least, I considered intercepting the controller’s output data and patching the ‘stick position’ bits to the position my ADC’s read from the PSX analog.

Why didn’t I do this? To be honest I didn’t think of it until I had already started the method in 3. Otherwise, I probably would have. Maybe better I didn’t though as there is a timing aspect that I’d have to adhere to with this; and my oscilloscope is just the line-in port on my sound card. Not exactly state-of-the-art. It is very inaccurate and only works for a very limited frequency range (the same range that the human ear can hear).

Now onto the good part…
kylejw
Newbie
Posts: 6
Joined: Fri Feb 13, 2009 4:23 am

Re: PSX Analog in N64 Controller

Post by kylejw »

First up, the test rig:
Image

After I got everything figured out, I cracked the controller I wanted to use open
Image

Using some 60 grit sand paper I chewed through the original thumbstick case. Once upon a time I had a Dremel that would have made this part cake, but sadly it's broken.
Image

I ferric chlorided myself a nice little PCB that I didn't end up using, so it was pretty much a big waste of time.
Image

New idea was to retrofit the stick into the N64 module, so the Z-button mounts properly
Image

The new stick components
Image

Cut up the back so I can route wires through it. The white line is whiteout that I put on the ridges of the controller case, then mounted the thumbstick, so I could see where the ridges ended up and place my microcontroller accordingly.
Image

Inside view of the stick case, I broke off some little nubs that held the original stick hardware in place
Image

New thumbstick module taking shape, the glue around the cover is kind of sloppy due to some careless sanding, but not much I could do at this point as I planned to make two n64 controllers from one PSX
Image

PIC attached to the back of the case, Normally I wouldn't use hot glue on electronics like this as I have read some bad things about it possibly conducting electricity a tinnnny amount (can anyone confirm?), but it's all I had :)
Image

Routing the wires needed for programming the chip
Image

Rest of the wired soldered on, and covered with hot glue like an amateur. Unfortunately the only suitable wire I had is 30 AWG solid core Kynar, and I hate this stuff. It ALWAYS breaks on me so I just covered it with glue. Notice I had to move the chip over to the right side so it's by the original plug. Oops.
Image

Another view of the completed circuit
Image

In the above picture, note the two blue wires going across the width of the thumbstick module. They go over my white line, so I need to remove part of the plastic which may cut them when I put the controller back together
Image
Image

Finished product. Notice how sloppy the glue around the PSX border is. Ugh. I promise the other controller won't be as bad.
Image

Programmer doing its thang
Image

And that’s it. I will have a Youtube video for you if it ever finishes uploading. I can't go back to the old joystick now. It really was the weakness of the N64 controller. Once I get the code down it will be perfect, but as of right now it is completely playable. I'm willing to bet most people would be happy with it but I'm not.
arion
Next-Gen
Posts: 1205
Joined: Sat May 06, 2006 7:08 pm
Location: Iceland

Re: PSX Analog in N64 Controller

Post by arion »

WOW thats impressive :)
kylejw
Newbie
Posts: 6
Joined: Fri Feb 13, 2009 4:23 am

Re: PSX Analog in N64 Controller

Post by kylejw »

Video finally uploaded, it's not the greatest though.

Playing one-handed, and I wasn't paying attention and the controller drifted out of view near the end. Also would have made the video longer but my memory card is missing, so I had to make due with my old 256MB card.

http://www.youtube.com/watch?v=QFbFlmr-h2Q
PhilExile
32-bit
Posts: 277
Joined: Tue Mar 04, 2008 9:47 pm

Re: PSX Analog in N64 Controller

Post by PhilExile »

That's awesome! Was there anyway to salvage the actual stick to work with the pots of the PS2 analog thumbstick?

Great work.
Saturn | Dreamcast | Jaguar | 3DO | PSX | PS2 | PS3 | NES | N64 | GameCube | Wii | PSP | GBA | DSi XL | 3DS XL
User avatar
vejita
64-bit
Posts: 362
Joined: Wed Jul 23, 2008 3:11 pm

Re: PSX Analog in N64 Controller

Post by vejita »

Really impressive! I hope "someone" could make use of this someday...
kylejw
Newbie
Posts: 6
Joined: Fri Feb 13, 2009 4:23 am

Re: PSX Analog in N64 Controller

Post by kylejw »

Was there anyway to salvage the actual stick to work with the pots of the PS2 analog thumbstick?


Do you mean use the original stick but attach the PSX pots? I really don't know... The problem with the original stick isn't the quadrature encoder, it's with the actual stick itself so no, I don't think I could do this. If I could have, I could have just kept the quadrature circuit.
Navin_Johnson
16-bit
Posts: 53
Joined: Thu Mar 13, 2008 9:31 am
Location: Lansing, Michigan / Naperville/Chicago, IL

Re: PSX Analog in N64 Controller

Post by Navin_Johnson »

That is awesome! Perhaps some day I'll learn how to do this sort of thing - the only hardware "mods" (if one can call them that) I've done is to troubleshoot and fix broken or non functioning stuff.

Very cool.
Consoles: Wii, Xbox 360, Nintendo DS, Xbox (x3), Gamecube (x3), Playstation 2 (x2), Dreamcast (x2), Nintendo 64 (x2), Playstation 1 (x3), Saturn, SNES (x2), Sega 32X, Sega CD, Genesis (x4), Gameboy Color, NES.
fastbilly1
Site Admin
Posts: 13775
Joined: Tue Apr 17, 2007 7:08 pm

Re: PSX Analog in N64 Controller

Post by fastbilly1 »

This is by far one of the best mods I have ever seen. If you ever start taking commissions, let me sign up. I can find and ship both kinds of controllers fairly readily if need be.
kylejw
Newbie
Posts: 6
Joined: Fri Feb 13, 2009 4:23 am

Re: PSX Analog in N64 Controller

Post by kylejw »

fastbilly1 wrote:This is by far one of the best mods I have ever seen. If you ever start taking commissions, let me sign up. I can find and ship both kinds of controllers fairly readily if need be.


I would like to make a few more of these so I can come up with a way to mount everything much cleaner. I'd also like to try a Gamecube analog stick.

If you have any way of sourcing some cheap controllers, hopefully with broken sticks (I don't really want to hack up a good controller, as they're getting rarer) then I may be interested. Just a few to test since I'm out of donor controllers and EB only has some Xbox and third party GC controllers left.
Post Reply