I was thinking an Arduino could be dropped in there and wired along with the arcade stick pcb with a timer to "press" the buttons, but I'm unsure about added latency and practicality on a 2 player setup.
If the arcade stick PCB is "active low" (ground applied to an input port triggers the output), it should be possible using the approach outlined below. It shouldn't cause any latency issues.
Get 5v and ground to power the Arduino from the Dreamcast controller connection.
Wire the Arduino in parallel with your current arcade stick PCB.
- Wire 4 Arduino input ports to the 4 D-Pad input ports on the arcade stick PCB.
- Wire
3 5 Arduino output ports to the facebutton and start input ports on the arcade stick PCB.
The Arduino program loop would be fairly simple:
- Define and initialize the input and output pins.
(Internal input pullup resistors are your friend
https://www.arduino.cc/en/Tutorial/DigitalInputPullup and you can use the serial monitor output to troubleshoot/verify your code before you connect the Arduino to the arcade stick PCB)
- Start a
more than 5 minute long for/next loop. (The idea is to keep resetting the counter variable before it reaches the end of the loop.)
-- Increment the for/next counter variable.
-- Read the 4 input ports.
-- If any of the 4 ports is logic low (D-pad pressed), reset the counter variable value and resume the for/next loop.
-- If the counter variable value indicates that it has been more than 5 minutes since the D-pad has been pressed, pull the
3 5 outputs low, wait enough miliseconds for the reset to trigger, pull the outputs high again, reset the counter variable value and resume the for/next loop.
Assuming that the reset-to-menu combo doesn't cause problems when you're already in the menu, this approach should work.
Scott
EDIT: You need 5 Arduino outputs for the combo, not 3.