"analog sticks" DAC for arcade?

Started by Segasonicfan, March 23, 2007, 08:18:42 PM

Previous topic - Next topic

Segasonicfan

Okay here's the deal:

 I used a Wii virtual console controller pad and realized they are AMAZING and the perfect pad to use with superguns and or neo geo systems.  I can make all the buttons work without any problem because they are simply grounded but is there anyway to make the analog sticks output analog data?  Basically I want to make something like the PS2-> Neo Geo converters out there.  I'm very motivated to do this project so I would love any info on how to do this (assuming it would require some sort of DAC circuit)...I apologize in advance for my ignorance when it comes to this sort of device  :(

-Segasonicfan
MY WEBSITE: https://segasonicfan.wixsite.com/retro
I design PCBs for retro game systems :)

viletim

You'll have to elaborate a bit...From what I understande you have pulled apart your Wii controller and want to connect it, hack 'n' slash style, to a Neo Geo. Are the analog controls just pots? And I thought Neo Geo controls were all digital... Does that mean you want make the thumsticks work like digital controls?

Segasonicfan

Thanks for the reply viletim,
 Yeah the thumbsticks are just pots but from my understanding the chip inside the controller reads the different resistance values and converts them to a digital signal which is sent to the Wii.

Anyway, Neo Geo controllers are purely analog i.e. pin 15 is up pin 11 is start pin 1 is ground, etc...  So I'm looking for some way to convert the analog thumb stick data to a pure analog up, down, left, right signals.  Also, the chip in the Wii controller is entirely unknown which doesn't help matters :(

I found this page on the chip:
http://wiire.org/Wii/nunchuk

the U2 chip is not in the pad controller though, only the FNURVL chip is.

So is this just a completely impossibly crazy mod idea or do you think it might be possible?

-Segasonicfan
MY WEBSITE: https://segasonicfan.wixsite.com/retro
I design PCBs for retro game systems :)

kendrick

#3
SSF, you've inverted the terminology enough times that I think it's worth making sure we know what you mean. A digital signal is binary, on or off. Most action buttons and eight-direction joypads are digital only. An analog signal is transmitted as a function of variable voltage and/or resistance, and is used in old-style PC joysticks and in the dual-thumbstick controls of the PS2 controller.

So what you want is the ability to take the analog stick on a Wii classic controller, and convert it to digital signals suitable for use in a Supergun, right? That will require some kind of ADC control, if that's what you mean. If instead, you want to take a digital pad and convert it for use with an analog decoder, then you might want to search on the Vectrex custom controllers that people have built, which use stand-alone resistors to feed a false analog signal in response to digital input.

-KKC

Segasonicfan

KKC,
 Thanks for the clarification.  yeah, an ADC is what I need.  Sorry but controller data really isn't my area of expertise :/

So any ideas on how I can go about this??

-Segasonicfan
MY WEBSITE: https://segasonicfan.wixsite.com/retro
I design PCBs for retro game systems :)

kendrick

I'm sure you understand the theory well enough. If you treat the X and Y axes of the analog stick as single potentiometers, then what you do is define three 'zones' or areas of variable voltage and/or resistance. Your zone right in the middle obviously results in no contact. Past a certain point in either direction, you close the digital circuit for up/down (or left/right) and keep it closed until your resistance comes back into the center zone. How large your 'center' zone is relative to the other two zones will define how sensitive your ADC circuit is.

Unfortunately, this probably means programming a decoder for your analog stick. Also, this means that any variations in your potentiometer quality may make for inconsistent decoding unless you include a routine that calibrates the analog stick upon power up, the way most game console decoders do. Programming of this variety is a little bit outside of my own expertise, and a ways outside of the scope of the GameX topics.

There is hope, though. I don't know what kind of analog stick the Wii classic controller has, but if you're lucky you're looking at four hall effect sensors (as opposed to two mechanical pots like in an Xbox controller, or an optical unit like in the N64 pads.) With hall effect sensors, what you can do instead is a flat ADC conversion using a comparator. Assuming the same polarity on all four hall effect sensors, then all you need to do is add an additional circuit that closes the circuit when voltage is above X amount, and leaves it open below X amount. There's some mah you're probably not interested in, but this type of simple comparator is probably what you're hunting for. Have a look at this link:

http://www.play-hookey.com/analog/comparators.html

Obviously, the method I'm describing involves hacking up the controller and making it unsuitable for use with the normal Wii input. If you're okay with that, try it out. Even if you are, I'd try this on a spare Dreamcast controller first before ruining the Wii pad. Of course, that method is totally useless if the Wii analog stick doesn't use hall effect sensors.

-KKC

viletim

SSF,
Kendrick is on the right track here. You want to compare the wiper voltage of the pots (or hall effect sensors) to two fixed refrence voltages. I've uploaded a diagram to show you what I mean. I use an arbitrary Vcc of 10v just to make things clear.

From the picture you linked to it looks as if one end of the pot is connected to Vcc (probably +3.3v but you'll have to check), the other end is connected to ground and the wiper is connected to some kind of microcontroller. If this is so then it should be possible to connect some compartors to the wiper voltage without disturbing the micro.

Segasonicfan

Hey Viletim,
 Thanks for the drawing, it's a little hard to read but I think I get the idea.  You know a lot more than me though so I'd need something with a part number and pins to make any real sense.  The pots are connected to VCC and Ground on the ends so you are definitely right about that.
 
Thanks for your help too Kendrick.  Hopefully with out powers combined we can make this work! :)

-Segasonicfan
MY WEBSITE: https://segasonicfan.wixsite.com/retro
I design PCBs for retro game systems :)