Build Your Own Arcade Controls Forum
Main => Main Forum => Topic started by: superbigjay on April 05, 2007, 10:31:50 pm
-
Hello,
I'm currently planning my CP and have a question.
Is there a way to connect a happ360 joystick on the same keyboard encoder pins used for a regular 4-way joystick.
If you have a regular 8-way joystick and a regular 4-way joystick on a CP, you can easily connect both joystick
to the same 4 keyboard encoder pins by simply the 2 "RIGHT" switches of the 2 joystick in parallel (same thing for the remaining 3 directions):
- when both joystick are idle, the RIGHT circuit is OPEN.
- when you go RIGHT on either joystick, the circuit is closed.
The thing with the happ 360, is that instead of switches that close/open a circuit, you have some electronic used
to drive 0V or 5V. Probably the happ360 won't like it's circuit to be shorted by a regular switches...
So I guess the answer is NO, but just in case...
Jay
-
Answer is YES.
-
Sorry for the delay, I've kind of forgotten this post. Now that I've received the P360, I've been asking myself the same question and I've remembered that I've stated a post with this question...
So you think I can simply connect the left pin on the happ P360 with the left microswitch of the regular 4/8 way joystick?
My concern was that the happ360 doesn't use mechanical switch. So instead of having an open/close circuit, it's driving 0v when the optical sensor is triggered and 5v when idle.
If the happ360 uses some kind of tri-state buffers for its 4 directional pins 0v for active and hi-Z (open) for inactive, it should work without any problem :
- j1 idle + p360 idle = open + hiZ = open
- j1 idle + p360 active = open + 0v = 0v
- j1 active + p360 idle = 0v + hiZ = 0v
- j1 active + p360 active = 0v + 0v = 0v
where hiZ = High Impedance
However, if it's using regular drivers for 0v and 5 v, we would have this:
- j1 idle + p360 idle = open + 5V = 5V
- j1 idle + p360 active = open + 0v = 0v
- j1 active + p360 idle = 0v + 5V = Short :dizzy: : trying to drive 0v + 5V on the same pin!!!
- j1 active + p360 active = 0v + 0v = 0v
So Destructor, you still think that it should be fine??
I prefer to ask twice than be sorry ;D
-
Connect UP to UP, LEFT to LEFT, RIGHT to RIGHT, DOWN to DOWN, GND to GND. And remember about add 5V wire (from I-PAC for example). No difference if you connect to microswitches from other joystick or directly to keyboard encoder.
-
So the following connections should be fine then right?
thanks
Jay
-
Will it work if you just wire them together? Yeah.
Is it a good idea? Not necessarily. Eventually, you'll burn up the high-side driver on the P360. This isn't a big deal really, since the only application you'll ever hook it up to has a strong pull-up, but it's not exactly good, either. Occasionally, the low-sides go out too, and then you'll have a non-functional stick. Also, somewhat excessive currents will be drawn whenever the regular stick has a switch closed, which could overload some small supplies (like that from an unpowered USB hub), depending on how strong the high-side drivers of the P360 are.
I usually just chuck a low-Vf diode in the line with the push-pull output so that it can only pull low, but not drive high, the input. You can also use a simple resistor to limit the current, but proper choice depends on the pull-up used on the game board. You can also use an open-collector/open-drain buffer, or an inverter and some transistors for an even more "proper" solution.
-
Is it a good idea? Not necessarily. Eventually, you'll burn up the high-side driver on the P360
...
I usually just chuck a low-Vf diode in the line with the push-pull output so that it can only pull low.
Thanks, burning the p360 drivers was my concern.
So if I go the diode route, I could use 4 diode per P360 like this:
-
That usually works fine. 1N4148 type are OK, but low Vf shottky types work better for CMOS inputs as uber-low reverse leakage isn't a major concern. Most uC inputs (like you'd find on PICs, most 8051s, AVRs, and other uCs used on keyboard encoders) have TTL thresholds, so the higher on voltage of a 4148 (especially at the mA level currents flowing) is acceptable. I wouldn't expect any problems with that setup, and you won't have to worry about burning up the high-sides or excessive current consumption.
-
thanks MonMotha for the quick replies...
Do you have a part number or spec for a low vf shottky diode that I could find at the electronic store on online?
thanks
-
It's not likely to matter (give it a shot with the 1N4148s - if it doesn't work, I'll be surprised), but I'm a fan of the BAT54H. It's not available in a leaded package, though, only surface mount. I can't think of any off-hand that are available in the more conventional leaded packages.
-
All right MonMotha,
I'll use that schematic when will come the time to wire my CP for the uroMAMEstyx.
Thanks for the info
Jay
-
http://forum.arcadecontrols.com/index.php?board=10;action=display;threadid=3811
I don;t know if this connect P360 with LS30, but if yes then I don't see any diodes.
-
Like I said, it'll almost certainly work without them, but it's not exactly a good idea. If you decide to save yourself the 10 cents in diodes and not install them, that's your choice, but do not complain when (and this may never happen, but then again it also may) things break.
When the P360 is at "idle" (stick in the middle), it has all 4 lines driven "high". Effectively, this means that it either has a BJT or FET (probably a FET) driven into the non-linear region connecting the 5V rail to the signal line in question. If you then close a microswitch to ground, you are effectively connecting the 5V rail to ground through a FET. Depending on the "on" resistance of the FET, various things will happen ranging from things getting toasty, to the FET getting so hot it fails permanently, overcurrent protection kicking in, etc.
Now, all that assumes that the P360 has push-pull outputs. From what others have told me, this is in fact the case. If the P360 has open-drain/open-collector outputs, you don't have to worry about any of this since there is no high-side driver, only low. That is, it only pulls the line low (like a microswitch contacting ground). Again, from what I've been told, this is not how the P360s are set up.
In a nutshell, it's likely to work fine, at least for a while, without any special considerations, especially if you don't use the microswitch based stick much. However, due to various reasons, things could go wrong either over time or immediately. 10 cents worth of diodes and 1-10 minutes worth of your time (depending on how good you are with a soldering iron, crimper, whatever you're using) will prevent those problems. You pick the route.
-
With today's encoder options, do you really need to double up the inputs?
-
When the P360 is at "idle" (stick in the middle), it has all 4 lines driven "high".
I agree with you MonMotha. Even if it's a "low power" 5V (like a pull up or HiZ), trying to ground it by connecting it directly to a microswitch, it may eventually burn the P360's driver.
Since the diodes are widely available and cheap, I'll add them to the P360 outputs.
Also, I have a LEDWIZ in my project, so adding 4 diodes will not be a big overhead on the soldering time (1 resistor per LED)...
With today's encoder options, do you really need to double up the inputs?
Havok,
for my project, I have a 2 player CP.
4: P1 joystick
6: P1 action buttons
1: P1 start
1: P1 coin
4: P2 joystick
6: P2 action buttons
1: P2 start
1: P2 coin
4: pinball
4: admin
-----------------------------
for a total of 32 direct connections
I see 2 potential problems of using separate entries on the encode. They're not a show stopper but...
1. no more direct entry
I'm using a Keywiz (32 direct + 24 shifted)
If I want to use separate entries for the dedicated 4-way,
I would have to move all admin function to shift keys.
This is not so bad, except maybe for the pause button?
(Or, I can use the diode fix or groovy adaptor to activate the shifted function with a single button)
2. need to configure mame for 4-way games??
I guess there's a way to configure the control for each game in mame.
This again, is not so bad. You just have to configure the 4-way games
to use the second set of entries for P1 joystick.
But it's probably longer than just add the diode...
Anyways, thanks Havok and Monmotha for the feedback, you've been really helpful :cheers:
Jay