PadBox für Arcade Sticks

    Das Hardedge Forum wurde am Abend des 30.01.2023 eingestellt und in ein Archiv umgewandelt. Bitte nicht versuchen sich zu registrieren oder einzuloggen.

    • PadBox für Arcade Sticks

      Moinchen,

      habe nun meine PadBox für Arcade Sticks fertig gestellt.





      Die PadBox ist aus Plexi und hat einen eingebauten Funkempfänger. Darüber werden alle Signale des / eines ArcadeStick empfangen, der über einen entsprechenden Sender verfügt.



      Empfänger unten rechts.

      Der Empfänger leitet die Signale an die UPCB Platine weiter, die bis auf xbox360 und Dreamcast alle (!) Konsolenprotokolle unterstützt. Xbox360 und Dreamcast werden hier huckepack genommen und unterstützt.



      Hier sieht man die Dreamcast und xbox360 Controller auf Plexi. Wenn diese Konsolen angeschlossen werden, dann leuchtet das Plexi in Dreamcastblau oder in Xboxgrün.



      Wenn am Arcade Stick die Taste A gedrückt wird, dann leuchtet das PadPlexi rot (jeweils bei dreamcast und xbox360 Plexi). Start leuchet blau.



      Der gezeigte Arcadestick verfügt einen Funksender. Es gibt also keinerlei Kabellage zwischen Stick und Padbox.



      Schlecht zu sehen im Foto sind der Dreamcast VMU Anschluß, der nach aussen gelegt wurde. Der ist im Bild oben besser zu sehen Die Konsolen werden über extra Kabel über ein DSUB 15 Pin Anschluß verbunden. Der Deckel gefällt mir noch nicht und wird noch mal neu gemacht.

      Grüße,

      Bencao
    • :) Vielen Dank!

      Den Preis muss ich kurz selber überschlagen

      ca. 40€ für das UPCP (aus den Staaten von Toodles) (die Platine in der Mitte)
      Padhack Dreamcast 0€
      Padhack xbox360 25€
      RF Empfänger 25€ (Das kleine Teil in der Mitte mit dem roten Antennenkabel)
      Leds, Gewebeschlauch, Kabel, Konnektoren 5€
      Plexi, Winkel, Extra Schrauben 10€
      Entsprechende Kabel und Konnektoren für PS2, Dreamcast, USB für xbox, xbox360, PS3 5€
      Kiste Bier für die Neukolorierung von Cammy

      ca. 110€ Materialkosten sind dann doch geworden.
      Ende Dezember hatte ich das UPCB hier und Mitte/Ende Januar bin ich ca. angefangen zu bauen. Also knapp 2 Monate habe ich für den Aufbau benötigt. :) Jo, hat echt Spass gemacht. :)

      Baupläne habe ich keine, das war alles ziemlich freestyle. Ich habe erst alles zusammengefrickelt und geschaut, ob es funktioniert. Und dann alles wieder auseinander und wieder schick gemacht mit Gewebeschlauch. Das Plexi war ziemlich dankbar zu bearbeiten. Die Pad-Plexischeiben haben die Maße 100mm x 160mm. Wenn man von aussen reinguckt, sind die Logos spiegelverkehrt, aber nun, das kann dann schon mal passieren ;)

      Ich mess die Box nochmal aus.
    • Ja, Lag ist so eine Geschichte für sich. Mein Funkmodul hat eine Verzögerung im schlimmsten Fall 8ms. Der schlimmste Fall tritt ein, wenn alle 8ms und schneller Events aufeinanderfolgend gesendet werden.

      Die Spiele arbeiten mit 60 Bilder/Frames in der Sekunde. Das sind pro Bild eine Anzeigedauer von 16 ms (eigentlich 16,6). Wenn ich also in der 16. ms eines Frames einen Event auslöse, kommt der in der 8. ms des nächsten Frames an. Hinzu kommt die Verzögerungszeit des PCB. Wenn diese kleiner als 8ms ist, dann ist der Event innerhalb des gleichen Event angekommen. Ich schätze mal pessimistisch und verdopple meine Rechung. Damit habe ich eine Verzögerung von unter 2 Frames.

      Die Frage, welche Verzögerungszeit ein kabgelgebundener Controller stellt sich hiermit gar nicht. Eine Verzögerung von 2 Frames ist meiner Meinung vernachlässigbar. Aber da hat der Toodles im SRK Forum sich mal die Mühe gemacht und ein paar Messungen durchgeführt: Toodles Analyse Den Aufbau raff ich nicht ganz, aber das funktioniert wohl so:

      1. Er drückt auf den Taster auf seinem Lochraster Aufbau.


      2. Das Signal wird gleichzeitig an ein PS3 Wirless Pad und an sein selbstentwickeltes Cuthulu Board gesendet.

      3. Die Taste A wird auf beiden Pads gleichzeitg ausgelöst
      4. Er hat eine SW namens LagTestor installiert, die in der ersten Zahl den Frame des gedrückten Zustands anzeigt und in der zweiten Zahl den Frame, wann der Taster als losgelassen registriert wird.


      Seinen Stress-Test habe ich auch nicht ganz verstanden, aber er löst wohl alle 10 ms einen Event aus. Das ist in meinem Fall zu wenig, da sich in meinem Funkmodul die Latenz dadurch verbessert also noch schneller übertragen wird. Okay, aber wieder den schlimmsten Fall: Er hat im Vergleich zu kabellosen PS3 Pad und Cuthulu eine Differenz von max 1 Frame festgestellt. Das ist auch ein Ergebnis, das meine These oben bestätigt und aussagt, dass Verzögerungen in kabellosen Pads nicht bemerkbar sein sollten.

      Schade ist, dass er den Test nicht mit einem Referenzmodell wie einem originalen Kabelcontroller durchgeführt hat. Der letzte Satz, dass die Entfernung bemerkbare Auswirkungen auf die Latenz hat ist auch nicht richtig. Die Latenz müsste bei größerer Entfernung im Femto-Sekunden Bereich steigen.

      Mein Funk-Modul sendet wie die kabellosen PS3 und xbox360 Controller auch 2,4 Ghz Bereich.

      Edit: Nicht auf 2,4 Ghz, sondern auch im ISM Band, aber auf 433 Mhz!

      Nichtsdestotrotz zählt natürlich der subjektive Spieleindruck.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von bencao74 ()

    • Viele Links lassen dir nicht mehr Zeit als 1-2 Frames. Für Fighting Games sind zwei Frames Lag eine Katastrophe. 1 Frame ist schon bitter. Deine Box ist sehr schön geworden und ist sicherlich sehr praktisch, aber im eigenen Interesse würde ich sie nicht für Bemus verwenden.
      "The real challenge is to stay in range of the long-term pespective when you are under fire and hurting in the middle of the war. This is at the core of the art of learning"
      -- Josh Waitzkin

      GG AC Engine FAQ
    • Ich glaube, die Rechnung ist nicht ganz angekommen:

      Verzögerung Box = Verzögerung Funkempfänger + Verzögerung KabelController

      Worst Case: 0,5 Frame + Verzögerung KabelController

      Das heisst ich habe eine zusätzliche Verzögerung von einem halben Frame. Die Rechung in der letzten Post ist inklusive Kabelcontroller. 1,5 Frames habe ich als Verzögerung für den Kabelcontroller gerechnet.

      Aber wie gesagt, ich müsste das Teil mal einem Bemu Profi in die Hand drücken.
    • wow, was fuer eine ausfuehrliche antwort! vielen dank!
      ich bin grad am ueberlegen wie man eine messung einfacher realisiren koennte.
      hast du schon mal an so eine art senor gedacht den man an den bilschirm klebt?
      das ausloesen den knopfdruhes ist ja recht einfach fesrzuhalten, man braeuchte
      jetzt nur noch ein 8-bit oldie spiel, am besten s/w, wegen dem sensor.

      mal sehen evtl faellt mir ja noch was besseres ein ...
    • Ja, dieses Lag Thema ist sehr interessant und kommt immer wieder auf den Tisch. Historisch gesehen hat man die kabellose Technik zu früh auf den Markt geworden und unausgereifte Produkte auf den Markt gebracht. Das mag das schlechte Image von kabellosen Controllern erklären. Wie auch immer, die Frage nach Latenz von kabellosen Controllern ist nicht nur für Bemu, sondern auch im FPS oder Shemup Bereich relevant. Dass Lags an anderen Stellen auch existieren, wie an HDTV LCDs oder beim Online Gaming ist an dieser Stelle erstmal uninteressant.

      Jedenfalls haben die im SRK ein Tool namens LagTestor für die PS3 genommen. PS3 habe ich leider keine, aber so ein Tool wäre natürlich auch für die xbox360 interessant. Leider habe ich mir das XNA Game Studio noch nicht angeschaut. Kennt das jemand? Man bräuchte Zugriff auf die interne Uhr im ms Bereich und auf den Controllerport, klar. Auf der anderen Seite bräuchte man eine kleine Schaltung, die einen Padhack ansteuert und Events mitloggt, speichert und ausgibt (usb, uart, speicher, sd card wie auch immer. Die erste Eventübertragung ist dann der Synchronizationzeitpunkt. Dann 1000 Events alle x ms feuern und gucken was ankommt. Das wäre mal spannend!
    • Ich habe diesen Thread ueberflogen, allerdings konnte ich auf die Schnelle nicht ganz folgen... ich werde mir den Thread wann anders nochmal genauer durchlesen, allerdings moechte ich 2 Sachen anmerken, die vielleicht zu denken geben:

      - Wieso sind Funkpads bezueglich der Latenz eigentlich so problematisch? Genau genommen handelt es sich ja bei dem Informationsmedium um elektromagnetische Wellen (also der Funk jetzt), welche ja Lichtgeschwindigkeit haben... Strom hingegen hat keine Lichtgeschwindigkeit...
      - Wie schnell ist eigentlich der Strom in den Controllern? Ich habe mal selbst nachgerechnet, bin mir aber nicht sicher ob mein Ergebnis richtig ist (hab alles aus dem Unterricht schon wieder vergessen -_-)...
      Mein Ergebnis ist folgendes:
      Spoiler anzeigen
      Angenommen es liegt eine Spannung von 5 Volt an und man geht von einem 3m langen Kabel aus, dann sollte das ganze nach meiner Rechnung etwa 4,5 Mikrosekunden dauern, womit es von den elektronischen Grundlagen her zu keinem spuerbaren Lag kommen sollte
    • @ghollow
      Ich kenne mich da auch nicht wirklich aus bei den Funktkontrollern. Aber ich könnte mir vorstellen dass es dort auch Protokolle geben muss. Die Übertragung selbst stellt dabei wohl nicht das Problem dar, sondern die jeweilige Umarbeitung. Es muss ja geschaut werden von wem die Daten kommen, ob alle Daten angekommen sind und ob diese auch fehlerfrei sind.

      Das andere Problem, warum kabelgebundene Kontroller genommen werden ist einfach die Gleichmäßigkeit. Selbst wenn das Kabel nun langsamer sein sollte, so ist das Signal konstanter. Bei wireless gibt es immer viele Faktoren die mitmischen. Auf einem Tunier/Treffen sind meist mehrere Konsolen und da kann es zu Problemen führen. Auch Zuhause schwankt die Funkverbindung:
      Man sitzt in einem anderen Abstand zum Empfänger, Funktelefon, Handy usw. usw.
      Bei Kabelkontrollern hat man sein Timing und die Combo sitzt, wenn das jetzt einen xy Lag hat ist egal, da man sich daran gewöhnt hat und diesen nicht merkt.
      Für all die nicht glauben dass Funkgeräte stören können.. ich musste es am eigenen Leib bei meiner 360 spüren. Mein Nachbar hat seit ca 1 Monat ein Funk IP Telefon und seit dem spinnt meine Konsole wenn es bei ihm klingelt.. das Laufwerk geht auf und zu oder die Konsole schaltet sich vom Standby ein. Zuerst dachte ich mein Kontroller hat ne Macke oder die Konsole sei defekt, bis ich vor einer Woche gemerkt hab dass dem sein Telefon klingelt wenn bei mir alles spinnt.

      Hab gerade noch das von bencao74 gelesen wegen den Verzögerungen bei TFT/Plasma Tvs. Klar spielen die eine Rolle, aber das ist wie beim Kabelkontroller. Man lernt das Spiel daran und bemerkt das nicht, aber sobald man dann bei einem Freund an einer schnellen Röhre oder so spielt werden Leute die in Framebereichen reagieren das sicherlich bemerkten. Nicht ohne Grund werden Shooter auf Röhren mit niedrigen Auflösungen und wahnwitzigen FPS gespielt. Aber an einer Comboeingabe selbst ändert sich bei einem langsameren Anzeigegerät ja nichts, nur die Aktionen erscheinen zeitlich später in gewohntem Ablauf an der Anzeige.. was bei wireless ja durch oben genannten Störfaktoren nicht immer gegeben ist.

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Laurent ()

    • Soooo, jetzt wirds ein wenig technischer:

      @ghollow
      - Wieso sind Funkpads bezueglich der Latenz eigentlich so problematisch? Genau genommen handelt es sich ja bei dem Informationsmedium um elektromagnetische Wellen (also der Funk jetzt), welche ja Lichtgeschwindigkeit haben... Strom hingegen hat keine Lichtgeschwindigkeit...
      - Wie schnell ist eigentlich der Strom in den Controllern? Ich habe mal selbst nachgerechnet, bin mir aber nicht sicher ob mein Ergebnis richtig ist (hab alles aus dem Unterricht schon wieder vergessen -_-)...


      Der Strom ist im Controller tatsächlich langsamer, als im Kupferkabel. Das liegt an der Anzahl der freien Ladungträger, also der Elektronen in unserem Fall (und der Löcher, aber das ist eine andere Geschichte). Die ist nämlich im Kupfer viel größer als im dotierten Silizium. Deshalb müssen sich die Ladungen für den gleichen Strom im Silizium schneller bewegen.
      Das ist zwar ein spannendes physikalisches Phänomen, interessiert aber in diesem Fall gar nicht. Es gibt hier nämlich einen kleinen Denkfehler. Der Strom ist tatsächlich nicht so schnell wie das Licht, wenn man sich die Geschwindigkeit der Elektronen im Leiter anguckt. Allerdings passiert die Impulsfortpflanzung nahezu in Lichtgeschwindigkeit. Das ist wie im Wasserschlauch. Hinten kommt sofort Wasser raus, wenn vorne den Hahn aufgedreht wird. Die Wassermoleküle brauchen aber trotzdem eine gewisse Zeit um durch den Schlauch zu wandern. Die Wassermolekülgeschwindigkeit ist also viel kleiner, als die Impulsgeschwindigkeit.
      Die Rechnung ist vielleicht richtig (hab' ich nicht überprüft) und das Ergebnis ist auch interessant. Aber wie gesagt, was in diesem Fall wichtig ist, ist die Geschwindigkeit des Impulses durch die Leitung, und die sollte vernachlässigbar klein sein.

      @Laurent
      Ich kenne mich da auch nicht wirklich aus bei den Funktkontrollern. Aber ich könnte mir vorstellen dass es dort auch Protokolle geben muss. Die Übertragung selbst stellt dabei wohl nicht das Problem dar, sondern die jeweilige Umarbeitung. Es muss ja geschaut werden von wem die Daten kommen, ob alle Daten angekommen sind und ob diese auch fehlerfrei sind.


      Stimmt, die größte Latenz kommt durch die Protokollstacks im Sende-Controller, RF-Sender, RF-Empfänger und im Empfänder-Controller zustande. Die eigentliche Übertragung ist schnell.

      Das andere Problem, warum kabelgebundene Kontroller genommen werden ist einfach die Gleichmäßigkeit. Selbst wenn das Kabel nun langsamer sein sollte, so ist das Signal konstanter.


      Was ist hier mit "konstanter" gemeint? Wichtig ist wohl das Timing der Abtastung der Kontakte vom Spiel-Controller. Die kann man Interrupt-gesteuert machen oder man kann die Signale in bestimmten Zeitintervallen auslesen. Die Größe des Zeitintervalls ist dann entscheidend und auch der Jitter, also die Gleichmäßigkeit der Intervalle. Diese Fragestellung gilt gleichermaßen für beide Controller, die Kabel-gebundenen und die drahtlosen.

      Die Übertragung ist natürlich unterschiedlich.

      Beim Kabel-gebundenen ist die von der Art der Schnittstelle abhängig. Bei den modernen Spiele-Controlllern ist das meistens eine bitserielle Übertragung, die auch mit einem mehr oder weniger aufwendigen Kommunikationsprotokoll durchgeführt wird. Die Übertragung funktioniert dann meistens Frame-basiert, es wird ein komplettes Datenpaket übertragen, bevor das nächste angefangen werden kann. Dann ist die Länge des Datenpaketes und der übertragungsgeschwindigkeit entscheidend und bestimmt letztlich auch über die sinnvolle Abtastrate der Kontakte. Bei einer SPI- oder I²C-Schnittstelle ist das Protokoll meist nicht so Aufwendig, bei USB schon mehr. Da ist die Frame-Rate bei min. 1 ms (USB 1.1) bzw. min. 125 µs (USB 2.0), kann aber je nach Implementierung auch größer sein. (Kann mir mal jemand eine "lsusb -v" Ausgabe von so einem USB-Controller schicken?) Dazu kommen dann natürlich auch noch die Zeiten für die Protokollbearbeitung beim Sender und beim Empfänger.

      Beim Funken ist das im Prinzip genau das gleiche, nur dass hier die Protokolle meist komplizierter und aufwendiger sind, die Frames also i.A. Länger. Dazu kommt, das die Datenrate potentiell kleiner ist, was die Frame-Intervalle weiter vergrößert.

      Wenn man es jetzt ganz genau nimmt, muss man sich auch noch angucken mit welchem Verfahren die Daten übertragen werden: Zeit-synchron oder -asynchron. Werden feste Zeitschlitze vergeben (USB, TDMA) oder können Daten immer gesendet werden, wenn sie anfallen (SPI, CSMA). Im zweiten Fall braucht man nach dem Schließen eines Kontakts auf dem Spiele-Controller nicht zu warten bis der aktuelle Frame übertragen wurde, sondern kann sofort los senden. Wenn kurz vorher gerade ein Datenpaket abgesetzt wurde, kann es natürlich immer noch sein, dass gewartet werden muss, diese Verzögerung bleibt. Wenn das letzte Datenpaket aber schon übertragen wurde, kann jederzeit gesendet werden. Das gilt jetzt wieder sowohl für drahtlos, als auch für draht-gebunden.

      Bei wireless gibt es immer viele Faktoren die mitmischen. Auf einem Tunier/Treffen sind meist mehrere Konsolen und da kann es zu Problemen führen. Auch Zuhause schwankt die Funkverbindung:
      Man sitzt in einem anderen Abstand zum Empfänger, Funktelefon, Handy usw. usw.


      Das stimmt, ein Unterschied ist natürlich die Übertragungssicherheit, die bei der drahtlosen Übertragung natürlich niedriger ist. Das liegt daran, das das Übertragungsmedium dem Controller nicht exklusiv zur Verfügung steht und weil die Fehlerrate bei der Übertragung größer ist. Auf 2,4 GHz senden ja z.B. auch WLAN und Bluetooth, da kann es zu Interferenzen kommen. Und auf den anderen ISM-Bändern bei 433 oder 868 MHz senden nicht nur die Controller. Genau das ist unter anderem auch ein Grund für die aufwendigeren Protokolle.

      Hab gerade noch das von bencao74 gelesen wegen den Verzögerungen bei TFT/Plasma Tvs. Klar spielen die eine Rolle, aber das ist wie beim Kabelkontroller. Man lernt das Spiel daran und bemerkt das nicht, aber sobald man dann bei einem Freund an einer schnellen Röhre oder so spielt werden Leute die in Framebereichen reagieren das sicherlich bemerkten. Nicht ohne Grund werden Shooter auf Röhren mit niedrigen Auflösungen und wahnwitzigen FPS gespielt. Aber an einer Comboeingabe selbst ändert sich bei einem langsameren Anzeigegerät ja nichts, nur die Aktionen erscheinen zeitlich später in gewohntem Ablauf an der Anzeige.. was bei wireless ja durch oben genannten Störfaktoren nicht immer gegeben ist.


      Das ist auch sehr interessant. Ich hatte mich auch schon über Reaktionsvermögen im Frame-Bereich gewundert. Rein wahrnehmungsphysiologisch könnte man die Nervenzellen bis auf die Netzhaut trainieren.;)
    • Wow super Beitrag! Danke Bencao74.

      >Was ist hier mit "konstanter" gemeint?

      Wie soll ich es erklären.. also ich gehe jetzt mal von einer langen Combofolge, als Beispiel, aus. Diese trainiert man sich ja an und spielt diese ohne Nachzudenken ab.

      Bei einem kabel gebundenem Stick gehe ich jetzt mal von fast fehlerfreien Übertragungen aus da das abgeschirmte Kabel unempfänglicher für Störsignale ist.
      Also braucht die Combo zur Übertragung und Verarbeitung fast immer gleich, Schwankungen sind so gering dass sie die Combo nicht verhunzen..
      Also hat man sich diesen Rhythmus zur Eingabe verinnerlicht und es gehen z.B. 99/100 Combos von der Hand.
      Das meinte ich mit "konstant".

      Bei einem kabel losen Stick kann es leicht mehr Störsignale geben. Wenn diese Störsignale eine längere Verarbeitung verursachen kann dies entscheidend für die Eingabe sein und verpfuscht
      die zeitlich brenzlige Eingabe.
      Also ist das Zeitfenster in dem die Eingabesignale fertig verarbeitet werden "variabel/variabler".
      Wenn nun der kabel Stick Spieler seine gewohnte Abfolge bei einem kabel losen Stick abtippt, kann es sein dass nur noch 88/100 Combofolgen so ankommen wie gewollt.
      Es kann aber auch sein dass ein Spieler der Zuhause bessere Bedingungen für seinen kabel losen Stick hat auch diese 99/100 Combofolgen schafft. Geht dieser nun aber auf ein Tunier/Treffen, wo die Bedingungen erheblich schlechter sind, kann es ganz anders aussehen und es funktionieren auf einmal nur noch 50/100 Combofolgen. Und das ist das Problem wovor einige Spieler angst haben.

      Sicherlich haben die aktuellen 360&Ps3 "Funkpads" optimierte Protokolle und die Verarbeitung ist wahnsinnig schnell. Der schlechte Ruf kommt von den "alten" Zeiten, als irgendwelche Fremdfirmen kabel lose Übertragungen für Konsolen optional angeboten haben. Diese waren schlicht mies.
      Hinzu kommt die unkomplizierte Benutzung bei vielen Spielern mit ihren eigenen Sticks -> Kabel rein und los gehts. Bei wireless muss man die Konsole auf suchen stellen und den Kontroller ebenfalls.
      Wenn dann mehrere Konsolen der gleichen Bauart vor Ort sind meldet sich der Stick bei der vorigen Konsole an usw. usw. bei Tunierspielen wo nichts schief laufen sollte ist das nicht gern gesehen.
    • Benutzer online 1

      1 Besucher