D-pad Stick Replacement Project


DaveC posted on Sep 21 2006 at 09:39 PM said:
I really don't agree with Bacteria's "nothing I use needs the HW diagonal so piss off" arguement too much. It is true that most stuff does work fine. That is great, until some uber coder releases a perfect SNES emu with one catch: it won't read 2 ordinals as a diagonal. So now you are screwed. Will that happen? maybe maybe not. The possibility always does exist though.

A patch would be good. If not possible maybe all of the SDK coders can put in the docs that 2 ordinals should ALWAYS give a diagonal. This way any future coder will support it automatically.
If you can write a perfect SNES emulator you should be able to add 2 or 3 lines of code to your program to make software diagnols work. It's very simple to do, takes just a moment. The problem with a software patch is that it doesn't account for low-level programmers who just read input data out of the registers.
 
Last edited by a moderator:
Epicenter posted on Sep 23 2006 at 09:09 AM said:
If you can write a perfect SNES emulator you should be able to add 2 or 3 lines of code to your program to make software diagnols work. It's very simple to do, takes just a moment. The problem with a software patch is that it doesn't account for low-level programmers who just read input data out of the registers.

Ok, so requiring each and every gp2x coder worldwide to take into account the fact that some people might have modded their gp2x units so they behave differently from the official stock hardware, in your opinion, is somehow better than just applying a centralised patch in the kernel to make sure that the modified unit still looks exactly the same as far as userspace software (that means games, apps and all other non-kernel stuff) is concerned? Especially considering the fact that said patch can be applied to stock and modded units alike, without changing the behaviour of either?

The "software patch" does take into account programmers who just read input data out of the registers, since it will filter the hardware input and modify the contents of the registers to show a "hardware diagonal" when two ordinals are pressed. The same simple patch that must be applied by a thousand programmers worldwide in your utopian dream, will just be applied to the part of the kernel that's responsible for generating the GPIO table. As far as end-user software is concerned, there's still 8 hardware directions: 4 ordinals and 4 diagonals. Your games and emulators will just see a stock, unmodified gp2x hardware model; they won't be able to tell the difference.
 
Last edited by a moderator:
Nighty posted on Sep 23 2006 at 11:30 AM said:
The "software patch" does take into account programmers who just read input data out of the registers, since it will filter the hardware input and modify the contents of the registers to show a "hardware diagonal" when two ordinals are pressed. The same simple patch that must be applied by a thousand programmers worldwide in your utopian dream, will just be applied to the part of the kernel that's responsible for generating the GPIO table. As far as end-user software is concerned, there's still 8 hardware directions: 4 ordinals and 4 diagonals. Your games and emulators will just see a stock, unmodified gp2x hardware model; they won't be able to tell the difference.

Humm, do the gpio registers can be written to?
They are hardware registers, kernel as nothing to do with them. IMO they are read only.
 
Last edited by a moderator:
Epicenter posted on Sep 23 2006 at 07:09 AM said:
If you can write a perfect SNES emulator you should be able to add 2 or 3 lines of code to your program to make software diagnols work. It's very simple to do, takes just a moment. The problem with a software patch is that it doesn't account for low-level programmers who just read input data out of the registers.

...or you get harassed by some GPL brat and you give up on your emu and leave the scene before releasing the source :p
 
Last edited by a moderator:
Epicenter posted on Sep 23 2006 at 07:09 AM said:
If you can write a perfect SNES emulator you should be able to add 2 or 3 lines of code to your program to make software diagnols work. It's very simple to do, takes just a moment. The problem with a software patch is that it doesn't account for low-level programmers who just read input data out of the registers.

The point is not if they CAN write the code, it is more like if they think of it. A developer may see the hardware diagonals and not think to add software diagonals to the code. Afterall why add that when it is not needed. Until recently GnGeo did not support software diagonals. It does now because of the talk here on the boards. Not all devs come here though. That is why it should be put in the docs of SDKs.
 
Last edited by a moderator:
DaveC posted on Sep 23 2006 at 10:13 AM said:
Epicenter posted on Sep 23 2006 at 07:09 AM said:
If you can write a perfect SNES emulator you should be able to add 2 or 3 lines of code to your program to make software diagnols work. It's very simple to do, takes just a moment. The problem with a software patch is that it doesn't account for low-level programmers who just read input data out of the registers.

The point is not if they CAN write the code, it is more like if they think of it. A developer may see the hardware diagonals and not think to add software diagonals to the code. Afterall why add that when it is not needed. Until recently GnGeo did not support software diagonals. It does now because of the talk here on the boards. Not all devs come here though. That is why it should be put in the docs of SDKs.
Hate to be forum gravedigging, but can't we just make our own logic circuit? Maybe I should look into it, it seems to be a simple logic problem. And I believe Radek left his basic theory sketches in an old thread.

That aside, I am getting a MK1 again and would love (need?) to do this type of mod to it. Are you selling these at the moment? If not, would a GameCube d-pad be the next best thing?

Have you tried the http://www.expresspcb.com/ service for circuit boards? They offer 3 2.5" x 3.8" boards for $59 shipped, I don't know how many of your mod you could get on that size (all three boards must be identical), but it is double sided traces.
 
Last edited by a moderator:
nubie posted on Mar 3 2007 at 03:45 AM said:
Hate to be forum gravedigging, but can't we just make our own logic circuit? Maybe I should look into it, it seems to be a simple logic problem. And I believe Radek left his basic theory sketches in an old thread.

That aside, I am getting a MK1 again and would love (need?) to do this type of mod to it. Are you selling these at the moment? If not, would a GameCube d-pad be the next best thing?

Radek had a few prototypes made up. Ive been using one for months. It works flawless, but there really doesnt seem to be much need for something like it anymore. Most software released since dpads became popular has taken them into consideration.

board%20installed.jpg


GC pad works fine, but its not easy to do. My curent setup consists of GC pcb, gba contact pad (GC one works too with trimming), and a SNES dpad (required a lot of trimming). I had 100% gamecube parts for a long time, but after a while the dpad itself proved to be just a little small for my thumb.
 
Last edited by a moderator:
Back
Top