NES pad to 15 pin gameport

Started by agentmith, August 28, 2004, 10:42:33 AM

Previous topic - Next topic

agentmith

i want to use it on a computer running dos 6.22, so usb isnt an option. im not too optimistic about the whole thing, but you never know.

atom

#1
This is can be very easy or very hard depending on how much you know your stuff.
The good news is, the gameport has just the right connections for 2 nes pads.
The bad news is, the gameport is made for analog joysticks not digital gamepads.

This is a project i havent done myself but am planning on performing for my website. You rip the IC out of the controller and simply wire the buttons to the cable.
Different amounts of resistance (ohms) will give you different directions for your dpad.


  +----------------------------------------------+
  � x = 0 kohm   �  x = 50 kohm  �  x = 100 kohm �
  � y = 0 kohm   �  y = 0 kohm   �  y = 0 kohm   �
  +--------------+---------------+---------------�
  � x = 0 kohm   �  x = 50 kohm  �  x = 100 ohm  �
  � y = 50 kohm  �  y = 50 kohm  �  y = 50 ohm   �
  +--------------+---------------+---------------�
  � x = 0 kohm   �  x = 50 kohm  �  x = 100 kohm �
  � y = 100 kohm �  y = 100 kohm �  y = 100 kohm �
  +----------------------------------------------+


You can find the pinout\cable info in the hardware book. The catch? That center position will be tricky, perhaps the pc will recognize No Connection as center.
forgive my broked english, for I am an AMERICAN

agentmith

whats the url to your website? id like to check periodically and see how you fare, i'll see if i cant try too and let you know if i get anything. i have a rudimentary understanding of electronics and, in theory, should be able to figure it out. i dont exactly have tons of these controllers lying around, so i would like to do a little research/consultation before i go ripping my controllers apart.  

atom

my website is...
atom.highbrow.org
its currently suspended for some reason, were trying to get that sorted out.
it might be because it said the word roms on my navigation. so look for it soon!
forgive my broked english, for I am an AMERICAN

Aidan

QuoteThat center position will be tricky, perhaps the pc will recognize No Connection as center.
Alas, no... There's a bit more to it than that. You will need to throw a few transistors into the mix as well to make it all work right. Take a look at this page on epanorama  for more details.

It's been a long time since I've done anything like this! (Like in the days of the BBC Micro...)
[ Not an authoritive source of information. ]

atom

what would you need a transistor for?
forgive my broked english, for I am an AMERICAN

Aidan

This is what has to happen for the X axis - see if you can figure out how to do it with just resistors.

When you hit left, the joystick hardware has to see a low resistance. When you don't hit any button, the joystick hardware has to see a mid resistance. When you hit right, the joystick hardware has to see a high resistance.

If you have left as a normally open button, and right as a normally closed button, then it's easy - just a few resistors. But, if you have both buttons as normally open (as in a joypad), then you need active components in the circuit to make it happen correctly.  
[ Not an authoritive source of information. ]

atom

#7
You still dont make sense. What do you consider a transistor? What country are you from? I dunno......    do you mean potentiometers?
forgive my broked english, for I am an AMERICAN

NFG

Atom: Aidan's probably correct in this matter.  A PC joystick is normally analogue, so that there's a range of resistance - from zero to 100 ohms, 50 being 'center' - when you move the joystick up and down, or left and right.

You can easily short a resistor to drop the voltage to zero when you move from center (50) to left (0), but you can't easily ADD resistance when you move from 50 to 100 ohms, without using some sort of active components.

atom

#9
Im so confused though. I wasnt dissagreeing i am just trying to figure this out.

Were dealing with 2 different buttons, and a neutral.
x is closed on left button, sends it back to the pc at 0kohm (no resistance)
x is closed on the right button, sends it back to the pc at 100kohm

but on a nes gamepad, there is nothing closed when it is centered, which needs to be 50kohm. So what does the "transistor" do for this picture? I thought a transistor was a switch with multiple leads.
forgive my broked english, for I am an AMERICAN

NFG

A transistor is, essentially, a  switch.  Since there's no switch in the neutral position you just have the transistor take up the slack, so to speak.  A transistor can activate when there's a signal present, or when there isn't, so you just tell it to turn on when neither the left or right side is pressed.  

Presto - instant center switch.  

atom

Thanks, that is JUST what is needed. Now I understand :)
forgive my broked english, for I am an AMERICAN

Aidan

Heheh, hooking things up to analog ports is always so much more tricky than plain digital. I'm glad that Lawrence could give an explaination that makes sense! :)
[ Not an authoritive source of information. ]

Ultimate Dev'r