With a bit of debugging and some code tweaks I have a physical setup working.
List of features:
- analog joystick working for the contol disc
- potentiometer for adjusting the deadzone of the joystick
- membrane keypad (this will change later)
- the three side buttons
- controller output for first OR second controller
- 3 switches to control whether the output of the keypad, side buttons, or control pad should be output as first or second controller output.
- LEDs to show high/low 8-pin output.
The code needed to be tweaked for a few reasons. First, I used different resistor values for the analog mapping of the keypad. I also added in a bunch of debug stuff for testing the physical implementation. Finally, I was getting inconsistent output from the joystick, which I fixed by simplifying the deadzone calculations from euclidean to manhattan distance. It's much simpler and faster. The deadzone is just more of a diamond than a circle.
Here's me pressing the control stick in a SW direction while pressing the '5' n the keypad. The joystick is outputting to controller 1 and the keypad s outputting to controller 2.
Now I need to do output testing on an actual intellivision and then I can start designing the circuit boards. I'm thinking of having a modular circuit board arrangement, and a modular controller arrangement to accommodate left/right players and single controller output.
- The arduino by itself (or a clone)
- a controller output board with both SIPO chips and the 3 switches. I'm setting it up so that if someone doesn't want the controller 2 output, they can just not install the 2nd chip and the switches.
- a board with the joystick and side buttons
- a board with just the side side buttons
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.