Hello, Guest the thread was called4.3k times and contains 40 replays

last post from sauhund at the

USB am C64

  • Nur eine theoretische Betrachtung, mehr nicht. Eine direkte Anbindung an den C-64, keine Ahnung ob das geht. Ein allgemein recht einfach anbindbarer USB-Hostcontroller wäre der Philips ISP1160, der wird auch bei der Atari-ST-Erweiterungskarte NetUSBee (Ethernet/USB) für den ROM-Port verwendet, allerdings, obwohl es die Karte schon länger existiert, gibts für den USB-Port bisher nur einen Maustreiber. Laut Datenblatt lässt sich der ISP1160 im PIO- und DMA-Modus betreiben, das würde passen. Allerdings ist der ISP1160 nur noch schwer zu beschaffen und er braucht einen 16-Bit-Datenbus, da hakts dann schonmal beim 64er. Die andere Variante wären Devices wie das Arm2IEC, das hat einen USB-Anschluß (ich meine nicht den mit dem Seriell-Wandler dahinter, der für die Firmware gebraucht wird), der aber eine Slave-buchse auf der Arm2IEC-Platine hat, ob der Port Masterfähig ist, weiß ich nicht. Dann könnte das Arm2IEC das Interface sein, und - vorrausgesetzt jemand entwickelt die Software fürs Arm2IEC dafür - USB-Devices über IEC-Adressen angesprochen werden. Aber irgendwie ist das wie mit Spatzen auf Kanonen geschossen.

  • gerade zwei Blätter + Bericht über das Thema "USB am C64" gefunden. Nach heutigen Stand der Technik: USB am C64 möglich ?

    Das ist schon wieder irgendwie gähn... aber gut.


    "Möglich"? Klar. Irgendwie USB an einen C64 frickeln geht ja schon mit bestehenden Projekten, z.B. sei (neben dem schon erwähnten USB-64) das dtv2ser genannt (ein USB-Datenübertragungskabel; ursprünglich für den C64DTV, aber lässt sich auch trivial an den C64 anpassen). "Beliebige" USB-Geräte an den C64 als Host anschließen ist schon aufwendiger; weniger wegen der dafür nötigen Adapter-Hardware, sondern wieder wegen des alten Themas: Auf C64-Seite gibt es keine Software-Unterstützung für sowas, und kein Mensch macht sich heutzutage den Aufwand, da was zu programmieren, weil das eben (anders als Hardware basteln) relativ wenig Spaß macht.

  • der aber eine Slave-buchse auf der Arm2IEC-Platine hat, ob der Port Masterfähig ist, weiß ich nicht


    Ist er - aber der Hostcontroller hat einen fiesen Bug. Durch bestimmte Bitfolgen auf dem Bus, die in einigen "Randsituationen" auftreten können hängt sich der Hostcontroller im Chip komplett weg, Wiederbelebung geht lediglich durch einen Hardreset des kompletten Chips. Laut NXP gibts keinen Workaround und keine Chiprevision ohne diesen Bug -> nur für sehr gut kontrollierbare Situationen brauchbar und keinesfalls wenn Nutzer da irgendwelche beliebigen USB-Geräte anschliessen. Als Device tritt das Problem nicht auf.


    Ohne diesen Bug hätte ich da wahrscheinlich eine A-Buchse statt einer B-Buchse eingeplant. =)

  • Das Problem ist: Es geht prinzipbedingt am C64 eben nicht, oder nur sehr holprig. Am Atari XL läuft USB seit Jahren, denn da wird jedes Peripheriegerät von seinem zuständigen Treiber abgefragt, und es ist selbstverständlich einen Teil des Speichers für das DOS zu reservieren.


    Der 64er scheitert neben dem Speicherplatz spätestens an den Joysticks, für die es gar keine KERNAL-Funktionen gibt. Also müßte ein halbwegs brauchbares USB-Interface mindestens an IEC, Joystickports und Datasettenstecker anstöpseln. Aufwendig und unschön.


    Und wenn es nur um Massenspeicher geht- da konkurriert schon das SD2IEC.


    (siehe auch die PC-Tastatur am Datasettenport: Es geht, aber kein Programm mag damit laufen...)

  • Das Problem ist: Es geht prinzipbedingt am C64 eben nicht, oder nur sehr holprig.

    Na, es scheint ja doch zu gehen, wenn ich mir die externe Lösung da vom Italiener oder das 1541U/2 ansehe. Ok, der USB Kram hat hier bei mir nicht funktioniert in Verbindung mit der U2 aber einige hier haben ja sogar externe Festplatten daran laufen.

    Der 64er scheitert neben dem Speicherplatz spätestens an den Joysticks, für die es gar keine KERNAL-Funktionen gibt. Also müßte ein halbwegs brauchbares USB-Interface mindestens an IEC, Joystickports und Datasettenstecker anstöpseln. Aufwendig und unschön.

    Warum Joystick und Kassette ? Userport wäre ja auch noch neben den Expansionsport frei oder ist der dafür nicht schnell genug ?


    Ich denke da an einer externen Hardwarelösung (am Expansionsport oder Userport), was selbst reichlich Ram mitbringt.
    USB Geräte wiew Drucker und Co. könnten ihre Treiber dann genau dort rein flashen.

    Und wenn es nur um Massenspeicher geht- da konkurriert schon das SD2IEC.

    Ja aber nur auf SD Medien. USB Festplatten und Sticks oder Drucker wie auch Joysticks wären noch offen.

    (siehe auch die PC-Tastatur am Datasettenport: Es geht, aber kein Programm mag damit laufen...)

    Das ist in der Tat ein feines Stück Hardware. Würde auch bestimmt besser laufen wenn die Software nicht vorweg geladen wrden müsste.

  • Das ist in der Tat ein feines Stück Hardware. Würde auch bestimmt besser laufen wenn die Software nicht vorweg geladen wrden müsste.


    Muss aber da endweder jegliche andere Software Kelnalfunktionen benutzt, also die Originaltastatur oder betreffende Software eben die Tastatur selber scannt, und sich nicht um irgendwelche Treiber schert.
    Ein Programm muss die Tastatur am Tapeport entweder explizit selber abfragen oder den Treiber dafür in Ruhe lasse....was natürlich keiner macht da RAM immer knapp ist. Schreib dir doch nen Kernal der das macht. Dann stimmen allerdings die Einsprünge nicht mehr.


    Ich denke da an einer externen Hardwarelösung (am Expansionsport oder Userport), was selbst reichlich Ram mitbringt.
    USB Geräte wiew Drucker und Co. könnten ihre Treiber dann genau dort rein flashen.


    Dafür müsste man schon einen Computer dort anschliessen. Man könnte diese Rapsberry Pi Spielzeug ja mit viel Aufwand an Export legen und...dann würden sogar irgendwie USB Drucker gehen und man müsste sich aus GEOS Seite noch nicht mal viel drum kümmern. Genial was?

  • Die einzige sinnvolle USB-Anwendung die mir in den Sinn kommt: ein USB-Cartridge als USB-Device. Dann kann man bequem per Kabel vom PC in den C64 laden (oder in den PC spiegeln). Also die Funktionen des Chameleon64.


    Als Host ist der C64 hoffnungslos überfordert.

  • Muss aber da endweder jegliche andere Software Kelnalfunktionen benutzt, also die Originaltastatur oder betreffende Software eben die Tastatur selber scannt, und sich nicht um irgendwelche Treiber schert.
    Ein Programm muss die Tastatur am Tapeport entweder explizit selber abfragen oder den Treiber dafür in Ruhe lasse....was natürlich keiner macht da RAM immer knapp ist. Schreib dir doch nen Kernal der das macht. Dann stimmen allerdings die Einsprünge nicht mehr.

    Warum soll ich mir ne´n Kernal schreiben ? Ich hab das PC Keyb und das erfüllt genau diesen Zweck.

    afür müsste man schon einen Computer dort anschliessen. Man könnte diese Rapsberry Pi Spielzeug ja mit viel Aufwand an Export legen und...dann würden sogar irgendwie USB Drucker gehen und man müsste sich aus GEOS Seite noch nicht mal viel drum kümmern. Genial was?

    Genial wäre, sofern möglich, eine Userportvariante. Treibersoftware (non Geos) für unterstützte Hardware flashbar.
    Der USB Host müsste so aufgebaut sein, dass es den C64 weitgehend entlastet, ja.

  • Warum Joystick und Kassette ? Userport wäre ja auch noch neben den Expansionsport frei oder ist der dafür nicht schnell genug ?


    Es ist kein Speed-Problem; das Atari-Modul läuft ja mittels ein paar Drähten am C64-Expansionport. Das Problem sit die Weitergabe der Daten an die Anwendung. Wenn Du z.B. ein USB-Joypad unterstützen willst, muß das Signal an die Joyports (oder a la Chameleon an Spiegelregister...) sonst geht kein Spiel.


    Ich denke da an einer externen Hardwarelösung (am Expansionsport oder Userport), was selbst reichlich Ram mitbringt.


    Das macht es einfacher, aber nicht kompatibler zu bestehender Software. Klar kann man alles umpatchen...