Hi,
Ich hab in den Letzten Monaten mit Unterstützung von OliverW. und einem Freund einen sehr flexiblen Adapter gebastelt um SNES Gamepads am C64 nutzen zu können.
Ich weiß das es den PadSwitcher64 gibt, die beiden Projekte Verfolgen aber leicht unterschiedliche Ziele.
- Bei mir lassen sich die Tasten L, R, A, B, X, Y und alle 4 Richtungen am D-PAD komplett Frei belegen.
- Mein Adapter steckt in einem ControlPort, und kann daher nur diesen manipulieren,
dafür kann man meinen Adapter im Doppelpack oder mit einem anderen Joystick zusammen nutzen um zu zweit zu spielen.
Vermutlich sogar zu viert mit einem 4-Spieler Adapter, das konnte ich aber noch nicht testen, wird aber Kurzfristig nachgeholt.
Das Teil sieht so aus:
Was macht das Teil jetzt so alles?
Auf C64 Seite kann der Adapter natürlich die 4 Richtungen und Feuer simulieren, zusätzlich auch Feuer 2 und 3 indem es POT-X bzw. POT-Y High legt, so wie es z.B. MW_ULTRA unterstützt und mit ANYKEY / JOYRIDE getestet werden kann (Vielen dank an dillof an der stelle für die wundervollen Tools!).
Das Teil ist schnell. Das Protokoll, dass das Gamepad spricht ist simpel und schnell, der Arduino muss das zwar pollen, aber das geht in wenigem µS.
Da sollte keine Verzögerung Spürbar sein, aktuell begrenze ich den Intervall auf 100Hz, ich frage also 2 mal pro Frame das Gamepad ab und sende das Ergebnis zum C64.
Da wäre theoretisch sehr viel Luft nach oben, aber wer weiß ob da alle Gamepads mitspielen.
Man kann Die 10 Buttons jetzt in einer Matrix mit jeder der genannten Funktion belegen, auch mehrfach.
Wenn man A z.b. gerne mit Feuer Links und Rauf belegen möchte kann man das gerne tun.
Man könnte sogar eine Taste mit Rauf, Runter, Links und Rechts belegen.
Zusätzlich kann man jeden der 10 Buttons als Autofeuer Button konfigurieren. Alle Aktionen auf dem Button werden dann wie man das kennt schnell gewechselt.
Man kann bis zu 10 verschiedene Buttonbelegungen in einer Software für Windows und Linux einfach konfigurieren und abspeichern, das geht via USB.
OSX wäre vielleicht machbar aber ohne passende Hardware nicht testbar.
Das sieht etwa so aus:
Das Teil kommt mit 2 vorbelegten Belegungen (Maps) man ist da aber komplett frei.
Mit dem Gamepad in der Hand (und ganz ohne PC) kann man dann mit Hilfe der Start und Select Tasten:
- Einer dieser Maps auswählen
- Die Autofeuer Geschwindigkeit Einstellen
- Einzelne Tasten Deaktivieren, das macht z.B. sinn wenn man Hoch auf dem DPAD-Oben und auf z.B. Y liegen hat. je nach Spiel möchte man dann vielleicht hoch auf hoch deaktivieren, weil das eben Springen bedeutet.
- Den Adapter resetten, weil man alles kaputt konfiguriert hat
Man bekommt, mit den 2 LED's, recht gut Feedback über das was man gerade tut.
Hardwareseitig ist das praktisch nur ein Arduino Nano, ein PCB und Kleinteile, namentlich 2 LED's samt Widerstand, ein Optionaler extra Resettaster, Steckverbinder für den C64 und das Gamepad, ein Kerko und Abstandsbolzen.
Die Software, sowohl die für den Adapter selbst, als auch die für den PC ist "so richtig" Open Source, Gerberfiles liegen später auch bei.
Es wird noch Files für ein 3D-Druck Gehäuse geben.
Bei Bedarf würde ich ne Sammelbestellung starten.
Meine sehr pessimistische Rechnung im Dezember hat weniger als 15€/Stück ergeben, damals gab's die Nano's aber so um die 7-8€, jetzt gibt's die wieder für <5€ direkt aus China.
Es wird also sicher unter 15€, vermutlich eher so um die 10€ pro Stück, je nach Menge.
Das wäre in Komplettpaket, excl. Gehäuse.
Grüße, Dirk