Jump to content

PC Engine / Tu8rbo Grafx arcade joystick (need some help)


Recommended Posts

Hi there, I'm working on making some arcade joysticks for the PC Engine / Turbo Grafx. They will be the same form factor as a bunch of my other sticks -



I already have a working circuit to interface the PC Engine cable to the stick & buttons, but I'd like to add the 2 speed autofire to both buttons, like the original joypads.  Trouble is, I'm no electronics expert at all (I found the circuit online and made some on perfboard) Can anyone help me out with a circuit (or better still a pcb design) to incorporate the controls and turbo fires into one?


This is my circuit so far, an LS157 and 4 resistors. I think the original pads use a 74HC163 for the autofire pulses.



Link to comment
Share on other sites

On 8/25/2022 at 3:42 PM, virtvic said:

but I'd like to add the 2 speed autofire to both buttons,

May be a little late but would both buttons be linked (driven by same signal or independent, each button having it own auto fire circuit that can be switched on/off?


As previously mentioned you could use a 555 timer (plenty of circuits & calculators online) and a couple in the data sheet. You would only need to use the simplest Asynchronous (free-running) circuit, to change the speed simply switch a second resistor in parallel with the other one (or both if using that 555 circuit design), thereby changing the resistance and thus the frequency.


I have attached a simple circuit that may be suitable, which does not include the supplemental components for the full 555 circuit as it just shows how to intergrade the 555 output with the Fire Button. Its operation works on the assumption that the active fire button output is logic low (0V) and is as follows...

Switch set to 0V connection: The output of the OR gate will be that of the Fire Button (Manual Fire)

Switch set to 555 output connection: When the fire button is pressed the output or the OR gate will be that of the 555 timer (Auto Fire), then the fire button is not pressed the output or the OR gate will be High (Stop Firing).


If however the active output of the fire button is high, simply change the 0V connection to the Switch to a 5V connection and replace the OR gate with an AND gate. 


Another way to do it would be to program a small PIC microcontroller, or even an Arduino.


Quick AutoFire circuit.PNG

Link to comment
Share on other sites

Well the circuit I provide should not cost much, you would only need 1 x 555 Timer , 2 or 3 resistors & a capacitor to complete the 555 circuit, 1 x quad, 2 input OR or AND device, 1 SPDT switch for changing the auto fire speed between 2 options and either two SPDT switches (one for each fire button for independent auto fire selection on each fire button ) or a single DTDT switch for switching the auto fire selection on both fire buttons together.


Essential, you just double up one everything except the 555 timer , the output of which goes to both fire button circuits, the switches will be the most expensive parts maybe running two a couple of pounds each depending on what you get, but probably looking at 5 or 6 pound in total.

Using a PIC would be a little cheaper as you would only need that and the switches, particularly if making production runs as less board space, however as you would need to purchase a programmer if you do not already have one it is not cost effective for a 1 off, unless you could find someone load the program into the PIC for you.   

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...