News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_geebus

New Joystick and/or game pad

Started by geebus, 15:19, 05 December 18

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

geebus

Hi folks,

I'm thinking of making a prototype of a joystick and/or a game pad, then maybe getting some "mass" produced. Is there any interest in this here? or are you all making your own?
I'm thinking of using machined stainless steel for the base and the shaft of the joystick (to give it a good lifespan and not brake when someone rage quits their game) but all my ideas are in my head at the moment so it'll change a lot once I actually draw it out and make a prototype.

Not sure if I want to make it a 2 or 3 button with auto fire (or even what the options really are!).

I'm really starting from scratch learning these things, so this is a learning project for me that might take me a while to get my first one made. I only just ordered my soldering station yesterday to replace my old crappy on/off soldering iron. I'm starting with the simple things before I try to move on to more complex items.

I'm sure i'll find swathes of information on these forums of people who have done it before. So expect many new posts from me asking random questions.

As for the connectors, I was hoping to find the right connector with a stress relief area on the cable (assuming those can be bought separately anyway). I haven't found any so far, but I've not been looking very long. I could always cut and smooth off the connector tabs if I can't find any without the tabs on them.

Any pointers or advice is always appreciated.

DanyPPC

For the cables you have to simply buy MegaDrive cable extension for a good price.


If you intend create a gamepad you could start from a snes style gamepad (pc usb model). There are a lot of button and you could wire them in the following manner:


Y = 1st Button
Z = Up direction (for those platform where it need to jump)
B = 2nd Button
A = 1st Button
LEFT Shoulder = Down Direction
RIGHT Shoulder = Up Direction
(these useful for racing games)


Select and Start can be omitted.


It's only a personal idea.

CPC 464 with USB Floppy Emulator / CPC 464+ with USB Floppy Emulator / CPC 6128+ with C4CPC and Gotek HxC USB Drive Emulator

tjohnson

I made my own by buying a simple plastic enclosure and an off the shelf arcade stick and buttons.

keith56

It's worth remembering that the non plus CPC's can support a third undocumented fire button!

I use a 1st generation neogeo controller with a conversion dongle on my CPC (the non-bean shaped one)... they had no electronics in them - all the buttons were just dumb switches, so it makes a good 3 fire arcade stick for the CPC!
Chibi Akumas: Comedy-Horror 8-bit Bullet Hell shooter!
Learn ARM, 8086, Z80, 6502 or 68000 with my tutorials: www.assemblytutorial.com
My Assembly programming book is available now on amazon!

DanyPPC

Anyway no game support 3rd button.


Good idea for the NeoGeo joystick/pad.
CPC 464 with USB Floppy Emulator / CPC 464+ with USB Floppy Emulator / CPC 6128+ with C4CPC and Gotek HxC USB Drive Emulator

keith56

Quote from: DanyPPC on 09:17, 06 December 18
Anyway no game support 3rd button.

Good idea for the NeoGeo joystick/pad.
ChibiAkumas and R-type support the third button!... also please note the NeoGeo CD Gamepad does not work with my dongle (unfortunately!) - it may work if you gave it a 5v power line, but I've not tested it.
Chibi Akumas: Comedy-Horror 8-bit Bullet Hell shooter!
Learn ARM, 8086, Z80, 6502 or 68000 with my tutorials: www.assemblytutorial.com
My Assembly programming book is available now on amazon!

DanyPPC

Are you referring to R-Type 128k Enhanched version?
I did not know. And what is the purpose of the third button in this game?
CPC 464 with USB Floppy Emulator / CPC 464+ with USB Floppy Emulator / CPC 6128+ with C4CPC and Gotek HxC USB Drive Emulator

geebus

Hi all,
it's been a little while since I made this topic and I've been playing about after getting my new soldering station and swathes of buttons etc etc.
I'm waiting on my megadrive extension cable arriving so that I can cut one end off and wire that into my prototype board.


My question for today is, before I start soldering in the wires for the buttons. Is it still best to put in a small capacitor to stop the 'bounce'?
As i understand it these are go low (instead of 5v) connections for the joystick port? but i'm assuming that doesn't make any difference to the effects of bounce... or does it?
Also, I done a bit of reading about this and realised that my 555 timer auto fire wouldn't work due to the lack of 5v coming from the port. So that is that out of the window. I know you can connect a 5v line in, but I don't fancy going down that route.

ikonsgr

#8
About autofire you might find this useful:
http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/auto-fire-adapter-for-amstrad-cpc/msg58190/#msg58190
I made it some years ago, and the circuit is rather easy to make too.
Now about joystick port function, all movement and fire buttons are on/off switches ,BUT the two states are NOT 5v-high and ground-low,but rather "not connected" (high impedance state) and "active"-ground .
You see, joystick port is multiplexed with a keyboard line, and every 1/50 sec,, amstrad is polling the port and reads the state of movements+fires which they must be either ground(=active) or not connected. This "interrogation" of the port, is made by the ground or common signal, which actually is not ground at all, but ~99% of time is at high 5volt state, and only every 1/50 sec, and for a very short time ,is pulsed to 0v/ground and that's when amstrad reads the joystick port!

And i suppose this was the reason they omit the 5v supply on joyport,it would be useless since the "Ground" (=voltage reference) is no ground at all, but rather a pulsed signal with ~99% duty cycle!  :)
Note also that you can't use pull up resistors on the joystick signals either, because the "inactive" switches@ 5volt will interfere with keyboard!
And if you want to add autofire function too, i'm afraid the only way to do it right is this:
http://retroworkbench.blogspot.com/p/5v-power-supply-for-joystick-port-to.html


Bryce

Most games pole the joystick port at a rate that bounce isn't an issue, but add the capacitors if you intend using the joystick on faster machines.

Bryce.

geebus

Thanks both.
After having a look into it a bit and thinking about how the lines are pulled low (ikonsgr you say they're actually pulled high every 1/50th of a second?) then a capacitor wouldn't do anything as there's no charge to fill it up. Would that be right?


I'll add some small capacitors in, just in case as it shouldn't cause any issues if I do add them, whereas it could cause issues if I don't.


Thanks for the input!
I'll keep you all updated.

Bryce

Yup, the /COM signal pulls low, but all 8-bit joysticks use a pull to ground to actuate a signal.


Bryce.

TotO

Exatly. The CPC joysticks are no more than a result of connecting two matrix lines as the keyboards keys.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

ikonsgr

Quote from: geebus on 12:00, 25 January 19
(ikonsgr you say they're actually pulled high every 1/50th of a second?)


Well, actually it's the opposite, Com signal stays high=5v, and every 0.02seconds is pulled low (for a very short period of time, i think it's less than 1msec, i've test it with a salae logic analyzer in the past) Only then the joy port is readed by amstrad.
This actually means that com signal is almost always at 5V high state, but unfortunately current it's too weak to do anyhting at all with it. I'm saying this, in case you thought of using com signal as alternative power supply for an autofire circuit (using a small signal diode and a capacitor), i've already tried that and i ti didnt work... ::)

Bryce

The 5V signal on COM is max 250µA. It would take ages to charge any decent sized capacitor with that and any load would discharge it almost instantly.

Bryce.

geebus

Quote from: Bryce on 14:48, 25 January 19
The 5V signal on COM is max 250µA. It would take ages to charge any decent sized capacitor with that and any load would discharge it almost instantly.

Bryce.


Ok, so no capacitors if it's an amstrad only controller? or i WILL end up with some issues?
i'm so confused  :-\

Bryce

Not quite. To clear things up:

Adding the capacitors won't help reduce bounce, but they also shouldn't cause any problems either.

But I have to ask. What computer have you ever had switch bounce problems with? Or are you just transferring wisedoms from Arduino people? There should be no reason why an 8-bit computer would ever have switch bounce issues.


Bryce.

geebus

Quote from: Bryce on 14:06, 26 January 19
But I have to ask. What computer have you ever had switch bounce problems with? Or are you just transferring wisedoms from Arduino people? There should be no reason why an 8-bit computer would ever have switch bounce issues.
It was more something that I learned from watching Ben Eater making his 8 bit breadboard computer.

Bryce

I don't know that project, but his particular design may require debouncing depending how the inputs are being handled.

Bryce.

geebus

Just soldered the wires in and my controller works great. Just got an amazing score on 1943!
Thanks for the help everyone!
I'm gonna make another blog post about this on my website soon and i'll share it so others can see whats gone on if they want to make their own controller.
I'll then make some changes when people look at it and notice things that I didn't.

KANDYMAN-IAC

#20
I did this exact thing over the Christmas period.

Started with a crummy plastic fake db9 controller. Getting inside revealed only 4 wires used. I turfed the pcb. Got out some breadboard and tact switches and made this.


I wired it as 3 button but don't seem to be getting 3rd button response in basic.




Sent from my iPhone using Tapatalk

KANDYMAN-IAC

Rough and ready prototype, but works a treat.




Sent from my iPhone using Tapatalk

geebus

If anyone wants to read up on what i've made so far, Here's a link to a blog i'm making (making the entire CMS).http://gee-k.net/subpage.php?id=2&Subnav=36

Tolkin

Hy, nice Project,
how is the feeling of the Switches? I wonder if these "miniSwitches" feel good at Playing.


I made a few Gamepads using "Sega Saturn" Style Gamepads which are very cheap here in Germany at Amazon: Saturn Style PC Pad (Black for the Old Gen CPC, and grey for the Plus :)
I take the 9Pin Cables from old cheap faulty Joysticks or very cheap Mega Drive Gamepads or extension Cables (About 5€ p.P.)
I always connected 3 Firebuttons, and the Up Button (for Jump) on the Buttons of the Gamepad.
These are working very well, and feel nearly like a normal Saturn Pad. :)


For a Joystick i take a more expensive Hori Fighting Stick mini and pull out the USB Cable and solder a 9Pin Cable on it. The Buttons are good like on the old Dreamcast ArcadeBoards. Same as the Stick.
They where on Amazon under 30€ last November.
Same here one Jump (UP) and three FireButtons. But the Board have a Switch (used orginal for ps3/ps4 switching), so i used ist for deactivating Fire 2, to use the stick on normal Atari 9Pin Style Computers.


Bye
Tolkin




geebus

The buttons feel surprisingly good. A good click to them, which I like. It has made playing games so much better.Once I have a proper one finished I'll get some pcb's made by a local company and possibly 3d print some cases for them. Not sure what to do for the buttons quite yet. I might just machine them from plastic.

Powered by SMFPacks Menu Editor Mod