Hallo Besucher, der Thread wurde 132k mal aufgerufen und enthält 1166 Antworten

letzter Beitrag von Brechdurchfall am

RetroRadionics ArcadeR: Joystick im CP-Stil mit Arcade-Bauteilen

  • Vermutlich weil die wenigen Spiele, die überhaupt einen zweiten Button benutzt haben, die entsprechenden Tatsachen geschaffen haben.

    Möglich, ja. Während es am Amiga ja recht viele Spiele gibt, die Feuer-2 für irgendeine Zusatzfunktion nutzen (etwa etliche Shooter), kann man die C64 Spiele, die den zweiten Button des "Cheetah Annihilator" Joysticks benutzen, mit zwei Händen abzählen:

    https://www.c64-wiki.de/wiki/Cheetah_Annihilator


    Wäre es schon bei C64 Spielen damals sowas wie ein Standard gewesen, dass sie eine Funktion auf Feuer-2 haben, dann wäre es, so vermute ich, wahrscheinlich später dann auch genau so auf den Amiga mit übernommen worden von der Beschaltung her. Da das nicht der Fall war, fingen die dann damit nochmal anders an. Also, schätze ich jetzt mal, daß es so war.

  • Ich hoffe jetzt mal, wenn mein RR-Joystick am C64 hängt, dass ein versehentlicher Druck auf den rechten Feuerbutton, also Amiga-Fire-2 (=PotY+Masse), dem C64 dann nicht doch irgendwie schaden kann, denn eigentlich würde dieser ja Poty+5V erwarten für seinen zweiten Button.


    Wegen diesem, weiter vorne im Thread schonmal angesprochenen, komischen Warnhinweis in der Anleitung des RR-Sticks,


    ----------------------------------

    "IMPORTANT NOTE! bridging resistor R1 as mentioned above is for the Amiga ONLY. Using an ArcadeR with this modification on any other type of machine can cause damage to that device."

    ----------------------------------


    habe ich manchmal immernoch leichte Bedenken. Ich selbst habe dahingehend nichts am Stick verändert, aber da er ja von Haus aus in der Amiga Variante kam, wird er wohl auch so beschaltet sein wie in diesem Satz beschrieben und man kann ja doch nicht ganz ausschließen, dass man in der Spielhektik nicht auch aus Versehen mal den rechten Feuerbutton drückt.


    Auch wenn ich bislang eigentlich immer nur von ungemoddeten Mega-Drive Controllern als potentielle Gefahrenquelle für C64-Rechner gehört habe, weil dort beispielsweise ja auch die 5V auf einem ganz anderen Pin liegen, ist es mir manchmal schon leicht mulmig mit dem Stick am C64. Andererseits gab es ja auch damals in den 90ern schon einige 2-Button Gamepads für den Amiga und die haben Freunde von mir früher eigentlich auch häufig an ihren C64ern benutzt. Da hatte halt dann der zweite Feuerbutton keine Funktion, daß aber irgendetwas kaputtging am Rechner, wenn man ihn mal aus Versehen am C64 gedrückt hat, daran kann ich mich jetzt nicht erinnern.


    Daher hoffe ich jetzt mal, daß nichts passieren kann mit der Amiga-Variante des RetroRadionics-Sticks am C64. Was meint ihr?

  • Noch mal kurz zu den Hintergründen:

    Die PotX/Y-Eingänge sind am SID tatsächlich sowohl die Eingänge eines Komparators als auch (umschaltbar) Open-Drain-Ausgänge gegen Masse. Um einen externen Widerstand zu messen, werden POTX/Y immer wieder kurz gegen Masse geschaltet, um einen C64-internen Kondensator zu entladen. Ein Paddle hat also einen Widerstand gegen 5V beschaltet, der diesen Kondensator wieder auflädt. Der SID kann die Zeit messen, die benötigt wird, den Kondensator wieder bis zur Schwelle des Komparators aufzuladen, Aus dieser Zeit und dem bekannten Wert des Kondensators kann also quasi der Widerstand bzw. die Position berechnet werden.

    Ohne einen externen Pullup gegen 5V kann der Kondensator sich nicht aufladen (wird ja immer wieder entladen) und es stellt sich ein dauerhaft niedriger Pegel ein (zumindest theoretisch - durch die Multiplexer ist es in der Praxis ein bißchen komplizierter) . Das ist der wohl Grund dafür, warum man den zweiten und dritten Feuerknopf auf dem C64 gegen 5V schaltet (*). Das ist auch der Grund dafür, daß man das nicht "hart" machen soll, sondern mit 300Ohm oder so. Denn wenn man hart gegen 5V schalten würde, würde in den kurzen Phasen, in denen der DIS PotX/Y gegen Masse zieht, ein Kurzschlußstrom in PotX/Y fließen und könnte den SID beschädigen.


    All das ist beim Amiga im Prinzip auch so möglich (und wird wohl für Mäuse und Analogsticks auch so benutzt), aber die entsprechenden Eingänge von Paula lassen sich auch als normale digitale Eingänge konfigurieren, soweit ich mich erinnere auch mit konfigurierbaren Pullups. Also war es beim Amiga halt auch einfach möglich, daß ein Spiel die Eingänge so programmiert und benutzt.


    (*) tatsächlich hätte aber aus meiner Sicht nicht viel dagegen gesprochen, im Joystick einen Pullup zu verbauen und den Schalter trotzdem gegen Masse schalten zu lassen. Die 5V-Versorgung war wegen Paddles/Mäusen eh notwendig, also hätte man sie für den Pullup nutzen können. Das einzige Problem mit diesem Ansatz ist, daß man einen gedrückten Button nicht von einem nicht vorhandenen Button unterscheiden könnten. Halte ich aber für ein per Software lösbares Problem.

  • Ich stelle mal in den Raum, dass zur Zeit des Entwurfs des C64 noch die "Atari Controller Ideologie" das Maß der Dinge war: "4 Richtungen + 1 Knopf" plus Potiauswertung, obwohl die Anwendungsfälle für "analoge" Signale damals schon marginal waren im Vergleich zu vorherrschender Controlleranforderung seitens der Software.

    Alles natürlich nur aus Sicht des Consumerbereichs.

    Dezidierte Potinutzung kam doch erst später wieder in Form von sogennater Analogsticks.

    Das Konzept "Mehrere Knöpfe für verschiedene Funktionen" kam doch erst irgendwo Anfang der 80er auf in den Köpfen der Ingenieure und wurde massenwirksam doch erst mit dem NES im Consumerbereich eingeführt (nach einigen Geräten, die dem Videospielcrash zum Opfer fielen und somit nicht massenwirksam sein durften/konnten), und von Commodore beim Amiga Design in Form von anderen Interpretationen von Zuständen von Anfang an mit berücksichtigt, richtig?

    Beim C64 ist das doch nur - sagen wir mal - "kreative Nutzung" der vorhandenen Mittel. Und da das konzeptionell von Commodore nicht vorgesehen/vorgeben war, konnte die Entwicklerbude, die als erstes solch ein Konzept umsetzen wollte, frei wählen wie sie es implementiert, und somit im besten Fall den Standart quasi definieren für spätere Entwicklungen.

    Wäre eine gleiche Implememtation wie beim Amiga überhaupt möglich gewesen? Ich meine nicht...

  • Also soweit ich mich an meine Amiga-Recherche zurückerinnere, funktionieren PotX und PotX für Mäuse und so beim Amiga im Prinzip fast genau wie beim SID. Aber während beim SID die Beschaltung fix ist, kann man sie bei Paula konfigurieren. Man hätte sich also im Prinzip vor dreißig Jahren darauf einigen können, den zweiten und dritten Button genau wie beim C64 zu verdrahten. Stattdessen hat sich beim Amiga die gleiche Belegung wie für den ersten Button durchgesetzt. Vermutlich weil die wenigen Spiele, die überhaupt einen zweiten Button benutzt haben, die entsprechenden Tatsachen geschaffen haben.

    Fast richtig erinnert ;)


    Leider ist Feuer2 und Feuer3 beim C64 aufwendiger, da man zusätzlich jeweils einen Widerstand braucht. Beim Amiga werden Feuer2 und Feuer3 genau so beschaltet wie jeder andere Joystick Richtung und Feuer1.


    Beim Amiga kann man Pin 9 (Feuer2) und Pin 5 (Feuer3) entweder digital abfragen, wie bei normalen Joystick Eingängen, oder man kann sie analog abfragen wie beim C64 (missbraucht als digitales Feuer2 und Feuer3, eigentlich analoge Eingänge für Paddles oder analoge Joysticks). Außerdem kann man alle Feuer Leitungen beim Amiga auch als Ausgang schalten (wichtig für die Abfrage eines Amiga CD32 Pads).


    Apropos Feuer2 und Feuer3, theoretisch könnte man über die analogen Eingänge auch weitere Feuerknöpfe abfragen über verschiedene Widerstände, so könnte man auch gut Joysticks mit mehr als 3 Feuerknöpfen realisieren.


    Beim C64 kann man dafür alle Joystick Richtungen als auch Feuer1 als Ausgang schalten. Nur die PotX und PotY Leitungen kann man nicht als Ausgang schalten, deshalb kann man leider nicht die zusätzlichen Feuerknöpfe des CD32-Pads abfragen.


    Normale Mäuse am Amiga funktionieren nicht über PotX und PotY wie beim C64. Die Maus gibt digitale Signale (über Pin1 bis Pin4) an Paula, die diese sofort auswerten kann.

  • PotX bzw. PotY gegen Masse zu ziehen kann den SID nicht beschädigen, weil der SID diese Pins selber immer wieder kurz gegen Masse zieht und sie ansonsten hochohmig sind. PotX/Y hart auf 5V (oder noch höhere Spannungen) zu ziehen, kann den SID dagegen theoretisch beschädigen, weil dann ein hoher Strom in den SID fließt, wenn er selber kurz gegen Masse schaltet, um den Kondensator zu entladen. Es bleibt daher ein ungeklärtes Mysterium, warum im Cheetah Annihilator, der dem C64 GS beilag, anscheinend kein Widerstand verbaut war. Ich vermute allerdings, daß die Schalter (und die gesamte Verkabelung) hochohmig genug waren, um den SID nicht beschädigen zu können.

  • PotX bzw. PotY gegen Masse zu ziehen kann den SID nicht beschädigen, weil der SID diese Pins selber immer wieder kurz gegen Masse zieht und sie ansonsten hochohmig sind.

    Gut, danke für die Antwort. Würde mich mal interessieren, warum die diesen Warnhinweis im Manual des RR-Joysticks drin haben? Bezieht sich das dann eher auf andere Systeme als den C64, an die der Stick auch angeschlossen werden kann, oder haben die hier schlichtweg vor etwas gewarnt, was nicht wirklich gefährlich für einen C64 ist? Oder wollten die einfach auf Nummer sicher gehen? Müsste man sie wohl mal selbst fragen, nur antworten die ja nie auf Emails. :)

  • Leider gibt es ja keinen Schaltplan und ich war auch zu faul, mir einen zu erstellen. Vermutlich ist es so, daß der Widerstand R1 auch in der Schalterstellung für den C64 benutzt wird und da den Strom in den POTX-Eingang limitieren soll. Im Amiga-Modus (Jumper auf "Atari") ist er allerdings sinnlos und verhindert, daß man das Signal komplett gegen Masse ziehen kann. Wenn man R1 für den Amiga brückt, würde man also in der C64er-Schalterstellung PotX hart gegen 5V schalten. Das ist natürlich nicht gut.

    Anders ausgedrückt: solange der Atari/C64-Jumper auf C64 konfiguriert ist, sollte man R1 lieber nicht überbrücken. Wenn der Jumper aber auf Atari steht, dann wird eh gegen Masse geschaltet und dann sollte R1 dem C64 egal sein. Funktionieren wird der Button dann aber am C64 natürlich auch nicht.

    Aber wie gesagt: eigentlich bräuchte man einen Schaltplan, um das sicher zu beantworten.

  • Dann mache ich den Joystick nochmal auf und schau mir das nochmal genau an, wie das bei der ausgelieferten Amiga Variante des Sticks, von Haus aus dort eingestellt ist. Zwar hatte ich den Stick schon mehrmals offen, weil ich Teile der Lenkeinheit ausgetauscht habe, aber auf die Schaltung habe ich ehrlich gesagt noch nie wirklich einen Blick geworfen bislang. Ich wollte mir eh mal anschauen, ob sich bei dem Stick nicht irgendwie auch ein permanentes (von selbst schiessendes) Dauerfeuer auf dem unteren rechten Taster realisieren lässt, was gut in vielen Shootern nutzbar wäre (jedenfalls besser als das bisherige Dauerfeuer). Aber bei solchem Schaltungszeug bin ich totaler Laie und deshalb immer sehr vorsichtig, denn man will ja nichts ruinieren.

  • Also ich bin mit meiner Lösung sehr zufrieden. Habe allerdings letztendlich das ganze Innenleben gegen ein Original von Sanwa mit Omron-Schaltern und rechteckigem Restriktor ausgetauscht.

    Ohne die Metallzungen zu entfernen, kann man den Aktuator nur begrenzt vergrößern und das Entfernen der Metallzungen hat sich als schwieriger herausgestellt, als ich mir das vorgestellt hatte. Die ursprünglich verbauten Schalter sind vermutlich auch nicht dafür ausgelegt, ohne die Metallzungen betrieben zu werden. Zumindest einer der Schalter hat beim vollständigen Eindrücken wieder ausgeschaltet - was dann zum Tausch gegen Sanwa/Omron geführt hat. Wobei ich nicht leugnen will, daß das Entfernen der Metallzungen eine ziemliche mechanische und thermische Belastung war.

    Meiner Meinung nach ist der rechteckige Restriktor auch besser, weil er bei verkürzten vertikalen/horizontalen Wegen immer noch eine Ansteuerung der Diagnonalen erlaubt. Bei einem runden Restriktor ist der notwendige Weg zum Schalten der Diagonalen ein beschränkender Faktor.

  • Okay, ich wuerde gerne moeglichst wenig austauschen, daher dachte ich ein passender, evtl selbstgedruckter Restriktor, der die Wege verkuerzt, waere vielleicht eine adaequate Loesung. Oder ist das technisch gar nicht moeglich auf diese Art und Weise?

  • Also meiner Meinung nach bekommt man mit den Metallzungen und dem runden Restriktor keine wirklich knackige Ansteuerung hin. Es gab ja weiter vorne den Vorschlag, einen "Kowal Oversize Aktuator" zu verwenden. Mit diesen Dimensionen hatte ich auch angefangen, fand die Schaltwege aber immer noch unbefriedigend. Dann habe ich die Metallzungen entfernt, mußte dann aber wegen des runden Restriktors Kompromisse eingehen, damit ich die Diagonalen noch schalten konnte. Außerdem war dann der eine Schalter irgendwann teildefekt.

  • Okay, ich wuerde gerne moeglichst wenig austauschen

    So geht es mir auch. Wenn einer von euch hier mal mit dem 3D Drucker experimiert hat und einen Restriktor gebastelt hat, dann gerne mal teilen.

    Lasse dann von meinem Bruder drucken und probiere auch gerne aus.

    Allerdings möchte ich wie ZeHa möglichst wenig Arbeit damit haben und am liebsten Zackzack einfach nur ein kleines Plastikteil austauschen, um ein anderes Gefühl bei der Steuerung des Joysticks zu haben.

    Kurz: auch ich wäre interessiert. 🕹

  • Ich hatte weiter vorne ein FreeCAD-Modell angehängt. Das ist zwar mit den Metallzungen unten etwas zu groß (17mm), ist aber ganz einfach anpaßbar. Mit den Metallzungen sind 14mm oben und 16mm unten sicher eine gute Ausgangsbasis.

    Aber da alle Teile ein paar Zehnter Millimeter Tolernaz haben, wird man um eigene Experimente nicht herumkommen, um das Optimum auszuloten.

  • Auf jedenfall empfehlen, um eine klare Verbesserung zum Urzustand des Controllers zu erreichen, kann ich folgendes:


    - die 1lb Feder die kaum Widerstand beim Lenken bietet, gegen eine 2lb SANWA Feder tauschen. da spürt man dann wenigstens etwas Gegendruck und der Stick kehrt, wenn man ihn auslässt, auch schneller wieder in die Nullstellung zurück


    - den normalen Aktuator gegen einen Kowal Oversize Aktuator tauschen


    - damit der doch recht kurze Griff etwas länger wird, empfehle ich noch ein Bat-Top (liegt mir auch besser in der Hand als die Ball-Tops, mag aber auch Geschmackssache sein)


    Das bringt schon mal eine klare Verbesserung zum originalen Lenkzustand des Joysticks. Aber um eines schon vorher zu sagen, ich hab ja jetzt auch viel rumgetestet mit verschiedenen Teilen bei meinen Sanwa's. Ganz knackig kurze Lenkwege wie bei einigen "Competition Pro" Modellen oder auch wie beim "SUZO The Arcade" Joystick, erreicht man auch mit obigem nicht, der JLF ist für sowas wohl auch einfach nicht gemacht.


    Dafür hat man aber, meiner Meinung nach, wieder mehr Lenkgefühl mit dem Sanwa-JLF oder eben dessen ArcadeR Klon hier, als mit denjenigen "Competition Pro" Modellen, bei denen die Feder relativ hart ist ("Competition Pro Star" oder auch die neue "USB Competition Pro Anniversary Edition"). Im Endeffekt alles Geschmackssache und auch viel vom jeweiligen Spiel abhängig, welchen Stick man dann am besten benutzt.


    Mit selbstgedruckten Aktuatoren wurde ja jetzt schon rumgetestet, ich habe auch einen hier und bin zwiegespalten von dem Teil. Die Lenkwege sind kürzer, aber da der grössere selbstgedruckte Aktuator nun eben früher am Restriktor anschlägt, muss man, um beim runden Restriktor die Ecken überhaupt noch auslösen zu können, mit dem selbstgedruckten Aktuator dann schon stärker in die Ecken drücken beim lenken, sonst lösen die Mikroschalter nicht immer aus. Mit dem Kowal geht es noch, mit dem noch etwas grösseren selbstgedruckten Aktuator, den mir "Fraburm" damals druckte, empfand ich das dann nicht mehr als angenehm, deshalb hab ich ihn dann auch wieder ausgebaut. Alternativ hätte ich auch den viereckigen Restriktor wieder einbauen können, aber dann wäre der Vorteil des grösseren Aktuators ja wieder dahin gewesen, weil das Loch dieses Restriktors dann wieder grösser ist. *lol*


    Einen Restriktor zu drucken, dessen Loch im Durchmesser ein paar Millimeter kleiner ist, als das des original im ArcadeR verbauten runden Restriktors, wäre eventuell noch einen Versuch wert, für Leute die einen 3D Drucker haben. Aber bis man da dann irgendwann den idealen Lochdurchmesser gefunden hat, werden wohl auch erstmal wieder einige Fehlexemplare gedruckt werden müssen, die man dann wegwerfen muss. Ist daher die Frage, ob sich das lohnt?

  • Ich habe meinen ArcadeR vor wenigen Tagen erhalten und er gefällt mir gut. Am CompetitionPro hat mich schon immer gestört, dass er extrem schwergängig ist und keine Saugnäpfe hat.


    Bis zu diesem Thread wusste ich auch gar nicht, dass am C64 überhaupt ein zweiter Button möglich ist, und von einigen Spielen unterstützt wird. Ok, technisch möglich schon, aber jetzt ein Quasi-Standard existiert.


    Es macht richtig Spaß, mit beiden Buttons zu spielen und ich hoffe doch sehr, dass durch die Verbreitung des ArcadeRs, mehr Spiele dieses Feature in Zukunft nutzen werden.