Last Updated on 2 July 2024 by Suffocation
Dieser Beitrag muss mal etwas anders anfangen. Ich habe diesen rund 35-40 Jahre alten Joystick. Dieser wurde von mir damals am C16, C64, Atari2600 und später dann am Amiga bespielt. Ich hatte zu der Zeit mehrere Joysticks und dieser war nicht mein liebster. Ich hatte ihn mir gekauf, weil er aus Metall ist und denen der Arcade Automaten ähnelt. Auch ist er komplett auseinandernehmbar und man kann die Taster ersetzten. Die Competitions Pro Serie mochte ich allerdings lieber 🙂

Nun habe ich mir vor kurzem einen C64 Brotkasten zugelegt und ihn repariert. Auch wenn ich mich bei der Reparatur selten dämlich angestellt habe, läuft er nun wieder. Was macht man also mit einem 40 Jahre alten Computer … genau man spielt 40 Jahre alte Spiele :). Dafür braucht man einen Joystick. Leider funktionierte dieser ersteinmal nicht richtig und ich wusste nicht ob es am C64 oder am Joystick liegt.
Da ich für mich das Löten wieder entdeckt habe, war es zu einfach den Joystick mit einem Multimeter durchzutesten. Ich wollte auch etwas einfach zu benutzendes haben, welches ich auf andere noch vorhanden Joysticks anwenden kann. Eine Möglichkeit wäre es eine Platine diskret aufzubauen und mit LEDs die Richtungen und den Feuerknopf anzuzeigen. Nun habe ich aber noch ein paar Arduinos hier rumfiegen, die die ich wegen ihrer fehlenden WIFI Fähigkeiten eigentlich nicht nutze. Ausserdem wie der „Zufall“ so spielt hatte ich mir gerade ein paar Lochrasterplatinen für den Arduino bestellt. Geistig stärkere Personen als ich hätten warscheinlich zum Multimeter gegriffen und sich viel Zeit gespart, aber so denke ich nun mal nicht.
So I built my own Arduino shield. What it looks like and what it can do, you can see below. I'm going to omit the fact that I threw away the first circuit board and started again ;) .
Facts
Es soll eine Arduino Zusatzplatine gebaut werden, die es ermöglicht C64 compatible Joysticks zu testen. Später soll es auch möglich sein Joysticks für ander Computersysteme zu testen.
Materials list
- 1x Arduino Uno
- 1x I²C Oled Display (Ich verwende 128×32)
- 1x 5 Leds (ich verwende 2xgrün, 2x rot, 1x gelb)
- 1x 2x220Ohm für die roten LEDs, 3x150Ohm für die anderen
- 1x Stück 9 Pol Flachabandkabel
- 1x Flat plug 10 pin (1)
- 1x 10 Pin header connection (2)
- 1x Sub D Buchse für Flachbandkabel (3)
- 2x Pinheader Buchse 4 Pol für Display (2. als Stütze)
- 30 Pol stiftleise für die Verbindung zum Arduino
- Any stripboard (I have the one from KeyStudio uses (not sponsored 😉 )
(1,2,3) Ich habe mich für diese Lösung mit dem Kabel und Pinheader Anschluss für die 9 Pol Sub D entschieden, weil ich keine SubD Stecker für Lochraster hatte. Zusätzlich hat diese noch den charmanten Voteil, dass man Kabel für andere Joysticks oder Pinnungen machen könnte.
Consumables
- Lötzinn
- Silver wire
- Drahtbrücken
Areas of application
- Testing of old C64, C16, Atari and Amiga joysticks
Views




Structure


Programming
Die Progammierung ist nicht schwer, somit werde ich erstmal nicht näher darauf eingehen. Sollten Fragen sein dann bitte in den Kommentaren melden. Grundsätzlich schaltet jeder Taster des Joysticks eine LED. Zusätzlich werden noch die beiden analogen Eingänge am Pin 5 und 9 ausgelesen, diese werden für anloge Joysticks wie auch für die Paddles vom Atari verwendet. Alles, die Paddles und auch die Joystick Richtungen samt Freuerknopf werden noch auf dem Display ausgegeben.
Libraries
Es werden nur zwei zusätzliche Bibliothek für das Oled Display benötigt.
https://github.com/adafruit/Adafruit_SSD1306
https://github.com/adafruit/Adafruit-GFX-Library
Test programme
The code can be found at the following link on Github:
https://github.com/sfambach/arduino/tree/master/shields/RetroJoystickTester9PinSubD
Compile and deploy.

Das Display hat noch einen kleinen Fehler. Manchmal schiesst der Balken über die Anzeige hinaus. Ich bin noch nicht dahinter gekommen wie das zusammenhängt, ich suche aber auch noch die Drehregler um es zu testen.
Problems
Die Beschreibungen für den 9Pol Sub D Anschluss sind nicht immer richtig und eindeutig. Am Besten sich nochmal rückversichern.
Miscellaneous
No.
Conclusion
That was a fun project again, please get in touch if you need more details.
Verwandte Beiträge
- Retro Project – FDC USB Floppy Disk Controller
- Arduino Nano 33 BLE
- Arduino Nano 33 IoT
- Preview – Arduino Motor Shield with L298P
- Preview – Arduino Mega Logger Shield
- Preview – Prototype Shield for Arduino Mega
- Preview – Arduino Nano Add-on Board
- Preview – Arduino Mini ATMEGA328P 328
- Arduino Ethernet Board W5100
- Arduino VS1053 MP3 audio shield with TF card
Sources
https://github.com/adafruit/Adafruit_SSD1306
https://github.com/adafruit/Adafruit-GFX-Library
Log
| Date | Description |
|---|---|
| 20.06.2024 | Started |
| 30.06.2024 | Document written |
| 01.07.2024 | 1x Proofread |
| Date | Change | Author |
|---|---|---|
| 18.06.2024 | Post created | Suffocation |