What's new

Geddon

Professional
Joined
Jun 1, 2018
Messages
714
Reaction score
355
Location
USA
Recently I wired up an old fightstick for use with Commodore 64 and Amiga. Easy enough. The only cool options I added on were wiring up to up on the joystick and a button. So games like ghosts and goblins play like they should with jump on a button. I also wired a switch to turn off up on the joystick and have a switch to switch between +5v and ground on buttons 2 and 3 for Amiga support.

Ok so that is great but my brother thought of another idea. 9 buttons. Middle button is fire and all the outer buttons are fire plus a direction. Also have the usual joystick to the left of the buttons. I figured how to wire that using diodes and it functions as expected, but after testing that he thought of something else. It would be nice if, when you engage one of those outer buttons it disengages the joystick completely. Because say you are playing archon. If you run left and hit the up+fire button it fires left diagonal, but you really want it to fire up. So up + fire should only engage up + fire and disable the joystick basically. I thought this might be possible using the normally closed connections on the buttons but I can’t think of a way where all of those 8 outer buttons will stop the joystick switches from working.

So I know this forum is full of people who are on another level when it comes to circuit design so I’m thinking maybe some of you have some ideas for how I can accomplish this. I’m sure it could be done programmatically with a pi or arduino or something but it would be cool if I could do it with basic components.

Here Is my prototype. Works pretty well you just have to let go of the joystick for some of the buttons to do what you expect.
 

Attachments

  • CAD99FE9-D466-4970-A143-68C1F8C5B456.jpeg
    CAD99FE9-D466-4970-A143-68C1F8C5B456.jpeg
    310.7 KB · Views: 187
Last edited:
One of my friends says we can do what I want using 2 74hc32 chips and a transistor. I’ll follow up here once we try. Basic idea is open the connection to ground on the joystick switches if any of the 8 outer buttons are pressed.
 
Last edited:
If you are interested in Arduino (or any microcontroller board) as much as you are interested in C64 why not wire everything to a cheap Arduino clone and program whatever feature as you like without bothering with hard switches and re-wiring etc. That would be a fun project ;)

On the other hand, a very simplistic approach to disable joystick would be to add a single hard switch to the return path of the daisy chain common ground line of the joystick switches. Turning of that switch will completely disable joystick functionality.

I know, this is not exactly your bro proposed but does the job :)
 
That is simple but not what I want. I want a button press to open ground to the 4 joystick switches. If it was just one button that is easy, just use the extra terminal on 3 terminal switches, but I want it to apply to 8 switches which makes it more complicated. I’m surprised no one has jumped in with a solution. I think the circuit isn’t crazy hard but it is for me as a novice. I could go arduino but I’m pretty sure there is a component solution and once I learn how that works it might help me wire up other ideas I have. My friend who is a lot more competent thinks he has the circuit but has been pretty busy lately, once we figure it out I’ll post it here. I will definitely go arduino as a last resort.
 
I’m surprised no one here took a stab at the problem, but I solved it simply using 3 terminal button switches.

Anyway I figured out how to do what I want just using the normally closed terminals on the outer buttons. Hopefully this makes sense. So I bring c64 ground in on the usual ground terminal on the fire button and daisy that to the left plus fire button. Then I run the normally closed connection to the usual ground for left + down + fire. I continue this way around all the multi function buttons not daisy chaining like you usually do but connecting the normally closed to the usual ground on the next button. So any time one of the outer buttons is pressed it pulls ground up and the remaining buttons on the chain no longer work. When I get all the way back around to up + left + fire I run the normally closed terminal to the usual grounds for the joystick switches. So if i press just fire it doe not interrupt the joystick switches. If I press any of the 8 outer buttons is disables the rest of the buttons in the chain and the joystick switches. Exactly what I want. This makes games that use directions plus fire for functions simple to execute exactly what you want. I’ll probably make a demo video. My brother was really happy with how it functioned. It works flawlessly with ninja, archon, and yie ar Kung fu. I plan to test it with Amiga moonstone next because that is the game I really wanted this control setup for. When I started looking into this I thought the normally closed terminals could do what I wanted, but it took me a while to figure out the wiring. My ah ha moment came when I looked at the inside workings of the 3 terminal switches. Cool stuff. I’ve already made two revisions of the circuit. One where I heat shrinked diodes to each combo button and another where I put all the diodes on a little board then wired from there. Funny enough my diode board version looks more complex than the way I did it the first time. I might get around to designing a little circuit board that will make this clean and simple.

if you are still wondering why this is awesome the good example is archon. With my wiring you can run diagonal down left then press a button and instantly shoot diagonal up right and you can hold whatever direction you want to run next. The button press instantly interrupts and does the function you want then proceeds to the next thing. To do that with just a joystick and one button is quite difficult. The cpu in that game pulls it off like nothing but just try with the traditional controls. Being able to precisely input these commands makes a lot of games with this sort of functionality more enjoyable. We came to expect it when consoles came out with more buttons like SNES but with this old one button games play more like console games that had many more buttons for precise functions. I guess if you are an expert and can hit up+right+fire on command you don’t need this, but I sure as hell cant and now it’s easy.


Here are picture of my first and second wiring. First picture is the first working wiring. Second is putting all the diodes on a board instead of putting them near the buttons in the wiring. Third is final wiring with the diode board and using connectors, a terminal block, and labels to make it easy to troubleshoot and easy to take apart. This was a fun project to think about and work on and I’m thinking about making a little board to make the wiring simple. No idea if anyone else would actually want to do this but I’ll make a video showing how great it works and maybe that will get some people interested in the idea.
 

Attachments

  • 427EBE26-0E94-48F5-B022-F89D3E2B52CF.jpeg
    427EBE26-0E94-48F5-B022-F89D3E2B52CF.jpeg
    355.1 KB · Views: 132
  • A248212A-AAC6-4F34-A00C-B1F7430CD704.jpeg
    A248212A-AAC6-4F34-A00C-B1F7430CD704.jpeg
    440 KB · Views: 130
  • FC98FD79-5D29-478A-9793-2242369FE968.jpeg
    FC98FD79-5D29-478A-9793-2242369FE968.jpeg
    416.4 KB · Views: 139
Last edited:
Back
Top