sataniC Virus said:
Any chance you are on MK1? Don't think this is a problem on Mk2.
It is. And it can't be solved in hardware.
It's all about the software that interprets the joystick input. If you have a game where you guide the 'ship' let's say, in circles, then no problem. (Like Gyruss or Time Pilot in MAME, for example.) Any attempt to 'fix' joy input in hardware or outside the game will f it up.
In platformers that use up=jump, for example all Amiga platformers, it's not so easy. If you walk all the time, fine, just slide the joy up until up is triggered. For precise movement and diagonal jumps from standstill (such as in Yie-Ar Kung-Fu on misc emus) you have to code a direction selector.
That selector must be forgiving, because up and left will only be triggered simultaneously by chance. You must in software write something that looks at the previous frame or frames' inputs. It's unlikely a player will hit straight up, then straight left within 2 frames (1/60 to 1/50th sec.). You must interpret those moves as a diagonal.
Otherwise the player will go insane trying to hit exact diagonals.
For analog joys, no problem. Just define a generous deadzone and read the values and make an angle. Round the angle to 45 deg steps. But with d-pads it's a different matter.