SD card am Paralellport, MS-DOS

  • Muss die SD-Karte nicht nur den FET ansteuern? Das sollte sie doch schaffen! Ein FET hat ja einen sehr hohen Gate-Widerstand.


    Aber wenn ich mir das so anschaue, du brauchst drei Datenleitungen und einen Eingang, das sollte auch am ATARI ST umsetzbar sein!

    1ST1

  • 1ST1,
    welchen Strom die SD-Karte treiben muss weiß ich aktuell nicht, man müsste sich mal die Beschreibung auf Wikipedia oder wo auch immer durchlesen, bzw. diese Schaltung verstehen. Ich weiß nur das so die Pegel begrenzt werden. Ob der Transistor da jetzt verstärkend mit wirkt glaube ich ertmal eher nicht.


    Was den ATARI ST angeht, so habe ich durchaus das "Ziel" so etwas auch für den Atari ST zu machen, weil tatsächlich ein einziger Eingang hierfür reicht. Als Software könnte man ein "Programm" schreiben, dass Daten bzw. Files auf die Karte oder von der Karte kopiert.

    Als Schritt zwei könnte man einen Treiber programmieren, um die Karte als Laufwerk einzubinden. Dieser Schritt ist vermutlich nicht ganz so einfach.


    mfG. Klaus Loy

  • Der FET arbeitet ganz normal als Schalter, die SD-Karte steuert mit sein Gate, die Last läuft von Source nach Drain. Der Gate-Eingang des FET ist sehr hochohmig.


    Was den ATARI ST angeht, so habe ich durchaus das "Ziel" so etwas auch für den Atari ST zu machen, weil tatsächlich ein einziger Eingang hierfür reicht. Als Software könnte man ein "Programm" schreiben, dass Daten bzw. Files auf die Karte oder von der Karte kopiert.


    Besser als Treiber. Wenn du was lauffähiges hast, was es ermöglicht, auf die Karte zuzugreifen, nimm mal mit Uwe Seimet Kontakt auf, vielleicht baut er es in HD-Driver ein?

    1ST1

  • Bitte schick mir den Kontakt zu Ihm oder zu seinem Projekt, vieleicht gibt es da lehrreichen Source code.


    > Wenn du was lauffähiges ...
    Ich noch mit garnichts angefangen.


    mfG. Klaus Loy

  • Nachteil bei diesem Adapter, der 74LVC125A wird nur mit 3,3V betrieben, so dass die MISO Leitung auf der "5V-Seite" dann halt auch nur einen Pegel von 3,3V hätte, was mir ebenfalls ungünstig vorkommt. Bitte auch Meinung dazu.

    Das ist völlig in Ordnung. Laut Datenblatt kommen als high-Pegel unter widrigsten Bedingungen bei nur 3,0 Volt Versorgungsspannung und stolzen -24mA Belastung immer noch 2,2 Volt raus. Und selbst das liegt immer noch über 2,0 Volt, ab denen ein Standard-TTL oder LS-TTL ein High erkennt. Tendenziell wird der eher so gegen 3 Volt liefern, also alles gut.

  • Hab grad meinen SD-Card_LPT-Adapter fertig gebastelt, "endgültiger" Aufbau.

    Jetzt hab ich den passiven Pegelwandler so erstmal gelassen, weil es ja recht brauchbar funktioniert.
    Schaltplan, siehe #73 Treiber liegt bei #78



    Aufbau nun in einem alten 25pin Adapter Gehäuse.

    mfG. Klaus Loy

  • Hier noch eine Anmerkung zum Formatieren der SD/MMC-Card: Tip von tokabln

    Zitat von tokabln

    Hallo Klaus,

    ich empfehle bei USB- oder SD Kartenproblemen immer den SD-Formatter... der macht keine Sauerein

    https://www.sdcard.org/downloads/formatter/

    Der Formatierer Funktionier einwandfrei in Verbindung mit dem SD_LPT-Adapter


    mfG. Klaus Loy

    • Offizieller Beitrag

    Genau- zurück zum Thema. Die Offtopic-Diskussion findet ihr jetzt hier: Der Transistor (Offtopic aus SD Card am Parallelport)

    Denn Feindschaft wird durch Feindschaft nimmermehr gestillt; Versöhnlichkeit schafft Ruh’ – ein Satz, der immer gilt. Man denkt oft nicht daran, sich selbst zurückzuhalten; Wer aber daran denkt, der lässt den Zorn erkalten. Sprüche von Buddha, aus dem ‹Dhammapada›.


    Mein Netz: Acorn | Atari | Milan | Amiga | Apple //e und IIGS | Macintosh | SUN Sparc | NeXT |SGI | IBM RS/6000 | DEC Vaxstation und Decstation| Raspberry Pi | PCs mit OS/2, BeOS, Linux, AROS, Windows, BSD | Stand-alone: Apple //c und III | Commodore 128D | Sinclair QL | Amstrad | PDAs

  • Jetzt muss ich grag hier noch ein paar Gedanken absetzen:


    Da war ja die frage, ob sich der SD_to_LPT Adapter auch direkt von der LPT-Schnittstelle speisen ließe, z.B. über die nicht verwendeten TTL Ausgänge. Also hab letzte Woche mal versucht die Stromaufnahme des Adpters zu messen und sie war relativ gering, so um die 20..40mA. Die Messung war allerdings nicht besonders genau.

    Dann kam mir gestern der Gedanke, ich hab ja einen LPT nach SCSI Umsetzer "Adaptec Mini SCSI", MA348 oder so ähnlich.
    Dises "Gerät" hat keine externe Spannungsversorgung, d.h. es speist sich auch von der LPT-Schnittstelle.
    D.h. wenn die das können, dann könnte man das auch bei dem SD_to_LPT Umsetzer tun, was diesen dann leichter anwendbar macht.

    Also da muss ich nochmal ran, Adapter um diese interne Speißung erweitern.
    Und im Treiber die nicht verwendeten PINs auf High schalten.



    Nachtrag:
    obigen Text wollte ich eigentlich in den ursprünglichen Thread eintragen.
    Hab mich aber irgendwie in den abgetriffteten Thread verirrt, egal macht auch nichts.



    mfG. klaus loy

    Einmal editiert, zuletzt von klaly ()

    • Offizieller Beitrag

    Hab Deinen Beitrag mal an die richtige Stelle verschoben.

    Denn Feindschaft wird durch Feindschaft nimmermehr gestillt; Versöhnlichkeit schafft Ruh’ – ein Satz, der immer gilt. Man denkt oft nicht daran, sich selbst zurückzuhalten; Wer aber daran denkt, der lässt den Zorn erkalten. Sprüche von Buddha, aus dem ‹Dhammapada›.


    Mein Netz: Acorn | Atari | Milan | Amiga | Apple //e und IIGS | Macintosh | SUN Sparc | NeXT |SGI | IBM RS/6000 | DEC Vaxstation und Decstation| Raspberry Pi | PCs mit OS/2, BeOS, Linux, AROS, Windows, BSD | Stand-alone: Apple //c und III | Commodore 128D | Sinclair QL | Amstrad | PDAs

  • Die Sache mit "Adaptec Mini SCSI", MA348 ist wohl doch anders als gedacht.
    Der holt sich seine Spannung vermutlich doch nicht vom LPT-Port sondern außschließlich oder zusätzlich vom PIN 38 des SCSI Steckers, +5V TERMPWR, das ist mir heute eingefallen und auch mit dem Ohmmeter bereits bestätigt. Evtl kommt auch noch Spg vom LPT-Port was ich aber jetzt nicht mehr wirlich glaube.

    Das erklärt auch einige "Effekte" ich konnte nämlich ein paar Wenige SCSI Platten mit dem Adapter zum "Laufen" kriegen und ein paar andere wurden nicht erkannt, da gab es bereits Probleme mit MA348 Treiber. Vermutlich haben die "guten" Platten eine 5V TERMPWR geliefert und die anderen nicht und somit konnte der ASPI Treiber den Adapter gar nicht hoch bringen.

    D.h. ich muss diese Versuche nochmal durchführen und da dann auf die 5V TERMPWR achten.
    Dann werde ich auch die ATARI SH2xx nochmal probieren.

    mfG. Klaus Loy

  • eine einzige Datenleitung an der parallelen Schnittstelle sollte in der Lage sein, so ca. 5-15mA treiben zu können (das reicht normalerweise grade so für eine LED mit Vorwiderstand). Riesige Sprünge kanst du damit nicht machen, aber vielleicht reicht's ja.


    Tobias

  • für das sd interface könnte es gehen, aber meine vermutung zum scsi adapter war falsch.

  • ... jetzt mit meinem schönen "neuen" XT-Computer wollte ich mal das LPT SD-Interface benutzen, aber der SD.SYS Treiber hängt sauber auf, das System bleibt einfachen hängen. Getestet mit DOS 3.31 und DOS 6.22

    D.h. SD.SYS tut nich mit einem alten 8088 Prozessor.
    Warum ist im Moment noch unklar.
    Ich muss es bei Gelegenheit auf einem alten 8088 Laptop mal probieren.


    Jetz werd ich dann mal INTERLNK.EXE und INTERSVR.EXE auf dem XT probieren.
    Evtl. liegt es ja auch am Parallelport der Herkules Grafik Karte.

    Mal schaun, ...


    mfG. Klaus Loy

  • Also, INTERLNK und INTERSVR funktionieren auf dem alten XT soweit einwandfrei.
    D.H. die parallel Schnittstelle ist OK.

    Vermutlich ist der Treiber SD.SYS nicht für 8088/8086 übersetzt worden (Turbo C), oder es ligt am Assembler Teil. Das muss ich bei Gelenheit prüfen.

    mfG. Klaus Loy

  • Moin zusammen,

    Ich habe den modifizierten source code (SDPP12) von klaly (vielen Dank dafür!) mittels Borland C++ 3.1 neu compiliert und auf einen IBM 5155 mit 8088er eben kurz getestet. Eine 256 MB µSD-Karte würde erkannt und als Laufwerk eingebunden. Lese- und Schreibgeschwindigkeit sind aber sehr langsam.

    Der NC100SD-Treiber von nilquader scheint aber auch auf dem 8088 zu laufen: https://www.nilquader.net/pc.htm (beachtet aber die Unterschiede im Schaltplan des Adapters).

    Ich entsinne mich gesehen zu haben, dass meine Eagle-Files hier verlinkt wurden, ggf. werde ich die nochmal updaten da der µSD-Slot bei LPTs auf ISA-Karten in Desktop PCs nach unten zeigt und somit schlecht zugänglich ist. Auch kommt klaly dann in die Danksagung auf dem silkscreen.


    Disclaimer: ich habe keine Ahnung von C/C++, Compiler und Assembler und weiß nicht sorecht was ich da gemacht habe, auch gab es ein paar Warnungen im make-Prozess aber wohl keine Fehler.


    EDIT: Dateianhang auf Wunsch des Users gelöscht, der richtige Anhang ist hier:

  • Kanpai : Würdest Du in das ZIP File bitte auch den Quellcode der Version 12b mit reinpacken ?


    Lieben Dank.

    Gruß Torsten

    BFZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, MSX VG8010, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500 & 1200, Atari Portfolio, HP200LX, IBM PC5155, TP755c, TP755cx, T20, T41, T61, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e, Sharp PC1401 & PC1403H, TI59 m. PC-100c, HP48SX & HP48GX


    An die Person, die meine Schuhe versteckt hat, während ich auf der Hüpfburg war: Werd' erwachsen! :motz:


    ::matrix::

  • tokabln : am SRC von klaly habe ich nichts geändert, dieser findet sich verlinkt im post #78. Der Unterschied liegt darin, dass ich den SRC speziell für den 8088er-Befehlssatz mit einer älteren Version von Borland C++ kompiliert habe.

    Wenn ich es richtig sehe kann ich meine alten Einträge (noch) nicht editieren, sonst würde ich gerne den Anhang in #111 mit dem SRC ergänzen.

  • Danke...

    Gruß Torsten

    BFZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, MSX VG8010, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500 & 1200, Atari Portfolio, HP200LX, IBM PC5155, TP755c, TP755cx, T20, T41, T61, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e, Sharp PC1401 & PC1403H, TI59 m. PC-100c, HP48SX & HP48GX


    An die Person, die meine Schuhe versteckt hat, während ich auf der Hüpfburg war: Werd' erwachsen! :motz:


    ::matrix::

  • Erledigt.

    Denn Feindschaft wird durch Feindschaft nimmermehr gestillt; Versöhnlichkeit schafft Ruh’ – ein Satz, der immer gilt. Man denkt oft nicht daran, sich selbst zurückzuhalten; Wer aber daran denkt, der lässt den Zorn erkalten. Sprüche von Buddha, aus dem ‹Dhammapada›.


    Mein Netz: Acorn | Atari | Milan | Amiga | Apple //e und IIGS | Macintosh | SUN Sparc | NeXT |SGI | IBM RS/6000 | DEC Vaxstation und Decstation| Raspberry Pi | PCs mit OS/2, BeOS, Linux, AROS, Windows, BSD | Stand-alone: Apple //c und III | Commodore 128D | Sinclair QL | Amstrad | PDAs

  • Jetzt muss ich mich auch mal kurz wieder hierzu melden.

    Ich dachte auch, dass der Treiber mit einem 8088 nicht funktioniert.
    Naiv hab ich den Treiber letzhin aber an einem NEC-Multispeed mit NEC 8088, bzw. mit V-Chip ich glaube NEC V20 probiert und es hat funktioniert.
    Könnte es sein, dass sich der V20 da anders verhält wie ein echter 8088, oder hab ich mich damals getäuscht.

    Hab Ihr es auch mal mit einem 8088 PC ausprobiert ?
    Bzw. was hat Kanpai am Compiler umgestellt ?

    Es wäre sicher gut den Treber noch besser zu machen.
    Eine Idee wäre, den Adapter alleine durch die nicht verwendeten LPT Port Ausgänge mit 5V zu speißen.
    Dadurch bräuchte man keine extra Spannung anlegen.
    D.h. über Schottky Dioden die 5V für die SD-Karte aus den extra Port Pins ziehen.
    Da müssten die "Reserve Pins" halt alle auf High geschaltet werden.
    Wieviel Strom benötigt wird und wieviel dadurch geliefert würde weiß ich leider nicht.

    ... Zeit müsste man halt haben.


    mfG. Klaus Loy

  • Könnte es sein, dass sich der V20 da anders verhält wie ein echter 8088, oder hab ich mich damals getäuscht.

    Der NEC V20/V30/V40/V50 haben schon die 80186-Befehle, das reicht offensichtlich für viel Software, die für den 80286 im Real Mode kompiliert wurden. Dadurch läuft auch der IOMEGA GUEST Treiber für ZIP-Laufwerke auf XTs...


    ... Zeit müsste man halt haben.

    Rentner haben nie Zeit...

  • klaly wenn ich mich recht entsinne hattest du Borland C++ 4.5 verwendet, allerdings unterstützt BC++ ab Version 4.0 wohl den 8088er Befehlssatz nicht mehr (finde da aber leider keine belegbare Quelle).

    Mit mehr Glück als Verstand habe ich den Treiber mit Borland C++ (v3.1) compiliert - ich denke das ist der einizige Unterschied.