Gp2x With A D-pad.


Oh, I would also like to look into manufacturing a replacement for the QD pad itself -- it's not a very complicated piece of equipment. I'll start researching that. If anybody knows where to get the carbon stuff that makes the contact, please let me know.

Edit: Oh wait, your solution uses clicky switches, right? So the carbon pad is unimportant.
 
Hey we "first edition" guys gets the kits first right? I think we need it the most :p

I think my GP2x is going for a major overhal to ED, the LCD needs fixing too. Maybe I can get a BoB dpad bundle ;)
 
I can do it too, as I'm familiar with microcontroller programming

all I need to know is how much space do I you have to implement this circuitry, does a DIP14 microcontroller fits?

the main problem in my point of view is to handle SMD devices, which probably would have to be the only option avaiable to keep it portable
 
Lint posted on Aug 28 2006 at 10:31 AM said:
I can do it too, as I'm familiar with microcontroller programming

all I need to know is how much space do I you have to implement this circuitry, does a DIP14 microcontroller fits?

the main problem in my point of view is to handle SMD devices, which probably would have to be the only option avaiable to keep it portable
I am pretty sure that the part Radek was using is a 16-pin DIP. I don't see how a 14-pin could have enough I/O pins.

The thing is that DaveC already has a board design for Radek's chip, so the pinout at least has to be exactly the same, unless you're going to design your own Dpad mod (which would be cool). So I was figuring I'd just use the same chip as Radek so the project can move forward.

If you want to do it instead, that's fine with me, but let me know because otherwise as soon as I get confirmation that I have the right chip I'm going to order a bunch of them and a PIC programmer.
 
Last edited by a moderator:
Dzz posted on Aug 28 2006 at 03:11 PM said:
Oh, I would also like to look into manufacturing a replacement for the QD pad itself -- it's not a very complicated piece of equipment. I'll start researching that. If anybody knows where to get the carbon stuff that makes the contact, please let me know.

Edit: Oh wait, your solution uses clicky switches, right? So the carbon pad is unimportant.


Yeah, I didn't want to steal Radek's chip kit though. If he still plans to sell them I wouldn't persue it. If he doesn't though then yeah if you made the same thing it would be great. I wish he would let us know his plans. It is the PIC 16F627A with 18 pins from what I remember from his posts I can read the # off of my chip to make sure.

The way my module works is that it has long pins that go through the GP2X board and protrude out of the back. With these longer pins Radek's board can be popped on like he intended it. If you don't want to use the converter board just bridge some traces on my module and cut the pins down.

I do use what I like to refer to as "tactile" switches. "Clicky" is kind of like the switches used on the old DS and I really didn't like those pads to be honest. The switches do have a slight silent click but the action is better than the DS switches.

As far as reproducing the QD pads you do still need the membranes still for the spring back force. Using this gives a nice feel that wouldn't be good with just the switches alone. If someone could contact the actual company that produces the pads (probably in Asia) and order some we could do things like change the color. The ones with the white cross and red dots seem to work best. I have tried those "crystal pads" and they just didn't work well, they were too stiff as the rubber was thicker and the action was poor. So it is kind of critical, a slight thing can make a big difference.





Julius posted on Aug 28 2006 at 03:55 PM said:
Hey we "first edition" guys gets the kits first right? I think we need it the most :p

I think my GP2x is going for a major overhal to ED, the LCD needs fixing too. Maybe I can get a BoB dpad bundle ;)


Yes I have boards that will work with both models.
 
Last edited by a moderator:
DaveC posted on Aug 28 2006 at 11:37 AM said:
The way my module works is that it has long pins that go through the GP2X board and protrude out of the back. With these longer pins Radek's board can be popped on like he intended it. If you don't want to use the converter board just bridge some traces on my module and cut the pins down.
Hmm, now I'm confused. How can your thing work without Radek's chip? I assumed that your board had a socket for Radek's chip but maybe I'm wrong.

What exactly would you need to get producing your kit in quantity?

Edit: Ok, going back to look at your thread, your thing is in addition to Radek's board. I don't understand how it can work without it, but now I understand.

In that case, there's no reason for me to use the same chip that Radek did, since we either need to make a new board or extend your existing board. I would prefer to figure out a way to get all the circuitry on your board, if that is possible. It would also be okay to have the processor board mount on the other side like Radek's. I will examine the board files you sent me and get back to you with alternatives.
 
Last edited by a moderator:
I don't think Radek is trying to keep any secrets; he has some issues in real life to deal with at the moment that are keeping him from GP32X, so I wouldn't read too much into it.

As for having a socket for the chip, there'd of course need to be distinct designs or a 'switch' (physical or electronic) to alter the wiring scheme if it's present.. the chip checks the status of 2 of its inputs, e.g. the leads to the contacts for Down and Right, and if the correct logic voltage level is present on both DOWN-RIGHT is generated and sent down a line to the relevant pin on the joystick. But if you add this to a d-pad layout that didn't already have it, you'll get Down, Right and Down-Right signals which might confuse some applications with duplicate inputs ... I could see this causing strange behavior like a character that is supposed to move 2px down and right, but instead it moves 4!
 
Epicenter posted on Aug 28 2006 at 03:09 PM said:
I don't think Radek is trying to keep any secrets; he has some issues in real life to deal with at the moment that are keeping him from GP32X, so I wouldn't read too much into it.
No, I'm sure Radek is not keeping secrets and I hope he is well or gets well if he isn't and that any and all aspects of his life go well for him.

The only reason I'm pushing on this is that DaveC seems stalled because of an unfortunate circumstance and I'm trying to figure out how to fill in to get the initiative moving. If I know Radek was coming back and shipping boards in the next week or two I'd back off (there really isn't any use in duplicating this work if it isn't needed). If people think we should just wait for Radek that's fine with me.
 
Last edited by a moderator:
I don't see omitting the IC as being a big problem-- to my understanding there are nearly no programs that use distinct diagnol signals and instead, everything opts to rely on multiple ordinals combined in software. The only app I knew of that didn't is Gngeo2x and I think it was just updated to fix this. It'd also increase likelihood of programmers to rely on the 4-input method for their software and make things easier on everyone with a d-pad using just those 4 inputs (like me).

At any rate I won't be using Radek's IC since I seem to be getting some really faulty behavior with it; probably my fault but I just don't have the time to worry about mounting it and troubleshooting it so I am going with the 4-input approach instead. Maybe I can donate that PCB (with the IC) to one of you if it helps further your project. I'd like to see d-pads become a standard upgrade to the '2x units sold; it'll ensure software I write is as playable as it'll be on my machine..
 
One thing I'm not quite sure how to solve: With the Dpad, when you try to make a diagonal, it registers when two buttons are pushed. One of those will be pushed before the other one though (by maybe .01 - .05 seconds normally). The simplest approach would result in, for example, LEFT registering for that amount of time, then switching to UPLEFT. If software reads the pad during the LEFT time, it will register as LEFT, which could move a cursor horizontally instead of diagonally. Maybe that isn't a problem, I'm not sure.

An alternative is to filter the signal essentially by waiting some period of time before registering a direction change. Say that the buttons must be stable for .05 seconds before changing the output. That would reduce the cases of the false LEFT signal before UPLEFT but at a cost of making the controls "mushy" because of the latency -- a cure that might be worse than the disease.

Any thoughts about that?
 
I've found for most games, the direction you're holding the longest has more impact than which one you hit for just an instant. At any rate that level of imprecision pales greatly in comparison to what we face on the default stick.
 
Dzz posted on Aug 28 2006 at 04:42 PM said:
One thing I'm not quite sure how to solve: With the Dpad, when you try to make a diagonal, it registers when two buttons are pushed. One of those will be pushed before the other one though (by maybe .01 - .05 seconds normally). The simplest approach would result in, for example, LEFT registering for that amount of time, then switching to UPLEFT. If software reads the pad during the LEFT time, it will register as LEFT, which could move a cursor horizontally instead of diagonally. Maybe that isn't a problem, I'm not sure.

An alternative is to filter the signal essentially by waiting some period of time before registering a direction change. Say that the buttons must be stable for .05 seconds before changing the output. That would reduce the cases of the false LEFT signal before UPLEFT but at a cost of making the controls "mushy" because of the latency -- a cure that might be worse than the disease.

Any thoughts about that?

If I were you, I would just try it both ways and see which way worked better.
 
Last edited by a moderator:
Epicenter posted on Aug 28 2006 at 09:24 PM said:
At any rate I won't be using Radek's IC since I seem to be getting some really faulty behavior with it; probably my fault but I just don't have the time to worry about mounting it and troubleshooting it so I am going with the 4-input approach instead. Maybe I can donate that PCB (with the IC) to one of you if it helps further your project. I'd like to see d-pads become a standard upgrade to the '2x units sold; it'll ensure software I write is as playable as it'll be on my machine..

As for having a socket for the chip, there'd of course need to be distinct designs or a 'switch' (physical or electronic) to alter the wiring scheme if it's present.. the chip checks the status of 2 of its inputs, e.g. the leads to the contacts for Down and Right, and if the correct logic voltage level is present on both DOWN-RIGHT is generated and sent down a line to the relevant pin on the joystick. But if you add this to a d-pad layout that didn't already have it, you'll get Down, Right and Down-Right signals which might confuse some applications with duplicate inputs ... I could see this causing strange behavior like a character that is supposed to move 2px down and right, but instead it moves 4!

I don't think Radek was keeping any secrets. It is just that he was nice enough to send me a kit and if he intends to sell them for a little extra income I don't want to step on his toes. I just wish I knew what his plans were. If he will sell them I would back off. If he has decided it is too much trouble and won't be persuing it then I would say let's go for it. You could send Radek's chip to DZZ, maybe he could suck the code out and dupe it for other chips.

What kind of dodgy behavior are you getting? I had some at first and then after alot of head scratching and soldering I found a switch was faulty (I accidentally got liquid flux in it).

As far as my module working both ways no it won't cause any double presses. The way it works is that you have to decide which way you are going to go when you install.

If you notice there are a few boards stacked in my module. It has traces that run from the pins soldered to the GP2X and to the switches directly. These traces are broken by a small gap however and normally make no connection. If you are going to use Radek's board then you simply pop his daughter board on the opposite side and run wires to pads on my module. In this case the pins on my module are doing nothing but holding the module in place and giving a spot for attachment of the logic board. If you are not going to use the logic board then you solder bridge a few traces in designated areas. Now the pins from the GP2X ARE connecting to the switches as you closed the circuit with the bridges.

Dzz posted on Aug 28 2006 at 09:42 PM said:
One thing I'm not quite sure how to solve: With the Dpad, when you try to make a diagonal, it registers when two buttons are pushed. One of those will be pushed before the other one though (by maybe .01 - .05 seconds normally). The simplest approach would result in, for example, LEFT registering for that amount of time, then switching to UPLEFT. If software reads the pad during the LEFT time, it will register as LEFT, which could move a cursor horizontally instead of diagonally. Maybe that isn't a problem, I'm not sure.

Any thoughts about that?


The way it works from my experience playing with it is that when you press left it goes left until it notices 2 ordinals. As soon as it sees two ordinals it goes diagonal. So if you press left .05 sec before upleft it will go left until it sees up was pressed too and as soon as both switches are presses it changes to upleft. It basically works as it should, and as it would with any real d-pad.. It really does work well and the pad is pretty good. I installed it on a beater M1 now I wish I had installed it on the better unit. I will just wait for the more final boards to come.
 
Last edited by a moderator:
Dave,

Epicenter seems to be saying that this logic board is basically unnecessary -- that virtually all software works flawlessly without it. Do you agree? If so, there's no point in increasing the complexity and cost of the kit.
 
Using a flat circular disk instead of a "+" shaped D-pad for the top of the D-pad works far better for registering all directions - diagonals are far easier to press (effortless and accurate). Glue 8 flat beads or similar so your finger can register the correct direction to press. If you mass produce, it is also easier to produce such a mould!

This is effective - I use this method. It works. ;)

There is no point in Radek's circuit board - if GnGeo now works with standard 4 way commands for diagonals, then over 99.5% of everything on the GP2x does not need Radek's board - it is redundant therefore.

Dzz posted on Aug 29 2006 at 01:12 AM said:
Dave,

Epicenter seems to be saying that this logic board is basically unnecessary -- that virtually all software works flawlessly without it. Do you agree? If so, there's no point in increasing the complexity and cost of the kit.
I have been saying this for literally months. At last now other users are echoing what I have been saying for ages now. My D-pad proves virtually everything works perfectly without Radek's circuit - ditch it, waste of time.
 
Last edited by a moderator:
It's probably not so much the stick and more a software issue-- the frame the input is captured on one frame or another, it's not polling it as fast as the switches are triggering.

As for the issues I had with Radek's microcontroller, it was just one in particular. It appeared to be wired up exactly as intended, but it would just get extremely hot and jam with no input signals, or the UP signal jammed. Checking the configuration for unwanted shorts, I didn't find any. Strange, eh? .. At any rate I'm unsure if the microcontroller still works. I smelled an unpleasant odor when it first heated up-- its outputting of one signal isn't a guarantee the chip's functional anymore. Wiring up the pad itself to the relevant ordinal lines on the stick works flawlessly, though, and I'm satisfied with that.
 
bacteria posted on Aug 28 2006 at 06:18 PM said:
I have been saying this for literally months. At last now other users are echoing what I have been saying for ages now. My D-pad proves virtually everything works perfectly without Radek's circuit - ditch it, waste of time.
Sorry, I only recently started paying attention. Thanks for the info!

It seems my work here is done :)
 
Last edited by a moderator:
While I'm not quite as vocal about it as Bacteria ( :D ) I agree, the microcontroller Radek includes is needlessly-added complexity and cost; just working with the 4 ordinals and logically combining them in software is the most cost/time-effective solution I can see.
 
Back
Top