Willkommen auf Planet-Liebe

diskutiere über Liebe, Sex und Leidenschaft und werde Teil einer spannenden Community! :)

jetzt registrieren

Sidewinder Gamepad an SNES

Dieses Thema im Forum "Musik, Filme, Computer und andere Medien" wurde erstellt von Florian_PL, 24 März 2005.

  1. Florian_PL
    Florian_PL (33)
    Planet-Liebe-Team
    Administrator
    504
    228
    1.563
    nicht angegeben
    Hejo,

    ich weiß die Idee klingt ein wenig verrückt, ich habe auch schon in anderen Boards gefragt, aber bis jetzt noch keine Antwort erhalten und vielleicht könnt ihr mir ja helfen! :smile:

    Also, eigentlich steht ja schon alles in der Überschrift. Mit nem Kumpel zocke ich immer Kick Off 3 auf dem Super Nintendo. Jedoch sind diese scheiß Gamepads einfach total unhandlich. Dazu kommt noch, dass wir schon ein paar davon durchgebrochen haben, aber fragt jetzt bitte nicht wieso (wer das game kennt, der weiß wieso *g*). :grin:
    Nun kam uns die Idee, wie geil es doch wäre, das Game mit dem Sidewinder Gamepad von Microsoft zu zocken. Was man halt bräuchte, wäre einen Adapter bzw. ne Schaltung, um die Signale umzuwandeln.
    Habt ihr vielleicht Ideen, wie wir das ganze angehen sollten. Folgende Informationen habe ich bisher im Netz finden können:

    Erklärung PC Gameport
    Erklärung SNES Gameport
    weitere Infos zum SNES Pad

    Hier und hier hab ich ne Seite gefunden wo man einen Adapter gebastelt hat um ein SNES Gamepad an den PC anzuschließen. Kann man so einen Adapter nicht einfach verkehrt herum aufbauen um dann halt das Sidewinder an den SNES anzuschließen?
    Vielleicht bekomm ich ja von euch die ein oder andere Idee, wie man das ganze realisieren könnte! :smile: THX

    Stay tuned

    Crazy-Achmet

    PS: Ich weiß, dass das Sidewinder mehr Tasten hat, es reicht aber schon, wenn nur die Standardtasten von nem SNES belegt würden (also hoch, runter, links, rechts, select, start, a, b, x, y, links und rechts)

    PPS: Nein, das Game über ZSNES oder andere Emulatoren auf PC zu zocken ist nicht das gleiche, alles schon ausprobiert! :zwinker:
     
    #1
    Florian_PL, 24 März 2005
  2. Trogdor
    Trogdor (40)
    Verbringt hier viel Zeit
    472
    101
    0
    nicht angegeben
    Hallo Achmet,
    ich habe da jetzt nur einen kurzen Blick drauf geworfen, aber mein erster Eindruck wäre, dass das aufwendiger wird.
    Beim PC Gameport entpricht eine gedrückte Taste ja einfach einer Datenleitung. Wenn ich die Beschreibung vom SNES verstehe läuft die Kommunikation da über einzelen Leitung seriell, getaktet von der CPU. Man braucht also auf jeden Fall ICs als Latches und zum Multiplexen der Eingangssignale auf die Datenleitung.
    Edit: Bei genauererem Nachdenken: Man braucht ein Schieberegister mit paraller Eingabe und serieller Ausgabe.
    Von der Taktfrequenz her ist das nichts, was man nicht selbst zusammenlöten könnte, man muss sich aber eben selbst eine digitale Schaltung aufbauen, die diese Umsetzung der Eingangssignale macht.

    Warum der umgekehrte Weg so einfach geht: Zusätzlich zum Hardewareaufbau haben die noch den Treiber in Software, der die Umsetzung der Daten macht, diese Möglichkiet hast Du aber beim SNES nicht.
     
    #2
    Trogdor, 25 März 2005
  3. Florian_PL
    Florian_PL (33)
    Planet-Liebe-Team Themenstarter
    Administrator
    504
    228
    1.563
    nicht angegeben
    Hmm,

    shit, du machst mir nicht grade Mut, dass ich das jemals realisieren kann! :grin:

    Wie würde denn so eine digitale Schaltung aussehen? Ist die "sehr" kompliziert?

    Stay tuned

    Crazy-Achmet
     
    #3
    Florian_PL, 25 März 2005
  4. BlackSun
    BlackSun (32)
    Verbringt hier viel Zeit
    102
    101
    0
    Single
    Also ich hab auchmal die "SNES-an-PC"-Schaltung gesehen irgendwann, weiß nich mehr, Thema PC-Modding usw.
    Aber egal, folgendes, ich würd da so drangehen:


    Schließ dein SNES-Controlpad ganz normal ans SNES an. Schraubs auf. Hinter jedem der Knöfpe sitzen ja "Taster", die bei Kontakt erstmal nix anderes machen als die Stromverbindung herzustellen.
    Ich würd jetzt versuchen, von diesen Tastern her alles ins Sidewinder-Pad weiterleiten. Und dessen Taster quasi "abgreifen".

    Dabei wird evtl ein Sidewinderpad bei draugehen oder so, je nachdem. Also das würd ich auch aufschrauben, und dort an die Kontakt-Knöpfe die Weiterleitungen vom SNES dranlöten oder klemmen.

    Deine Gesamtaufbau sähe dann so aus:

    Sidewinder-Pad--->SNES-Pad--->SNES.

    Das Sidewinder wäre dabei "tot", also stromlos. Auch der Sidewinder-Anschluss (USB oder Gameport oder whatever) würde dabei nicht gebraucht. Du hättest deine eigenen Kabel rauskommen, die gewissermaßen das SNES-Pad fernsteuern. Das kann aber ganz normal vor der Konsole dumm rumliegen.


    Klar soweit?
    Wäre eine simplere Methode als das ganze Signal-Rumschaufeln-Interpretieren-Auswerten-Generieren-Zeugs...


    Es SEI denn, man programmiert sich nen Sidewinder-Treiber neu. Bzw einfach irgendeine Gameport-Ansteuerung. Der die SNES-Signale generiert.
    Ist ja per Software bestimmt 100mal einfacher als mit ICs und Schaltungen und dem Zeugs.
    Man könnte sich per DirectX / DirectInput ganz einfach den aktuellen Sidewinder-Tasten-Status holen, und müsste "nur" dazu die passenden Signale zum SNES senden...
    (Es gibt ne Menge SNES Emulatoren im Netz, die kann man mit Sidewinder spielen. Vielleicht kannst du daraus deren "Konverter" zocken?
    Ansonsten vielleicht ne Alternative? Ein Name ist z.B. "ZNES".
    )

    Der Aufbau wäre dann (wie oben beschrieben, nicht das Emulator-Zeugs):


    SidewinderPad (per USB oder so) --------> PC ---> Gameport als Ausgang ----> SNES.

    Bzw, man könnte auch den Parallel-Port als Ausgang nehmen. Oder Seriell. Geht ja nur darum, dass man genug Datenleitungen richtig ansteuert.

    Aber sehr komplexe Scheiße is das bestimmt ;-)
     
    #4
    BlackSun, 25 März 2005
  5. Trogdor
    Trogdor (40)
    Verbringt hier viel Zeit
    472
    101
    0
    nicht angegeben
    Also so besonders viel praktische Erfahrung habe ich da nicht, daher ist das jetzt mit Vorsicht zu geniesen. Es gibt fertige Schieberegister ICs mit 4 Bit, 4 davon hintereinander geschaltet, dürften für das Schieberegister reichen. Eventuell brauchst Du noch ein bisschen Logik als Enable Signal und Inverter, so genau habe ich es mir nicht angesehen, aber das wären maximal noch 3 oder 4 zusätzliche ICs, also alles in allem sollte sich das mit höchstens 8 ICs lösen lassen, die irgendwie auf eine Platine gelötet werden müssen. Ich denke ein Elektronikbastler hat das in einem Nachmittag fertig, aber für jemand ohne Erfahrung könnte das schon zu aufwendig sein, auch was Fehlersuche angeht.
    Ich nehme jetzt mal an, dass sowohl Gameport als auch SNES mit TTL-Pegeln arbeiten.

    Bestimmt nicht. Wenn ich die Beschreibung richtig sehe geht es wirklich nur darum ein 16-Bit-Schieberegister mit parallelen Eingängen und einem seriellen Ausganz umzusetzen. Das kann nicht so aufwendig sein.
     
    #5
    Trogdor, 25 März 2005
  6. DrBingo
    DrBingo (33)
    Verbringt hier viel Zeit
    691
    101
    0
    nicht angegeben
    #6
    DrBingo, 26 März 2005
  7. Trogdor
    Trogdor (40)
    Verbringt hier viel Zeit
    472
    101
    0
    nicht angegeben
    Excellent. Die Seite hat einen genauen Schaltplan, was zu tun ist.
     
    #7
    Trogdor, 26 März 2005
  8. DrBingo
    DrBingo (33)
    Verbringt hier viel Zeit
    691
    101
    0
    nicht angegeben
    kriegst du sowas etwa hin?
     
    #8
    DrBingo, 26 März 2005
  9. Florian_PL
    Florian_PL (33)
    Planet-Liebe-Team Themenstarter
    Administrator
    504
    228
    1.563
    nicht angegeben
    Also so 100%ig bin ich da noch nicht durchgestiegen. Könntest du vielleicht noch ein paar Worte dazu schreiben (bzw. erklären :grin:). Ansonsten sieht das ja wirklich schonmal sehr gut aus, wenn ich das richtig verstanden habe, ist es sogar genau das, was ich gesucht habe! :smile:

    Stay tuned

    Crazy-Achmet
     
    #9
    Florian_PL, 26 März 2005
  10. Trogdor
    Trogdor (40)
    Verbringt hier viel Zeit
    472
    101
    0
    nicht angegeben
    Ok, von mir aus, ist ja Ostern. Also hol' ich mal etwas weiter aus:

    Was die Schaltung machen muss, ist in Deinem 3. Link sehr gut beschrieben. Der SNES-Controller hat 3 Leitungen für die eigentliche Datenübertragung, nämlich Data Clock, Data Latch und Serial Data, die ersten beiden gehen vom SNES zum Gamepad, die letzte in Rcihtung SNES.

    Mit einer positiven Flanke von Data Latch weist das SNES den Controller auf dem Pad an, den Zustand aller Tasten in einem Register zu speichern. Das Register ist 16 Bit breit, kann also 16 verschiedene Buttons oder Pad-Stellungen speichern, es sind davon allerdings nur 12 belegt, das reicht aber allemal für die 8 Leitungen vom Gameport (4 für x/y, 5 für die Buttons).

    Sind die Daten gespeichert, kommt die Clock-Leitungs ins Spiel. Die ist normal immer High. Bei einer fallenden Flanke (also High nach Low) übernimmt das SNES den Wert der Serial-Data Leitung, als erstes wäre das der Zustand der B-Taste. Wird Clock das nächste mal High, muss es den Inhalt des Registers so verändern, das dann der Wert de Y-Taste an Serial Data liegt und von dort bei der nächsten fallenden Flanke ins SNES übernommen werden kann. Das ganze wird dann mit allen 16 Bits so gemacht, es handelt sich also jeweils um eine Schiebe-Operation um 1 Bit.

    Die komplette Funktion der zu bauenden Schaltung besteht also aus einem 16 Bit Schieberegister, das bei einer positiven Flanke von Data Latch die Werte von 16 Eingangsleitungen parallel in seinen Speicher übernimmt und dann bei jeder positiven Flanke von Data Clock an seinem Ausgang Serial Data rausschiebt, damit die Werte von dort ins SNES übernommen werden können.

    Es geht also darum ein solches Schieberegister in eine Schaltung umzusetzen. Und da es zuviel Arbeit ist, das ganze aus Einzeltransistoren zusammenzubauen, nimmt man am Besten fertige Integrierte Schaltkreise (ICs), aus denen kann man das dann zusammensetzen. Ein fertiges 16 Bit Register gibt es vielleicht nicht, man kann aber 4 4-Bit Register zu einem 16-Bit Register zusammenschalten, wäre mein Vorschlag gewesen. Der Schlatplan zeigt aber, dass es auch fertige 8-Bit Register gibt, das ist um so besser, da braucht man nur 2 davon. Das sind dann die beiden Rechtecke vom Typ 74LS165.

    Die 2 Gruppen mit 8 Leitungen auf der linken Seite kommen von den Tasten des Pads und gehen in die parallelen Eingänge A-H der ICs. Dann siehst du wie der serielle Ausgang OH des unteren ICs mit dem seriellen Eingang SER des oberen ICs verbunden ist, damit sind die beiden Register zusammengekoppelt, was aus dem unteren Register rausgeschoben wird, wird in das obere reingeschoben. Und das was oben bei OH rausgeschoben wird, geht als Serial Data (Pin 10) zum SNES. Und beim unteren IC wird zum seriellen Eingang ein konstantes Low-signal (das Erdunsg-Symbol) reingeschoben, denn in Deiner Beschreibung steht, dass am Ende der 16 Pulse der Ausgang auf Low bleibt.

    Was noch zu Erklären wäre, wäre das Dreieck, das ist ein Inverter vom Typ 74HC04. Weiter Oben erwähnt er den 74LS04, scheinen also beide zu gehen, auf einen Eigenbau aus 2 Transistoren wie er es im 2. Bild zeigt, würd ich mich nicht einlassen. Benötigt wird das Teil, weil der verwendete IC bei der fallenden Flanke seine Daten ins Regster übernimmt, zu erkennen an dem Strich über LD, was für Load steht. Da das SNES das bei einer positiven Flanke will, macht man das mit einem Inverter passend.

    Ein weiteres Bauteil sind die gezackten Linien auf der Linken seite, das sind Pull-Up Wiederstände. Wenn Du eine Taste auf deinen Gamepad drückst, schliesst Du einen Schalter und verbindest damit den Eingang des ICs mit Ground, legst also 0 V an seinen Eingang. Was aber, wenn keine Tatste gedrückt ist, dann hängt die Leitung ja in der Luft und hat keinen vernünftigen Wert. Also verbindet man den Eingang über einen kleinen Widerstand mit der Spannungsversorgung. Wenn keine Taste gedrückt ist, liegt am Eingang etwa der Wert der Spannungsversorgung, also High. Wenn Du die Taste drückst, hat der geschlossene Schalter aber einen viel kleineren Wiederstand als der Pull-Up Wiederstand, so dass der Eingang auf ein Low runtergezogen wird. Die Frage ist also, welchen Wert muss dieser Pull-Up Widerstand haben. Das kan ich Dir leider nicht sagen, intuitiv würde ich sagen, 1 KiloOhm kann so falsch nicht sein und auf den genauen Wert kommt es nicht allzusehr an. Trotzdem solltest Du mal nach dem Begriff Pull-Up in Verbindung mit TTL googeln.
    Man muss da auch nicht 16 einzelne Widerstände verwenden, es gibt so Widerstandnetzwerke mit 9 Pins, mit denen man 8 Leitungen auf einmal versorgen kann. Wer mal alte SCSI-Festplatten in den fingern hatte, weiss was ich meine.

    Das letzte Problem ist jetzt, woher man die 5 Volt Stromversorgung Vcc für die ICs und den Rest nimmt. Der Typ scheint das ganze sowohl an einem PC als an dem SNES zu betreiben und nimmt daher die Stromversorgung vom PC. Darüber, ob man auch die +5V Leitung des SNES nehmen kann schreibt er leider nichts, allerdings auch keine Warnung, dass es nicht geht. Was eben passieren KÖNNTE, auch wenn ich das für unwahrscheinlich halte, wäre, dass die ICs so viel Strom ziehen, dass Dein SNES-Ausgang druchbrennt. Hier kannst Du entweder ein externes Netzteil einsetzen, oder die Stromaufnahme der ICs in den Datenblättern (google) nachlesen und irgendwo im Netz suchen, ob beschrieben ist, wie stark der SNES Ausgang belastet werden darf, steht auf der Seite von Dir leider nicht. Oder Du versuchst es einfach auf gut Glück, aber keine Garantie, was passiert. Das gilt übrigens auch für den Fall, dass Du irgendwo einen Kurzschluss baust, und damit deinen Port zerschiesst. Nach meiner Erfahrung sind TTLs zwar recht gutmütig und überleben vieles, aber jedes Bauteil kann man killen, wenn man es daruf anlegt.

    Was Du jetzt also brauchst:
    Datenblatt der ICs
    Eventuell Beschreibung der Leistungsfähigkiet der Stromversorgung
    die 3 ICs
    Pull-Up Widerstände, vorher nach Wert googeln
    eine vorgeborte Platine
    Stecker

    Für die Platine und Bauteile würde ich mal bei www.reichelt.de nachsehen, der ist normal billiger als der Conrad.
     
    #10
    Trogdor, 26 März 2005
  11. BlackSun
    BlackSun (32)
    Verbringt hier viel Zeit
    102
    101
    0
    Single
    Naja, ein 16bit Register kriegt man ja wohl gerade noch programmiert ;-)

    Es ist halt letztendlich dann wohl Geschmackssache, ob man lieber über Schaltplänen brütet und was lötet, oder Bit-Shiftereien in For-Schleifen macht...
    Allerdings kann man in DIESEM Fall das ja leider nicht unbedingt so ohne weiteres austauschen...
     
    #11
    BlackSun, 29 März 2005
  12. Trogdor
    Trogdor (40)
    Verbringt hier viel Zeit
    472
    101
    0
    nicht angegeben
    Eben. Habe auch ungeschickte Hände und prohrammier lieber etwas, als dass ich zum Lötkolben greif, aber in dem Fall wäre der Weg mit einem zusätzlichen PC und einem eigenen Treiber schreiben total daneben. Was naheliegender wäre, einen FPGA einzusetzen, den man dann mit VHDL oder Verilog programmiert. Die Dinger sind für das bischen Logik aber Overkill und zu teuer.
     
    #12
    Trogdor, 29 März 2005
  13. User 631
    Verbringt hier viel Zeit
    547
    103
    6
    nicht angegeben
    #13
    User 631, 29 März 2005
  14. BlackSun
    BlackSun (32)
    Verbringt hier viel Zeit
    102
    101
    0
    Single
    Man bräuchte nicht unbedingt nen zusätzlichen PC, also kommt drauf an wo der PC jetzt sowieso steht.

    Ich würd über DirectInput die Buttons vom Joypad abfragen (5min Arbeit, 20 Zeilen Code oder so), und dann nur die entsprechenden Signale generieren (auch nicht härter, je nach dem). Das einzige was ich NICHT kann und wo ich nach nem freien Control oder fertigen Beispielen suchen müsste, wäre die Signale aus dem PC rauszukommen. Sei es über COM/Seriell-Port oder LPT/Parallel... Von den PINs her müsste ja COM genügen.
    Hab nur keine Ahnung ob dann die Spannung stimmt, aber soooooo schwierig dürfte es nicht sein, so nen Port manuell anzusteuern.
    Das ganze würde als "normales" Exe-Programm laufen.
    Gut, wäre ein anderer Weg von mir...

    Bin froh dass ich es nicht tun brauche :smile:
     
    #14
    BlackSun, 29 März 2005

jetzt kostenlos registrieren und hier antworten
Die Seite wird geladen...

Ähnliche Fragen - Sidewinder Gamepad SNES
Mr.Chainsaw
Musik, Filme, Computer und andere Medien Forum
29 Juni 2016
32 Antworten
MniMN
Musik, Filme, Computer und andere Medien Forum
12 August 2006
2 Antworten