Gp2x With A D-pad.


Epicenter posted on Aug 29 2006 at 01:09 AM said:
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.


In a perfect world that maybe true. The problem is that you have to convince every dev of every app that you want to use to recognize the 4 directions + combos. What if some awesome app/emu etc comes around and it doesn't work with that method. You are fucked. Yeah you can ask the author to support it but sometimes things just pop up and the author dissappears never to work on it again. In these cases you will have to give up the app or play it with no diagonals which would suck. To me that just doesn't seem worth it. You have a whole world of coders out there that will come and go during the life of the system. Getting everyone everywhere in the world to support the 4 switch solution is a never ending and monumental task. Remember this isn't the only place where development goes on. There is a huge Spanish scene and a big German one as well.

I would bet not every app/game etc now will work. There are alot of ports out there have you guys tested them all?
 
Last edited by a moderator:
DaveC posted on Aug 29 2006 at 02:57 AM said:
In a perfect world that maybe true. The problem is that you have to convince every dev of every app that you want to use to recognize the 4 directions + combos. What if some awesome app/emu etc comes around and it doesn't work with that method. You are fucked. Yeah you can ask the author to support it but sometimes things just pop up and the author dissappears never to work on it again. In these cases you will have to give up the app or play it with no diagonals which would suck. To me that just doesn't seem worth it. You have a whole world of coders out there that will come and go during the life of the system. Getting everyone everywhere in the world to support the 4 switch solution is a never ending and monumental task. Remember this isn't the only place where development goes on. There is a huge Spanish scene and a big German one as well.

I would bet not every app/game etc now will work. There are alot of ports out there have you guys tested them all?
What if, what if.... :wacko:

It is not a case of "perfect world" this is reality! If GnGeo works now with 4-way properly, then only one game, Whack the Rat (which I couldn't run anyway), won't work, as it truly seems to need 9 way (inc centre push) - everything I have run on the GP2x works with a 4-way D-pad with perfect diagonals, so there is no issue! :blink:

Just ensure full compliance by installing a mini-button somewhere on the GP2x to act as centre push button - some games need it (eg Wolfenstein 3D, and others).
 
Last edited by a moderator:
I'm not saying it's a perfect solution and its faults are self-evident. However I'm yet to run into any games that don't cooperate. If you can cheaply implement hardware diagnols, sure. But if it's going to be a massive hurdle to design, it would be inconsequential in most cases to skip it.

In fact, a software patch could even probably be used at the kernel level to combine inputs before any program even sees them.

Bacteria, Re: Center push .. I'd just implement it in software .. where UP+DOWN+LEFT+RIGHT are all triggered .. send a center-push signal as well. That's what you'd be doing anyway, pressing the whole thing. You could make it more sensitive by checking for opposing directions as well, e.g. if LEFT and RIGHT are pressed at once, or UP and DOWN.
 
Epicenter posted on Aug 29 2006 at 03:06 AM said:
In fact, a software patch could even probably be used at the kernel level to combine inputs before any program even sees them.


If such a patch could be done that would be great.

The whole 2 ordinal= diagonal thing doesn't even have to replace the existing stick scheme. If you are using the stock stick you can't press 2 ordinals anyway. If you are using a d-pad you can't hit the extra diagonal switch. This means both schemes can co-exist at the same time as they are mutually exclusive.

This scheme should be put into programming documentation so that any coder new or old can follow this.

Have you tried GnGeo and does it give diagonals without the chip? If not that would be a deal breaker for me.

The thing is that either way it won't effect my module. If I didn't support the chip it would not simplify anything in the design anyway so the option to do either really doesn't effect much.
 
Last edited by a moderator:
Epicenter said:
In fact, a software patch could even probably be used at the kernel level to combine inputs before any program even sees them.
This would make good sense.

[/quote]
Bacteria, Re: Center push .. I'd just implement it in software .. where UP+DOWN+LEFT+RIGHT are all triggered .. send a center-push signal as well. That's what you'd be doing anyway, pressing the whole thing. You could make it more sensitive by checking for opposing directions as well, e.g. if LEFT and RIGHT are pressed at once, or UP and DOWN.
[/quote]
Yes, if your D-pad is a conventional "+" design and flat, pressing all 4 directions at the same time for a centre push is fine, but doesn't work with a Nintendo D-pad as there is a centre pivot in the D-pad top to stop this from happening; remove it and the Nintendo D-pad does not work properly (so grapf's Gamecube D-pad design for example will not work to this). My design also doesn't allow all 4 directions to be pressed at the same time, for the same reasons as the Nintendo ones don't. In these scenarios, a separate button needs to be mounted in the GP2x for a centre push - easy enough - 2 wires to connect at the back of the joystick connectors; there is lots of empty space in the GP2x to mount an external button - not difficult... - other option is via software, like MAME now - select+R+L = centre push.
 
Last edited by a moderator:
You can press down all 4 ordinals of the NGage QD pad easily; I've tested that and UP/DOWN/LEFT/RIGHT all register concurrently in the T-Mode joystick tester correctly. :)
 
Epicenter posted on Aug 29 2006 at 05:09 AM said:
You can press down all 4 ordinals of the NGage QD pad easily; I've tested that and UP/DOWN/LEFT/RIGHT all register concurrently in the T-Mode joystick tester correctly. :)
Sure, but not with Nintendo ones, from Gamecube, N64, GBA, Gameboy - they all seem to have a raised bit which stops all 4 directions being pressed at the same time (this probably isn't howeveer true of the DS or GBA SP models however). It therefore depends on the salvaged D-pad being used, and its make, as to what the situation is. From previous posts, supplies of the QD pad are limited; and anyway, this is only one of many types of D-pads people can use for a mod. The QD can't be considered a "de-facto" D-pad therefore.
 
Last edited by a moderator:
DaveC posted on Aug 29 2006 at 05:36 AM said:
Have you tried GnGeo and does it give diagonals without the chip? If not that would be a deal breaker for me.
It will not work in the current version (0.6.12c), but it should be ok in the next one. For those who want to try and can compile it, the lastest source is available here: http://developer.berlios.de/svn/?group_id=6986
Anyway, I'll post a release soon :)
 
Last edited by a moderator:
pepone posted on Aug 29 2006 at 08:13 AM said:
DaveC posted on Aug 29 2006 at 05:36 AM said:
Have you tried GnGeo and does it give diagonals without the chip? If not that would be a deal breaker for me.
It will not work in the current version (0.6.12c), but it should be ok in the next one. For those who want to try and can compile it, the lastest source is available here: http://developer.berlios.de/svn/?group_id=6986
Anyway, I'll post a release soon :)
Excellent. Will the new version be faster too, I can only overclock to 250Mhz, which means GnGeo is rather slow at the moment?
 
Last edited by a moderator:
bacteria posted on Aug 29 2006 at 08:14 PM said:
pepone posted on Aug 29 2006 at 08:13 AM said:
DaveC posted on Aug 29 2006 at 05:36 AM said:
Have you tried GnGeo and does it give diagonals without the chip? If not that would be a deal breaker for me.
It will not work in the current version (0.6.12c), but it should be ok in the next one. For those who want to try and can compile it, the lastest source is available here: http://developer.berlios.de/svn/?group_id=6986
Anyway, I'll post a release soon :)
Excellent. Will the new version be faster too, I can only overclock to 250Mhz, which means GnGeo is rather slow at the moment?

A lot of games are very playable at 200 for me. Some of the fighting games go a lot slowly.
 
Last edited by a moderator:
bacteria posted on Aug 29 2006 at 10:14 AM said:
Excellent. Will the new version be faster too, I can only overclock to 250Mhz, which means GnGeo is rather slow at the moment?

I don't know what you expect but all of the games that I run (mostly shooters) run great at 200 MHz with sound at 11025 KHz.

Where is your sample rate at? It is a bit framey at 22050 KHz.
 
Last edited by a moderator:
DaveC posted on Aug 29 2006 at 12:25 PM said:
bacteria posted on Aug 29 2006 at 10:14 AM said:
Excellent. Will the new version be faster too, I can only overclock to 250Mhz, which means GnGeo is rather slow at the moment?

I don't know what you expect but all of the games that I run (mostly shooters) run great at 200 MHz with sound at 11025 KHz.

Where is your sample rate at? It is a bit framey at 22050 KHz.

At 250 MHz, you should be able to knock out most games with 22050hz audio samplerate. If you have trouble you can always take down the Z80 by about 40% clockrate, and the 68K by 10-20% clockrate and most games will run exactly the same gameplay-wise but with better framerate on the GP2X. The emulated machine will have a higher propensity for slowdown (bullet-time style variety) but you won't see that terrible choppy slideshow slowdown you get when the GP2X itself is overworked. Although some games never work the emulated 68000 or Z80 hard enough to cause any slowdown at all, and you just get a free performance boost. :)
 
Last edited by a moderator:
Epicenter posted on Aug 29 2006 at 08:31 PM said:
DaveC posted on Aug 29 2006 at 12:25 PM said:
bacteria posted on Aug 29 2006 at 10:14 AM said:
Excellent. Will the new version be faster too, I can only overclock to 250Mhz, which means GnGeo is rather slow at the moment?

I don't know what you expect but all of the games that I run (mostly shooters) run great at 200 MHz with sound at 11025 KHz.

Where is your sample rate at? It is a bit framey at 22050 KHz.

At 250 MHz, you should be able to knock out most games with 22050hz audio samplerate. If you have trouble you can always take down the Z80 by about 40% clockrate, and the 68K by 10-20% clockrate and most games will run exactly the same gameplay-wise but with better framerate on the GP2X. The emulated machine will have a higher propensity for slowdown (bullet-time style variety) but you won't see that terrible choppy slideshow slowdown you get when the GP2X itself is overworked. Although some games never work the emulated 68000 or Z80 hard enough to cause any slowdown at all, and you just get a free performance boost. :)


I just run at 11025 so I can get some battery life. The reduction in sample rate is not too noticeable out of those little crap speakers anyway. No bullet time, no chop, seems like the best tradeoff to me.
 
Last edited by a moderator:
DaveC posted on Aug 29 2006 at 06:25 PM said:
bacteria posted on Aug 29 2006 at 10:14 AM said:
Excellent. Will the new version be faster too, I can only overclock to 250Mhz, which means GnGeo is rather slow at the moment?

I don't know what you expect but all of the games that I run (mostly shooters) run great at 200 MHz with sound at 11025 KHz.

Where is your sample rate at? It is a bit framey at 22050 KHz.
Cheers, DaveC - I had been using 22050 Khz - will try 11025 Khz.


grahf posted on Aug 29 2006 at 07:07 PM said:
Just FYI, you certainly can press down all four directions on the nintendo dpads. You just need to trim the center piece down. I should know :D
Yes, indeed - (if you cut off/trim the centre piece down it will allow contact on all 4 directions, of course) - when I tried this ages ago (and then wished I didn't), I then found it was far too easy to do this, so understood why Nintendo had this centre piece in (I kept pressing two keys at the same time in error). I therefore came to the conclusion that there was a good reason for its presence! :p



Epicenter posted on Aug 29 2006 at 09:31 PM said:
At 250 MHz, you should be able to knock out most games with 22050hz audio samplerate. If you have trouble you can always take down the Z80 by about 40% clockrate, and the 68K by 10-20% clockrate and most games will run exactly the same gameplay-wise but with better framerate on the GP2X. The emulated machine will have a higher propensity for slowdown (bullet-time style variety) but you won't see that terrible choppy slideshow slowdown you get when the GP2X itself is overworked. Although some games never work the emulated 68000 or Z80 hard enough to cause any slowdown at all, and you just get a free performance boost. :)
I haven't experimented with this before. On games like Neo Turf Masters, which uses raster graphics, is it a good idea to change the clockrates you mention? I know I could experient, but you already know the answers so it is easier to ask for your advice!


Epicenter posted on Aug 29 2006 at 01:09 AM said:
While I'm not quite as vocal about it as Bacteria ( :D )
Yeah! ;) :lol: I know, just my way - no harm speaking my mind when I have facts to back up my case - at least I don't flame :rolleyes:


By the way - the new version of GnGeo does indeed support the 2 ordinals=diagonal for d-pad users. I just had a great game playing Blazing Star - diagonals now work.
 
Last edited by a moderator:
Yeah, I just saw that update-- awesome. The stick-push function is no longer needed to quit, too! Excellent.

As for 11050hz .. I can always tell the difference even on the internal speakers. It sounds muted and lacks definition. Very muddy-sounding.

As for that game, not sure-- whether you should adjust 68K/Z80 clock usually depends more on the game's actual processing work and how stressful that is rather than graphical intensity. Most games don't come close to working the Z80 to capacity so you can generally underclock that 40-50%. If you go much further though the music can slow down.
 
Epicenter posted on Aug 30 2006 at 09:58 AM said:
As for that game, not sure-- whether you should adjust 68K/Z80 clock usually depends more on the game's actual processing work and how stressful that is rather than graphical intensity. Most games don't come close to working the Z80 to capacity so you can generally underclock that 40-50%. If you go much further though the music can slow down.

Actually, for compatibility reason, gngeo run the z80 at 6Mhz, but most of the games work ok when it run @4Mhz.
 
Last edited by a moderator:
The biggest difference is definitely 68K clock. The Z80 just plain doesn't do that much but pass around sound data in most cases.. and a 4 MHz Z80 doesn't come close to matching a 12 MHz 68000 in processing workload to actually be emulated. I've found most games work great with the 68000 around 8-10 MHz.
 
Back on the topic of the D-pad, when I get the time, maybe in the next month, I will make myself a new D-pad, even though there is nothing wrong with my existing one. My existing one looks a bit ugly, mostly through wear and tear, but still works great; I just feel like changing it! I spent a while last night playing Tail Tale on my GP2x, got to level 27, but my hand was getting tired by then :) (craving for a new project).

I can make a virtually flat external D-pad, without removing the existing joystick. Someone said a while ago that you can unscrew the joystick stick (rather than cutting it), I can shave the joystick surround to be flat, or cut it out altogether; and there is no reason I can't make a D-pad top (circle works the best) only raised about 2-3mm in total from the GP2x case - as flat, if not flatter than any D-pad other people are using - it would be possible to make the external D-pad actually the same height as the GP2x itself, in principle. As usual, no need to remove the existing joystick, connecting the D-pad directly to the pins on the back of the existing joystick. There is no need to cut an accurate hole in the GP2x, remove the joystick/desolder it, position it perfectly on the motherboard, or even remove the motherboard - the external D-pad doesn't suffer from these problems, and you can have the D-pad mounted in a different position to the existing joystick hole (mine currently is higher, for example). :rolleyes:

I know exactly how to do it. I have the knowledge and know-how :lol:

I know I can do it, I just need some time, which is a bit short at the moment.

When I make it, and test it, I will post pics, and a "how to make it" guide. Then everyone else has a chance to have a D-pad, for almost no cost. using standard household materials - plastic, tin-foil, glue, electrical wires, foam pads, cardboard - no fancy rubber contact pads which you can't stick to anything!! This will be in line, but a large improvement, over my previous topic on this, back in April.

Before I go to the effort of making a "how to make it" guide, I would like some feedback please that people would like to see this topic posted; after all, documenting the guide will take more than twice the time it takes to actually make it - happy to do it, as long as people benefit from the article and MAKE one for themselves (otherwise there is no point me doing the article)! :blink: Would you like to see it when it is ready? I estimate you could make your own D-pad for the GP2x for literally pence/cents from scratch, maybe even for free - everyone could make one!! B)

It now seems that people have (finally) come around to what I have been saying since April - the standard 4-way D-pad works, including diagonals, with virtually EVERYTHING on the GP2x (thanks to GnGeo's update); and there seems to be interest now in fitting a D-pad (no circuit board option, which is redundant BTW) into the GP2x - my method is low-hassle (I can't stand hassle) and low risk solution. Am I right - do you want to know how to make your own??
 
bacteria posted on Aug 30 2006 at 03:02 AM said:
When I make it, and test it, I will post pics, and a "how to make it" guide. Then everyone else has a chance to have a D-pad, for almost no cost. using standard household materials - plastic, tin-foil, glue, electrical wires, foam pads, cardboard - no fancy rubber contact pads which you can't stick to anything!!
Now this part interests me somewhat. I be really interested to see what it look like.
 
Last edited by a moderator:
Back
Top