Hallo Besucher, der Thread wurde 1,7k mal aufgerufen und enthält 9 Antworten

letzter Beitrag von Martin_75 am

USB/LPT-Adapter mit X1541 - Funktioniert das?

  • Hallo!


    Neue PCs haben ja kaum mehr LPT-Anschlüsse. Nachdem ich aber mein X1541-Kabel anschließen möchte, frage ich mich:
    Funktioniert das X1541 auch mit einem USB2LPT-Adapter? :?:
    Das es theoretisch gehen müsst, ist mir klar. Ich würde aber gerne wissen, ob jemand sowas schon gemacht hat, bevor ich mir so einen Adapter zulege.


    mfg


    Logiker

  • Das geht nicht! Aus dem Grund wurde das XU1541 und später das Zoomfloppy USB Kabel entwickelt.

    Code: Floppy Fehlerkanal abfragen - Ausserdem kann ich bei "drive not ready" den I: und N: Befehl verwenden und notfalls den Kopf manuell zurückschieben. Und Finger weg vom Stepper!
    1. 10 open1,8,15 : rem 8 ist die Geräteadresse und das kann man bei Bedarf natürlich anpassen
    2. 20 get#1,a$:?a$;:ifst<>64goto20 : rem Das CLOSE 1 am Ende kann man sich sparen, weil beim RUN automatisch ein CLOSE ALL ausgeführt wird.
    3. RUN
  • Ich möchte noch kurz den technischen Hintergrund erläutern, warum das nicht gehen kann:


    Die Adapterkabel LPT <==> IEC-Bus verwenden den Druckerport nicht wie vorgesehen (Aufruf von BIOS-Routinen, bzw. Betriebssystemfunktionen), sondern 'mißbrauchen' ihn quasi als 'User-Port'. Das bedeutet, wie beim USER-Port des C64 wird da direkt hart auf die Hardware-Register des Portbausteins zugegriffen. Da er LPT-Port ursprünglich zu nichts anderem als zum Anschluß eines Druckers konzipiert war, ist er entsprechend auf die Bedürfnisse eines Druckers ausgelegt: 8 Datenleitungen Unidirektional (Computer -> Drucker) sowie ein paar Steuerleitungen, mit denen der Drucker z.B. melden kann, daß er nicht bereit ist oder daß das Papier ausgegangen ist.
    Ein Schreiben in bzw. Lesen aus den entsprechenden Hardwareregistern erfolgt bei direkter Programmierung 'just in time', also ohne merkliche Verzögerung. Und genau das ist notwendig, denn hier muß ein serielles Protokoll mit kritischem Timing in Software nachgebildet werden.


    Bei den USB/LPT-Adaptern entfällt jedoch die Möglichkeit, einzelne Leitungen direkt zu programmieren. Statt dessen wird hier ein virtueller Port angesprochen, der über den USB-Stack an die USB-Hardware weitergereicht wird. Auf der anderen Seite (USB/LPT-Kabel) wird das Ganze dann wieder über einen USB-Chip decodiert und an dem Hardware-Port ausgegeben. Da der USB-Stack aber sein eigenes Timing macht (da werden auch noch andere Daten als die Nutzdaten übertragen), ist eine zeitgenaue Abbildung der Aktionen des steuernden Programms auf die Hardware nicht möglich. Somit kommen die Daten theoretisch zwar richtig an, aber nicht zum richtigen Zeitpunkt.