Joy-Control 64 - Ein Bastelprojekt

  • Joy-Control 64 - Ein Bastelprojekt

    Über Ostern hatte ich mal etwas Zeit eines meiner Bastelprojekte etwas voranzutreiben. Und weil nur ca. 80% der Arbeit getan sind, stelle ich das Ganze jetzt hier mal vor. :winke:

    Ende letzten Jahres gab es hier mal eine Diskussion über Joystick Tester. Damals dachte ich mir, dass ich eventuell mal selbst einen auf Micro Controller Basis bauen möchte. Soweit so gut. Irgendwann im Januar hatte ich dann mal Lust darauf das Thema anzugehen. Während ich dann in Eagle so vor mich hingemalt habe wurde das kleine Projekt irgendwie etwas größer. Das führte dazu, dass ich einen größeren Controller nehmen musste, denn ich dann natürlich auch mehr nutzen wollte. :platsch:

    Herausgekommen ist dann letztlich das was ich jetzt „Joy-Control 64“ nenne.
    Ein Rapid-Fire - Joysticktest - Switch.


    Hier also eine Aufstellung was das Teil kann:


    Implementierte Features ( v0.4 ):

    - Joystick und Paddle Switch. Umschalten aller Funktionen zwischen Port 1 und Port 2.
    - Unterstützung für 2 und 3-Button Joysticks.
    - Im Betrieb regelbare Dauerfeuerfunktion.
    - Es kann für jeden der drei Joystick Feuerknöpfe das Dauerfeuer individuell, in 9 Stufen, geregelt werden (500ms bis 50ms).
    - Jeder Joystick Feuerknopf kann direkt am Joy-Control 64 mit jeder beliebigen Joystick-Funktion individuell Programmiert werden. (z.B. Joystick-UP auf Feuerknopf-2)
    - Anzeige der aktuellen Feuerfrequenz beim Feuern (blinkender Dezimalpunkt auf der 7-Segmentanzeige).
    - Die Feuertasten und die programmierten Funktionen können gleichzeitig genutzt werden.
    - Die individuelle Programmierung wird durch die Dauerfeuerfunktionen unterstützt.
    - Die Dauerfeuerfunktion für die Paddle Feuerköpfe ist für jeden (vier) Paddle individuell regelbar.
    - Individuelle Betriebs-Modi Auswahl für Port 1 und Port 2 (Joystick, Paddle, [Sega, usw.]).
    - Alle Einstellungen werden automatisch gespeichert und bleiben auch ohne Stromversorgung erhalten.
    - User-Interface um die aktuell eingestellten Funktionen anzuzeigen (7-Segment Anzeigen und LEDs).
    - „Reset“ setzt alle Funktionen auf die Ursprungswerte (Default) zurück.
    - „Recall“ stellt die Konfiguration wieder her, die vor dem „Reset“ oder „Power-Off“ eingestellt war.
    - „Stand-Alone“ Betrieb über 6V Batterie oder 6V Netzteil (Umschaltbar inkl. LED Anzeige).
    - Joy-Control 64 erkennt ob es am C64 angeschlossen ist oder „Stand-Alone“ betrieben wird.
    - 3D-Modelle für ein Druckgehäuse (zweiteilig) und Drehknöpfe (zwei Stück).
    - „Joy-Control 64“ Logo.
    - „Stand-Alone“ Testmodus (Batterie oder Netzteilbetrieben).
    - Wählbare Joystick Testprogramme inklusive Prüfen:
    o Der normalen Joystick Funktionen.
    o Auf Nadelimpulse / Spannungsschwankungen.
    o Des Kontaktwiderstands der Schalter und Kabel am Joystick.



    Natürlich ist das Ganze noch nicht ganz fertig. Wie oben schon geschrieben würde ich von ca. 80% ausgehen. So sind neben vielen keinen Verbesserungen in der Software, noch folgende Punkte geplant oder wenigstens mal angedacht (wenn mal wieder Zeit ist):



    Geplante Features:

    - SEGA Modus zum Anschließen von Megadrive (Genesis) Controllern (über Umschalter).
    - Paddle Testprogramm inklusive Prüfen:
    o Der Podi in den Paddle.
    o Auf Nadelimpulse / Spannungsschwankungen.
    o Des Kontaktwiderstands der Schalter und Kabel an den Paddle.
    - Bessere Auswertung der Testergebnisse.
    - Bessere Darstellung der Testergebnisse.
    - 3D Gehäuse und Drehknöpfe (drucken lassen).



    Noch ein paar technische Details:



    Hardware Übersicht ( rev1.1 / rev1.2 :(

    - Controller: Atmel ATMEGA 2560. Takt: 16 MHz.
    - Eingänge für zwei Joysticks oder vier Paddle (2x DB9).
    - 20-Poliger Wannensteckerausgang zum C64.
    - Zwei 7-Segment Anzeigen mit Dezimalpunkt.
    - Drei blaue LEDs.
    - Zwei Duo-Color LEDs.
    - Zwei Drehencoder mit Tastfunktion.
    - Ein zweifarbig beleuchteter Kippschalter.
    - Vier Schiebeschalter.
    - Vier Taster.
    - Adapterkabel zu den C64 Joystick-Ports


    Technische Daten:

    - Stromverbrauch beim Startup max.: 350mA (kurzzeitig < 1s) an 5V.
    - Stromverbrauch im Betrieb max.: 110mA (Dauerlast) an 5V.
    - Reaktionszeit max. Paddle Modus: 0,004 Sekunden (4ms).
    - Reaktionszeit max. Joystick Modus: 0,0003 Sekunden (0,3ms).



    Und noch ein paar Bilder vom aktuellen Stand:

    So sieht die Platine von Oben und Unten aus:


    Hier ist sie am C64-Reloaded Board angeschlossen:


    Ein 3D Gehäuse hab ich auch mal entworfen. Allerdings hat mich bisher der Druckpreis das Thema noch etwas schieben lassen.



    Zuletzt noch Schaltplan und Layout:



    Es sei noch gesagt, dass ich weder in Hardware, Software, Design oder 3D-Modeling Fachmann bin. Sondern dass ich das nur zum Spaß gemacht habe. Daher mögen die Profis mal nicht so fest auf mich einschlagen (Ist ja kein Netzteil).
    Außerdem wurde während der Entwicklung von „Joy-Control 64“ kein C64 verletzt oder getötet oder anderweitig missbraucht. :saint:
    Der alleinige Zweck dieses Beitrags ist es meinen Counter zu inkrementieren. Jeglicher Sachbezug dient ausschließlich der Dekoration.
    --- "Meine kleinen Projekte"
    --- "3D-Modelle" --- "Platinen" ---

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Zipcom () aus folgendem Grund: Übersichtlichkeit

  • CapFuture1975 schrieb:

    Nur geringfügig mehr, als ein Joysticktester
    Nur geringfügig. Das ist mir etwas aus dem Ruder gelaufen...

    ADAC schrieb:

    Programierung via SPI nehme ich an?
    Ja, Programmiert wird über SPI.

    Segenhard(DeSegi) schrieb:

    Bitte die Nr1. und den Prototyp mit Zertifikat für meine neue Sammlung.
    Der Prototyp rev1.0 ist nur bis zur ersten Funktionalität programmiert. Also mehr "proof of concept". Alle erweiterten Funktionen wurden darauf nicht mehr Programmiert. Und weil sich die Hardware zu rev1.1 massiv verändert hat, ist die Software auch nicht mehr abwärtskompatibel.

    Aber als Trost zwei Bilder vom Prototypen zum Vergleich: ^^


    CapFuture1975 schrieb:

    Könnte ein Mod bitte die Überschrift korrigieren, das soll doch "Joy-Control 64" heißen.

    Wurde korrigiert, danke!
    Ich Danke auch :!:
    Wenn schon bei der Überschrift meine Tippkünste durchkommen...



    Zum Thema Sammelbestellung oder Bausatz:
    Das ist leider alles nicht so einfach.

    1. Preis:
    Ich hab die Schaltung (Joystick-Tester) eigentlich mal nur für mich entwickelt. Das heißt ich hab mir einfach die Bauteile gegriffen die ich am schnellsten gefunden oder schon zur Hand hatte. Außerdem hab ich verbaut was mir gefallen hat. - Ohne Rücksicht auf den Preis!

    Das Endergebnis daraus ist dass die reinen Materialkosten bei ca. 60 € liegen. Ohne 3D-Druckgehäuse. Der bei Shapeways kalkulierte Preis für die Gehäuseteile (Unterteil, Oberteil, 2 Drehknöpfe) läge bei nochmal ca. 65 €.

    Man könnte bestimmt noch ein paar (wenige) Euro sparen wenn man günstiger einkauft als Ich. Allerdings ist es nicht gerade wenig Arbeit für über 30 verschiedene Bauteile den jeweils günstigsten Anbieter zu finden. mit dem Ergebnis das man vielleicht 5 € sparen könnte.

    2. Bausatz:
    Ein Bausatz würde sich nur an seeehr geübte Bastler wenden. Das bedeutet derjenige dürfte sich nicht davor fürchten SMD Bauteile zu verlöten. Vor allem der ATMEGA2560 ist durchaus fordernd bei der Verarbeitung. Wenn man den unfallfrei auf die Platine geklebt bekommt ist der Rest ein Kindergeburtstag.
    Aber das genügt dann leider auch noch nicht. Derjenige müsste den Controller noch über SPI programmieren und ein paar Fuses setzten können. Braucht also das passende Equipment. Wobei ich glaube dass jemand der das gelöte hinbekommt daran nicht scheitern wird.

    3. Fertig gebaut:
    Dafür hab ich leider keine Zeit. Da ich nicht so etwas wie einen Ofen zum Löten besitze, muss ich auch alle Teile von Hand unter dem Micro löten und danach jeden Pin auf Brücken durchmessen. Soll heißen: ich brauche für eine komplett gelötete Platine 3-4 Stunden.


    Also wie ihr seht gibt es hier zahlreiche Hürden die dem im Weg stehen. Mal davon abgesehen dass ich mit dem Programmieren noch nicht fertig bin.
    BTW ich bin ein richtig schlechter Programmierer!
    Der alleinige Zweck dieses Beitrags ist es meinen Counter zu inkrementieren. Jeglicher Sachbezug dient ausschließlich der Dekoration.
    --- "Meine kleinen Projekte"
    --- "3D-Modelle" --- "Platinen" ---
  • Ich suche gerade Programme die 3 Tasten Joysticks unterstützen. Also solche Programme die die Paddle Leitungen (x-Pot / y-Pot) als Taster verwenden.
    Gibt es da irgendwo eine Liste?
    Der alleinige Zweck dieses Beitrags ist es meinen Counter zu inkrementieren. Jeglicher Sachbezug dient ausschließlich der Dekoration.
    --- "Meine kleinen Projekte"
    --- "3D-Modelle" --- "Platinen" ---
  • Im C64 Wiki steht zumindest schon mal ein Artikel zum Cheetah Annihilator Joystick, welcher über einen zweiten Feuerknopf (Pin9) besitzt. Dort gibt es auch eine Spieleliste. Den Quatsch mit dem Mastersystem-Pad, welcher auch in dem Artikel steht, vergisst man lieber mal ganz schnell, dieses Gamepad schaltet nämlich gegen GND durch, der C64 Joystick aber nach +5V!!!

    DoReCo #55 16.12.2017

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

  • Danke für die Info. Damit kann ich was anfangen. Mal sehen welches der dort genannten Programme am besten zum testen geeignet ist.

    Die Info zur Kompatibilität des Pads wurde anscheinend schon aus dem Wiki entfernt. Zumindest kann ich sie nicht finden.
    Der alleinige Zweck dieses Beitrags ist es meinen Counter zu inkrementieren. Jeglicher Sachbezug dient ausschließlich der Dekoration.
    --- "Meine kleinen Projekte"
    --- "3D-Modelle" --- "Platinen" ---
  • Zipcom schrieb:

    Mal sehen welches der dort genannten Programme am besten zum testen geeignet ist.
    Wenn es hauptsächlich ums Testen geht, nimm dies - der Joystickteil unterstützt zwar eigentlich nur eine Taste, aber die Paddle-Register werden ja auch direkt auf dem Bildschirm angezeigt.

    Ich schreib mir mal auf die ToDo-Liste, auch für den Joystick drei Tasten anzuzeigen...

    EDIT: Ui, das hatte ich ja doch schon drin... :whistling:
    Yes, I'm the guy responsible for the ACME cross assembler
  • Kleines Update zum Thema.

    Ich hab die letzten Tage die Software etwas auf Vordermann gebracht. Soll heiß dass ich jetzt erst mal alle anfänglich vorgesehenen Funktionen drin habe. Und das Bedienkonzept ist auch soweit fertig. Allerdings fehlt an verschieden Stellen noch einiges an fine tuning. Also solche Sachen die langweilig und langwierig abzuarbeiten sind.

    Außerdem hab ich heute mal ein Quick and Dirty Video gemacht das, zumindest ungefähr, die Funktionsweise vom Joy-Control 64 zeigt.

    Der alleinige Zweck dieses Beitrags ist es meinen Counter zu inkrementieren. Jeglicher Sachbezug dient ausschließlich der Dekoration.
    --- "Meine kleinen Projekte"
    --- "3D-Modelle" --- "Platinen" ---
  • Noch ein Update.

    Heute hab ich meine Gehäuseteile, die Shapeways für mich drucken durfte, bekommen.
    Zu meinem Erstaunen "muss ich sagen" dass alles, bis auf eine Kleinigkeit, auf Anhieb gepasst hat.

    Hier also ein paar Impressionen von dem Gehäuse...





    Der alleinige Zweck dieses Beitrags ist es meinen Counter zu inkrementieren. Jeglicher Sachbezug dient ausschließlich der Dekoration.
    --- "Meine kleinen Projekte"
    --- "3D-Modelle" --- "Platinen" ---
  • CapFuture1975 schrieb:

    Hat dich aber ein paar Steinchen gekostet, wenn die ja mal billiger würden. Mir gefällt's !
    Stimmt schon, günstig geht anders. Allerdings wars dann doch billiger als ich befürchtet hatte. Alle 4 Teile zusammen inkl. Versand haben 52,18 € gekostet.

    Vor ca. 2 Jahren hatte ich mal ein 3D-Model von einem Ersatz TC64 Gehäuse kalkulieren lassen (meines hat einen Sprung). Das waren nur 2 Teile und dazu noch ein Stück kleiner. Damals wäre der Preis bei über 60 € gelegen. Anscheinend ist Shapeways zwischenzeitlich, ob der Konkurrenz, doch etwas günstiger geworden. Ich werde bei Gelegenheit das Chameleon Modell nochmal kalkulieren lassen. Mal sehen was jetzt raus kommt.

    Außerdem muss ich sagen dass Shapeways dieses Mal sehr schnell war. Ich hatte am Samstag bestellt und am Mittwoch war das Päckchen bei mir.


    Segenhard(DeSegi) schrieb:

    Bin mit 2 Bausätzen dabei!
    Dein Päckchen schicke ich doch morgen ab... :winke:
    Der alleinige Zweck dieses Beitrags ist es meinen Counter zu inkrementieren. Jeglicher Sachbezug dient ausschließlich der Dekoration.
    --- "Meine kleinen Projekte"
    --- "3D-Modelle" --- "Platinen" ---