Retro-Adapter (original Joypads aller Konsolen am PC per USB)

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Ich finde es toll, das Dein Adapter auf einem Standardboard basiert, welches man einfach kaufen kann.

      Ich wäre auch sehr interessiert, in den Source Code Deines 16 MHz Adapters zu schauen. Ich könnte (für mich sehr wichtig) evtl. XBOX Classic Kompatibilität hinzufügen :)
    • n00b schrieb:

      Könnte man den Adapter eventuell auch genau umgekehrt bauen, also von RS232 auf USB (ich schiele da Richtung kleiner Eigenbauadapter für einen USB-Mausanschluss am Amiga )?
      Die gibt es schon, google mal nach "Amiga USB mouse adaptor". Allerdings laufen die meist nur mit Mäusen, die das PS2-Protokoll benutzen, also nicht richtiges USB.
    • Weiß jemand ob und wenn ja wie man so einen Adapter an einer XBox-Classic benutzen kann (für Emus beispielsweise)? Die Controllerports sind ja quasi schon USB und es gibt ja solche Adapter um dort z.b. nen USB-Stick anzuschließen.
    • RedScorpion schrieb:

      Postest du noch paar Links zu den Teilen die du so genutzt hast? Das ist für viele User auch interessant.
      Die Bauteile habe ich von Reichelt (in den Klammern habe ich mal die Bestellnummern geschrieben):
      2 x Zener-Diode 3,6V (ZF 3,6)
      1 x Rückstellende Sicherung (PFRA 010)
      1 x Elko 10µF (RAD 10/35)
      2 x Widerstand 68 Ohm (1/4W 68)
      1 x Widerstand (1/4W 1,5k)

      Den Rest, wie Streifenrasterplatine, Sub-D Stecker 9 und 15 polig, sowie ein USB-Kabel müsst ihr mal selber nach den Bestell-Nummern schauen.

      Das ProMini-Board habe ich aus der Bucht, möchte davon aber keinen Link posten, da die später oft ins leere laufen. Einfach nach "Arduino Pro Mini Atmega 168" suchen.

      rsn8887 schrieb:

      Ich wäre auch sehr interessiert, in den Source Code Deines 16 MHz Adapters zu schauen. Ich könnte (für mich sehr wichtig) evtl. XBOX Classic Kompatibilität hinzufügen
      Ich habe nur im Makefile den Wert "-DF_CPU=15000000UL" auf "-DF_CPU=16000000UL" geändert, sollte so auch bei dem X-Box Part funktionieren.

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

    • CapFuture1975 schrieb:

      rsn8887 schrieb:

      Ich wäre auch sehr interessiert, in den Source Code Deines 16 MHz Adapters zu schauen. Ich könnte (für mich sehr wichtig) evtl. XBOX Classic Kompatibilität hinzufügen
      Ich habe nur im Makefile den Wert "-DF_CPU=15000000UL" auf "-DF_CPU=16000000UL" geändert, sollte so auch bei dem X-Box Part funktionieren.
      Ah super, das bedeutet das die USB Pinbelegung genau wie bei dem anderen Board ist.

      Ja dann sollte man das ohne Probleme auch mit meiner XBox Classic Firmware Version laufen lassen können, wenn man nur die Frequenz ändert und neu kompiliert. Es könnte sehr gut sein, das selbst die Assembler Routinen (Gamecube/N64) noch funktionieren, da die Frequenz nur minimal langsamer ist. Müsste man aber testen.
    • maxiking486 schrieb:

      Weiß jemand ob und wenn ja wie man so einen Adapter an einer XBox-Classic benutzen kann (für Emus beispielsweise)? Die Controllerports sind ja quasi schon USB und es gibt ja solche Adapter um dort z.b. nen USB-Stick anzuschließen.
      Ja das sollte gehen, wenn Du meine Firmware benutzt, und so ein USB-Xbox Adapterkabel welches auch mit einem USB Stick funktioniert.

      Ich kann das nachher mal neu kompilieren mit 15 MHz und hier uploaden. Ich habe aber nur 16 MHz Boards, kann es also nicht testen.
    • Kompilierung dauert etwas, hatte vergessen das bei dem Wechsel von 32bit auf 64 bit Windows 10 alle meine Programme deinstalliert wurden.

      Nebenbei habe ich an der Verkabelung des Cabinets fuer meinen Freund gearbeitet. Ich benutze zwei Retroadaptermods im Arcade Modus (10 Buttons pro Player). Ein Bild von dem Cabstatus haenge ich auch noch an.



    • Hi,

      mal ne Frage.. Wie sind denn so die Versandzeiten von iteadstudio? Wie lange habt Ihr denn auf eure Bestellung gewartet?
      Da iteadstudio ja nur via Einschreiben versendet und ich im Januar ne Zeit lang auf Dienstreise bin, wäre es blöd wenn die Sendung dann länger als 7 Tage bei der Post liegen würde :S
    • Itead selber braucht ca. 5-7 Tage für die Erstellung der Platinen. Danach kommen je nach gewählter Versandart nochmal ungefähr 3-40 Tage Versand inkl. Zoll und allem.
      Normal kann das Einschreiben aber auch ohne Unterschrift ausgeliefert werden, das unterschreibt dann der Postbote und schmeißt es in den Briefkasten.
      Ich meine mich zumindest erinnern zu können, das ich schon Platinen aus China im Briefkasten liegen hatte.
    • Wenn du nur 2 Platinen brauchst, nimm doch OSHPark. Da kriegst du 3 Platinen pro Order und dasd Einschreiben landet im Briefkasten (wenn der nicht gerade überfüllt ist)


      Ich verkaufe recht selten Moddingsachen > Bitte schreibt mir keine PNs mit direkten Anfragen. Manchmal habe ich etwas im Trödel gelistet.
      Bitte keine allg. Fragen per PN > Allgemeine Fragen gehören ins Forum - dafür ist es ja da - und nicht per PN an mich.

      Projekte: GitHub
    • Danke für die Info :thumbup:

      Ich werde einfach kurz vor der Reise die Bestellung tätigen, dann wird das schon hinhauen.
      Sollte zwischenzeitlich doch noch jemand zuhause über 2 Platinen stolpern... Bitte ne PN an mich :)

      Edit: thx borti.

    • Irgendwie kommt OSHPark nicht mit der Gerber.zip von Seite 1 klar. :(

      The following errors were found with your design:
      • Note: Processing RETRO-ADAPTER_V2.1.0_GERBERS.zip as generic ZIP file
      • Failed: I can't find a board outline file.


      Muss dann wohl doch bei Itead bestellen.
    • Entweder Gerber-Files umbenennen (so wie es OSHPark erwartet) oder die Gerber-Files wie sie sind an support@oshpark.com oder einfach die *.brd-Datei hochladen (siehe Post #1 Zip-Source)


      Ich verkaufe recht selten Moddingsachen > Bitte schreibt mir keine PNs mit direkten Anfragen. Manchmal habe ich etwas im Trödel gelistet.
      Bitte keine allg. Fragen per PN > Allgemeine Fragen gehören ins Forum - dafür ist es ja da - und nicht per PN an mich.

      Projekte: GitHub
    • Frohes Neues!

      Habe die Arcadeversion jetzt auch mal auf dem Pro Mini Board aufgebaut - es läuft!

      Leider habe ich noch keine Fotos vom Prototypen (Innenleben) gemacht, deshalb kommen gleich nur Bilder vom Grundaufbau.

      Hier mal eine Übersicht der Verdrahtung (die Streifenrasterplatine für den USB-Teil habe ich schon bei der "normalen" Version gepostet):





      Firmware für 16 MHz:
      Arcade.zip
    • CapFuture1975 schrieb:

      Frohes Neues!

      Habe die Arcadeversion jetzt auch mal auf dem Pro Mini Board aufgebaut - es läuft! (...)
      Sehr cool, jetzt muss man für Dein Board nur noch ein kleineres schnuckeliges Gehäuse finden. Passt es vielleicht auch in so einen DSUB Adapter, oder ist es zu gross?

      Ich habe jetzt auch endlich mal alle drei Versionen (Arcade, Normal, und XBOX) mit 16 MHz Frequenz kompiliert und hier angehängt als zipfile. Ich habe genau wie Du einfach die Frequenzvariable im Makefile abgeändert. Du hast ja die Normal und Arcade Versionen eh schon geuploadet, also fehlte eigentlich nur noch die Xbox Version:

      RetroAdapterModv1.1_16MHz.zip

      ACHTUNG diese Version läuft nur mit dem Mini Board von CaptainFuture! Für das standard Mojo Board bitte die originale Version von hier benutzen github.com/rsn8887/RetroAdapterMod/releases

      Und zuerst mit combined.hex vom Originalarchiv flashen muss man auch wie schon vorher.

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

    • Obwohl der Adapter im Gamepad Testpanel im Control Panel funktionierte, gab es unter Windows 10 und unter Steam, und ueberhaupt bei vielen Spielen, die XInput benutzen, schwerwiegende Probleme. Die Steuerung hielt staendig nach oben oder unten und war bei den Spielen komplett unbrauchbar. Getestet mit Broforce Steam und einem PSX Analog Controller.

      Ich glaube das lag an XInput. Nach einem Vergleich mit den Werten, die Dualjoybox liefert, habe ich eine Aenderung der Achsenintervalle von -128..127 nach 0..255 vorgenommen.

      Das hat jegliche Probleme prompt behoben.

      Daher hier eine neue Version.

      Version v1.2 Changelog in Englisch:

      - (Android/Windows) x/y,z/rz axes range to go from 0..255 to comply better with Windows 10 and XInput (fixes many Indie Games on Steam)

      - (Android/Windows) integrated NegCon mode into the regular mode, since the axes range is now 0..255 everywhere. Analog "Brake" and "Accel" axes are now always reported

      - (Android/Windows) changed USB poll interval to 4 ms to ensure lag-free performance with the additional brake and accel axes that are always reported

      Download und source code ist hier:
      github.com/rsn8887/RetroAdapterMod/releases/tag/1.2

      Ich haenge den Release mal an, und dazu auch noch eine 16 MHz Version fuer das CaptainFuture PCB.
      Dateien

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

    • Neue Version. Ich habe einen Joystick Frequenztester gefunden und etwas optimiert. Das Geraet ist ein low-speed device und hat eine max. Rate von 100 Hz. Die wird nun auch erreicht, ausser mit NegCon (dann nur 50 Hz).

      Changelog in Englisch:
      v1.3
      - (Android/Windows) Speed optimization! Used joystick frequency tester to optimize update rate. All single player mode controller rates are now 100 Hz (NegCon 50 Hz). For comparison, a Mayflash Dualjoybox Pro gave 66 Hz (44 Hz for NegCon). I suspect two player mode is also 50 Hz, but I cannot test it because there is no analog axis.

      - (Android/Windows) reverted back to USB poll interval 10 ms, since this is a low speed device. Lower numbers do not cause any difference.

      - (Android/Windows) reverted back to only reporting the additional analog axes "Brake," "Accel," and "Throttle" in NegCon mode, since they slow the rate down (see above entry)

      Download und source code ist hier:
      github.com/rsn8887/RetroAdapterMod/releases/tag/v1.3

      Ich haenge den Release mal an, und dazu auch noch eine 16 MHz Version fuer das CaptainFuture PCB.
      Dateien

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

    • Version 1.3 hatte viele Bugs, die Richtungen funktionierten nicht richtig.

      Hier kommt also schon 1.4. Ich verstehe es jetzt: Unter Windows ist die USB Rate auf 125 Hz begrenzt. Der Retro Adapter Mod laeuft jetzt mit 124 Hz, (NegCon und 2P Adapter: 62 Hz). Unter Linux sollte diese Version sogar noch schneller sein.

      Dateien gibt es im Anhang, oder hier
      github.com/rsn8887/RetroAdapterMod/releases/tag/v1.4

      Ich haenge auch wieder die 16 MHz Version fuer CapFuture PCB hier mit dran.

      Changelog v1.4:
      - (Android/Windows) Last update was completely broken, it broke analog directions and 2 player mode, all fixed again now.

      - (Android/Windows) Changed the USB polling interval back to 4ms. It makes no difference under Windows, because Windows locks the polling interval for low speed USB devices at 8ms (125 Hz max). However, Linux does not. So a 4ms polling rate should increase the refresh speed under Linux and maybe even Android, while still keeping low cpu usage.

      - (Android/Windows) Came up with exact speed test using freqmeter.exe. On Windows the refresh rate is now 124 Hz (62 Hz for NegCon and 2P mode). Under linux it could be even faster.
      Dateien
    • Hi,

      ich hab hier 2 Stk. Pro Mini (ATmega168), und möchte damit ausschliesslich ein Ne-G-Con betreiben.

      Könnt ihr mir bei der Teileliste helfen, wie wäre ja im Vgl. zum Originalaufbau ja nur reduziert.

      - Pro Mini
      - PSX Buchse
      - USB Kabel mit A-Ende
      - 2x ZENER Diode
      - Kerko 22p

      - 16MHz Firmware

      Verkabelung:
      Arduino Pin - PSX Pin
      ------------------------
      GND - GND
      VCC - 3,3V
      A5 - GND
      A4 - GND
      A3 - GND
      A2 - GND
      13 - DAT
      12 - CMD
      11 - ATT
      10 - CLK
      9 - ACK

      A0 - button gegen GND (für prog update mode)

      A1 - ^H
      -> das verstehe ich nicht... einfach nicht connecten?

      Danke und lg
      Alex
    • Hallo!

      Habe mir mal gerade den Vedrahtungsplan angeguckt, scheint soweit korrekt zu sein, allerdings müssen da 5V statt 3,3V zum PSX-Controller.

      A1 - ^H -> Richtig einfach nicht verbinden, so hat dieser PIN das Logig-Signal "High"

      Ferner, wofür soll der Kerko 22p sein?

      Du brauchst für den USB-Part nur folgende Bauteile:
      2 x Zener-Diode 3,6V (ZF 3,6)
      1 x Rückstellende Sicherung (PFRA 010)
      1 x Elko 10µF (RAD 10/35)
      2 x Widerstand 68 Ohm (1/4W 68)
      1 x Widerstand (1/4W 1,5k)

      Die Sicherung kann man auch weglassen, ist nur als zusätzlicher Schutz gedacht.

      Da die Frage über PN kam, leider habe ich keinen noch hochauflösenderen Verdrahtungsplan.
    • Ja spitze, danke für die Antwort.
      In meinem Fall bau ich mir das in ein Sony multitap, Platz genug drin.

      nur ganz versteh ich nicht:
      USB liefert 5V, dann ziehe ich auf 3,3 runter (wegen dem atmega168), brauche aber erst wieder 5V auf der PSX.

      heisst das:
      5V von USB direkt auf PSX 5V, und den m168 nur versorgen mit 3,3v? auf GND laufen dann ja 5V und 3,3V rein.
      Sollte das nicht galvanisch getrennt sein? optokoppler?

      lg/A



      EDIT:
      schon lang nix mehr mit VUSB gemacht. Schwer missverstanden :) sorry. alles klar :) danke für die Hilfe!
      Dein Schaltplan lässt sich gut zoomen, wenn man mal das bild aus dem forum isoliert hat! :)

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

    • Hi, ich möchte mir ein Retro Adapter bauen der wie bei CapFuture1975 auf ein Arduino Board basiert. Kann ich auch ein Board mit ATmega328 anstatt eines mit ATmega168 benutzten?
      Da der ATmega328 im Gegensatz zum ATmega168 mehr Speicher (Flash, SRAM, EEprom) besitzt, stelle ich mir die Frage, ob ich den Code der 16Mhz ATmega168 Variante 1:1 nehmen kann und ohne Änderung auf ein ATmega328 Board laden (natürlich mit dem Nachteil den zusätzlichen Speicher des ATmega328 nicht benützen zu können) oder geht das nicht?
    • Hallo, verstehe ich es richtig, das man zuerst immer die original combined.hex (mit Bootloader) auf ein Arduino Pro Mini Atmega168 installiert und dann erst die passende 16MHz Firmware?

      Funktioniert das trotzdem mit der CapFuture1975 Version oder muss man um an den Bootloader zu kommen, den Quarz auf 15MHz tauschen?

      Für den ersten Programmier-Schritt braucht man also z.B. einen USBASP AVR Programmer USB und für die 16MHz Firmware dann nur noch den Arduino im Flash Modus (Taste 1 gedrückt und USB einstecken)?
      Ist dafür immer ein extra Programmer notwendig oder gibt es auch eine vergleichbare Lösung per Breadboard?
      Wozu würdet Ihr raten? Zu einem Basic FTDI Breakout Board oder ein USBASP?
      Nur mal kurz dieses FTDI an den Arduino dran halten ohne verkabeln und löten, klingt ja einfach (wenn das Pinout stimmt).
      Das Pinout soll je nach Arduino Version verdreht sein bzw. nicht zu den Stiften am FTDI passen??
      So wie hier wäre es natürlich perfekt: arduino.cc/en/Guide/ArduinoProMini aber ich glaube, da passen die nachgebauten China Arduinos nicht 1:1 an die Stiftleiste?

      Eine Frage hätte ich noch wegen der x,y analog Joystick Inputs & Retro Adapter.
      Welche Werte müsste man in der Source ändern, damit kein "X,Y Analog Joystick" mehr funktioniert?

      Ich nutze einen Atari FootController (QuickJoy) mit einem Retro Adapter, aber dieses Gerät sendet leider in dieser Kombination immer div. Buttons und X,Y Joystick Werte gleichzeitig, egal was man über die Schieberegel einstellt.
      Im Spiel selber, lassen sich die ankommenden X,Y Richtungen leider nicht abschalten. Ich brauche nur Buttons und kein X,Y. :smt006
      richardlagendijk.nl/foto/cip/joystick_quickjoy_sv_129_01.jpg

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Arkadia ()

    • Kann bitte mal jemand weiterhelfen, wie das mit der Programmierung vom Pro Mini Atmega168 Modul funktioniert?

      Die original Arduino Pro Mini Module haben ja angeblich schon einen Bootloader installiert und die ganzen Nachbauten keinen ab Werk, so das man dazu einen extra Programmieradapter braucht?

      Welcher USB Adapter ist dafür richtig? Welcher Chip und Ausführung ist zu empfehlen?
      FTDI FT232RL (trotz Windows Blockade vom Hersteller) oder besser CH340, CP2102, Pl2303 ???
      Einige Anbieter erwähnen zudem, das es mit Win 8 und 10 nicht funktioniert......
      Liegt das am heimtückisch eingespielten Windows Update mit Treibern von FTDI, um China Nachbauten zu blockieren oder fehlenden Treibern?

      Verkabelung:
      Auf dem Pro Mini sind unten 6 Pins in einer Reihe: RAW,TXO,RXI,VCC,GND,TXO

      Auf den div. USB Adaptern sind aber ganz andere Bezeichnungen und andere Reihenfolgen.

      Werden davon im Prinzip nur 4 Pins (TX, RX, 5V, GND) für die Programmierung benötigt? Was ist mit RST, DTR, CTS?

      Die Pins werden 1:1 verbunden und TX <-> RX gekreuzt? Richtig?

      Funktioniert das z.B. mit avrdude oder avrstudio auf Anhieb oder muss man die Baudraten auf 57600 anpassen und sonst etwas beachten?

      Diese einfache Art der direkten Verbindung von USB Adapter und Pro Mini, gelingt nur mit original Komponenten von SparkFun und Arduino? (Foto)

      P.S.: Ein USBASP ist dann wohl nicht der richtige Programmer für den Pro Mini oder kann man die seitlichen Pin´s 11, 12 und 13 (am Pro Mini) für MOSI, MISO, SCK nehmen?
      Wäre es auch möglich, ein Teensy 2.0 als USB Adapter für den Pro Mini zu nutzen?
      Bilder
      • ArduinoProMiniFTDIBreakout2.jpg

        31,76 kB, 640×304, 613 mal angesehen

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von Arkadia ()

    • Du brauchst Miso Mosi und SCK wenn ich mich richtig erinnere.

      Hier ist eine Anleitung wie Du einen jedwegigen Arduino zum Programmieren des Atmega verwenden kannst die Software heisst ArduinoISP und wird immer mitgeliefert im Arduino Paket als eines der Examples. Ich habe das unter github.com/rsn8887/retroadaptermod in dem readme unter Details zusammengefasst. Du brauchst nur vier Verbindungen

      // 10: slave reset
      // 11: MOSI
      // 12: MISO
      // 13: SCK

      arduino.cc/en/Tutorial/ArduinoISP

      Das letzte Bild ist das wichtige.

      und hier ist noch mehr.

      arduino.cc/en/Tutorial/ArduinoToBreadboard
    • Die ganzen Seriell auf Usb Adapter (Ftdi) kannst du hierfür nicht benutzen, du brauchst einen ISP-AVR-Programmer! Wo ich die Pro Mini Version gepostet habe, gibt es auch ein Foto mit der Verdrahtung des Isp-Anschlusses:

      Retro-Adapter (original Joypads aller Konsolen am PC per USB)

      circuit-board.de/forum/index.p…-Pro-Mini-ISP-pinout-jpg/

      Ich flashe die 16Mhz-Variante direkt ohne Bootloader via ISP. Zum Flashen habe ich mir einen Adapter gebaut, auf der einen Seite eine 6 polige Pfosten-Leiste (ISP) und auf der anderen sind Prüfklemmen.

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von CapFuture1975 ()