Beiträge von scorp

    Das Projekt ist total super! Ich muss unbedingt so einen Adapter haben. Hast Du noch zufällig einen Bausatz über? Oder zumindest eine Platine?

    Ja, ich werde später 2-3 Bausätze verkaufen. Einer geht natürlich an creopard Das teuerste an dem ganzen ist der Arduino Pro Micro. Ich habe 3 Stück hier, einen würde ich natürlich gerne behalten und zwei kann ich abgeben. Wenn ihr die Arduinos selbst besorgt, gibt es die Basis für sehr wenig Geld bei mir. Bitte sagt Bescheid, wer was braucht damit ich sortieren kann. Das ist erst Mal kein Angebot, sondern ein Versuch zu schauen, ob ich vielleicht was nachbestellen muss. So in etwa kostet ein Arduino Pro Micro 8-10€ und der Rest so um die 3-4€, aber ich muss noch genau schauen, was mich der ganze Spaß mit Versand gekostet hat.

    Ja, ein Youtube Video kommt auch, sogar 2. Im ersten schneide ich es nur ganz kurz an und im zweiten gehe ich dann auf Details ein. Zur Zeit muss man den Adapter abstöpseln, da die Initialisierung am Anfang ein Mal gemacht wird und, je nach angeschlossenem Joystick meldet sich das USB HID anders mit unterschiedlichen Anzahl von Tasten, Achsen etc. Daher macht es auch wenig Sinn es im laufendem Betrieb zu wechseln. Ein Sidwinder GP ist nicht 3D Pro und muss sich entsprechend beim PC neu anmelden. In Zukunft könnte man eine Reset Taste machen oder sowas, um den Tausch ohne USB Umstecken zu ermöglichen, aber ich denke es ist low Prio, weil die meisten sowieso ein USB vorne am PC haben. Und wenn ein Joystick drin steckt, muss man es nicht jedes Mal heraus ziehen. Der Rechner wird den beim Hochfahren automatisch erkennen.

    Hallo Freunde der gepflegten Masturbation, es wird Zeit eure alten Stängel herauszuholen um mal wieder damit zu spielen! Und ich meine natürlich auch die Damen unter uns, denn heute geht es selbstverständlich um unsere Joysticks!


    Ich habe mir irgendwann vor längerer Zeit einen Gravis Analog Pro Joystick gekauft, weil ich damit ein Paar alte Spiele auf meinen Retro-Kisten zocken wollte. Natürlich ging es gut mit ganz alten Spielen, aber irgendwann habe ich mir bei GOG Wing Commander Prophecy geholt. Ich war ein großer Fan der Reihe damals und wollte es wieder Mal spielen, doch wie so viele hier kennen gilt meine Retro Sucht überwiegend den 486er und älteren Maschinen. Das heißt ich musste mir für Prophecy etwas überlegen. Kein Ding, das Spiel läuft mit OpenGL auf modernen Rechnern einfach super und sieht genau so, wie damals mit 3Dfx aus. Nur da gab es ein Problem, ich hatte keinen USB Joystick, nur so ein USB Gamepad, aber das ist einfach nicht das Richtige für so ein Spiel. Nun da kam ich auf die Idee einen Adapter basierend auf einem Arduino für den bereits erwähnten Gravis Analog Pro zu basteln. Die Erfahrung mit dem PS/2 Adapter hatte ich ja schon. Gesagt - getan und als der erste Prototyp einigermaßen lief, habe ich es creopard erzählt. Er war von der Idee begeistert und hat mir vorgeschlagen das ganze auszubauen und es der Öffentlichkeit zur Verfügung zu stellen. Ich fand das Thema sowieso spannend, hatte aber keine weiteren Joysticks, als den einfachen Analog Pro. Daraufhin hat mir creopard eine ganze Sammlung von Joysticks gespendet unter anderem ein GamePad und ein 3D Pro der glorreichen Microsoft Sidewinder Reihe. Spätestens dann war ich über beide Ohren drin.



    Die Implementierung der generische Analog Joysticks mit 2-4 Buttons und 2-4 Achsen war kein Problem. Da kam mir der Sidewinder 3D Pro sehr gelegen, da der Joystick in Kompatibilitätsmodus einen CH FlightStick und einen ThrustMaster emulieren kann. So wurde die Unterstützung dieser Modelle auch schnell implementiert.



    Als es dann dazu kam die digitalen Sidwinder Protokolle umzusetzen, kam es zu richtigen Herausforderungen. Es gibt im Netz mehrere Ansätze für die Sidewinder auf dem Arduino, aber die alle sind ziemlich so la la. Auf jeden Fall berichten alle von großen Schwierigkeiten mit Performance. Denn Sidewinder Joysticks schicken die Daten mit einem Clock-Puls von 5us. Viel zu schnell für Standard Arduino Funktionen zum lesen von Signalen. Nun ja, ich habe mich dann umgeschaut und letztendlich entsprach mir die Implementierung des Sidewinder Tribers im Linux Kernel am ehesten. Mit dem Code als Vorlage und entsprechendem Patent US5628686A gerüstet habe ich mich auf die Arbeit gestürzt. Um Performance Probleme zu lösen greifen sehr viele auf Assembler und schreckliche C-Macros zurück, was in einem nicht gerade pflegeleichtem Code ausartet. Sowas kann ich nicht verantworten :) Also wieder viel Dokumentation und Arduino Code gelesen und habe einige sehr kurze und einfach zu benutzende Klassen in purem C++ geschrieben als Ersatz für das übliche digitalRead(...) Gerümpel. Das Resultat läuft nun doppelt so schnell und reicht vollkommen um um die Daten vom Sidewinder zu verarbeiten. Der Rest war dann Fleißarbeit, es ging darum das besagte Patent zu verstehen und das Protokoll umzusetzen. Der Code sollte einfach zu verstehen sein und ist relativ gut dokumentiert, daher, falls jemand sich für Details interessiert, schaut es euch auf der Projektseite an. Auch, wenn ich vom Linux Code inspiriert wurde, ist meine Implementierung doch komplett neu.



    Prinzipiell hat mein Adapter je einen Treiber für jede bisher unterstützte Art von Joysticks. Den richtigen Treiber kann man dann per Switch wählen, den Joystick in den Adapter stecken und den Adapter in den USB Port. Der Rechner sollte dann den Joystick automatisch erkennen und für alle Spiele, die neuen, die alten, DosBox, etc. verfügbar machen. Ich möchte mich nicht zu sehr wiederholen, daher schaut bitte auf der Projektseite, welche Features und Joysticks unterstützt werden.


    Projekt Seite:

    https://github.com/necroware/gameport-adapter

    Vom Anschluß her hätte ich gesagt HPIB

    Standard für alte HP Geräte und auch vor allem Messgeräte

    Danke Dir! Also sind im Prinzip drei der Karten mehr oder weniger das selbe. Und eine ist ein A/D D/A wandler, wobei man vermutlich mit den anderen Karten das auch machen könnte. Also prinzipiell alles das selbe. Wie gesagt, da sind ICs drauf, die ich gebrauchen könnte, falls niemand die will....

    Moin Leute. Ich habe heute ein Paar Sachen bekommen und da waren folgende mir nicht bekannte Karten dabei. Ich habe etwas recherchiert und herausgefunden, dass es sich wohl um D/A und A/D Wandler und irgendwelche Programmierbaren I/O Controller handelt.

    P3312883.JPG P3312885.JPG P3312884.JPG P3312887.JPG  P3312886.JPG


    Mir ist vor allem nicht klar, was die letzte Karte für ein Tier ist. Kennt das jemand? Die hat mehre ICs, die ich gut für meine Basteleien gebrauchen könnte, ich möchte aber nichts zerstören, was jemand noch ganz gebrauchen könnte. Also, falls euch eine der Karten interessiert, oder Ihr mir auch etwas darüber erzählen könnt, bitte aufschreien. Sonst geht das ganze in meine Entlöt- und Bastelkiste....

    Nicht direkt gebastelt sondern programmiert. Aber ich habe die Tage die letzten mir bekannten Probleme beseitigt und ein Projekt nun fertig gestellt über welches sich wahrscheinlich creopard sehr freuen wird. Gerade schreibe ich noch Dokumentation und "räume" hier und da ein wenig auf, was mir so auffällt, und ich denke, dass ich es morgen hier offiziell ankündigen werde :D

    Absolut richtig. In vielen Fällen hilft es auch, man sollte nur nicht erwarten, dass es überall richtig geht. Die Codes sind oft falsch und man sollte immer hinterfragen, ob das stimmen kann, was der Analyzer anzeigt. Auf irgendeine Weise hilft es aber auf jeden Fall und wenn es darum geht zu sehen, ob das Board überhaupt lebt. Ich verwende die Karten seit Jahren.

    Die Kabel selbst sind nicht Mal das fragwürdigste, denke ich. Es ist die dicke grüne Schicht, die nicht richtig entfernt wurde, die mich stört. ISA Port sieht katastrophal aus, ich würde da keine Karte rein stecken. Auch würde ich das Board nicht einschalten so lange da noch so viel Korrosion drauf ist. Durch die Ströme beschleunigt man die Chemische Reaktion und den Zerfall und ich behaupte Mal, dass das Board so nicht lange laufen wird....

    Wie funktionieren diese Karten?

    https://www.ebay.de/itm/143935368630

    Yah, Karte einstecken und Codes ablesen - das ist klar. Aber was wird denn während des boot über den PCI/ISA Busgeschickt?

    Vielleicht hast Du schon in meinen Videos gesehen, dass ich die Karte oft verwende. Nun, wenn der Rechner hochfährt liegen am Adress- und Datenbus diverse Signale. Die Karte zeichnet diese auf und versucht das ganze als Codes darzustellen. Diese Codes stehen in einem Büchlein, welches der Karte beiliegt, gelistet. Das ganze ist nach Award, AMI etc. aufgeteilt und man kann ggf. nachschauen, in welchem Schritt der Initialisierung das Mainboard sich gerade befindet. So viel zu Theorie, die Praxis ist leider weniger einfach und die Codes sind nicht sehr verlässlich. Für mich sind diese immer mögliche Hinweise und keine Tatsachen, aber was mir immer hilft ist zu sehen, ob da etwas überhaupt lebt. Manchmal gibt ein Board kein Lebenszeichen von sich, aber wenn man die Zahlen laufen sieht, ist es ein Zeichen dafür, dass das Mainboard prinzipiell wach ist. Daher hilft mir diese Karte schon sehr.


    Achtung! Es gibt viele Fakes dieser Karte. Die Karte, die im oberen Link zu sehen ist, funktioniert auch, aber das Problem ist, dass man meistens nicht die abgebildete Karte bekommt. Ich habe so eine Karte lange verwendet und aufgrund eigener Dummheit Mal gekillt. Daraufhin habe ich 10 Mal bei Ebay versucht genau so eine zu erwerben, aber immer nicht wirklich funktionierende Fakes bekommen. Da war zwar ein ISA Anschluss dran, aber die einzelnen Pins waren nicht verbunden. PCI hat zum Teil funktioniert, aber auch viele Mainboards aufgehängt. Nach sehr langer Suche habe ich dann endlich über Aliexpress die richtige Karte wieder bekommen. Die bei Ebay zu kaufen, habe ich einfach aufgegeben.


    Es kann sein, dass es echte Karten gibt, die so aussehen, wie die Fakes, die ich bekommen habe, aber ich habe die nie gesehen. Also, nach meiner Erfahrung links ist echt, rechts ist ein Fake:


    6f41c2fe5e9c3a20.jpg 61yFgLw3PzL._AC_SY450_.jpg