Beiträge von PAW

    FLUXKRYOCONV konvertiert RAW zu FLX



    Das Programm FLUXKRYOCONV kann RAW-Dateien die mit Kryoflux erstellt wurden auf FLX-Dateien für FLUXCOPY umwandeln. Die Fluxdaten müssen je Track und Seite in einer eigenen Datei gespeichert sein!


    FLUXKRYOCONV-050.zip


    In Zukunft sollte es dann möglich sein, auch Disks die mit Kryo gespeichert wurden, mit FLUXCOPY wieder auf eine Disk zu schreiben.


    Grüße, PAW

    P.S.: Die Frage im vorigen Thread war offenbar zu schwer zu erraten!


    Deshalb noch ein Hinweis: Wie konnte gpospi eine falsch (softsektor) oder gar nicht formatierte Diskette am AES zum Laufen bringen, obwohl am AES kein Formatierungsprogramm zur Verfügung stand?

    Frage: Was hat das wohl zu bedeuten ???


    Meldung vom 2.5.2021

    Ich habe dafür einen Erfolg mit Eigenbau-Hardsector-Disks zu vermelden: Es ist mir gelungen, eine funktionsfähige Disk einfach per Lochzange zu erstellen. Die Disk ist zwar geräuschvoll, da die Löcher leichte Grate aufweisen und diese an der Hülle kratzen. Dennoch hat mein AES Rechner keine Probleme mit der Verwendung.

    &thumbnail=1

    Super Lösung für Hardsektor-Disks! Sind ja schon eine Rarität. :thumbup:



    Noch ein Hinweis zur Lösung der Frage:


    Auf dem AES-Lanier gibt es kein Diskettenformatier- oder Kopierprogramm!


    Spätestens morgen werde ich das Rätsel auflösen.


    Gruß


    PAW

    FLUXDUMP Vers.042 auch für BULL Questar Images



    Die neue Version FLUXDUMP 042 kann nun auch den Inhalt von BULL Questar M – Images sektorweise anzeigen.


    FLUXDUMP-042.zip


    Zum Probieren, habe ich ein paar Tracks einer BULL CP/M, sowie QMOS -Diskette vorbereitet, welche ich von Aquarius erhalten habe. (Danke!)


    DEMO1-BULL CPM.zip

    DEMO2-BULL QMOS.zip


    Die Bedienung ist gleich wie bei Version 040, außer dass man zwischen zwei Formaten wählen kann. Zusätzlich gibt es ein Feld, in dem diverse Lesefehler aufgelistet werden.


    Wie schon gehabt:

    FLUXDUMP löscht im Unterverzeichnis alle Dateien, mit der Endung „FMdmp.txt“ ohne zu fragen! Danach werden die einzelnen Dateien gedumpt. Die Dateien können mit dem Editor angesehen werden.


    Grüße


    PAW


    Habe den Algorithmus für die zweite Checksum herausgefunden.


    Es werden dabei, nicht wie bei Checksum1, die Datenbytes summiert, sondern die Zischensummen von CKS1. Das Ergebnis wird ebenfalls auf 8 Bit reduziert unter Einbeziehung der Überläufe.


    Gruß, PAW

    FLUXDUMP für AES-Lanier Disketten


    Um den Inhalt der, mit FLUXCOPY eingelesenen, AES-Disketten ansehen zu können, habe ich ein kleines Dump-Programm erstellt. Mit diesem ist es möglich die FM-Codierten Fluxdaten in Hex und ASCII-Darstellung abzubilden.


    FLUXDUMP-040.zip


    Zum Probieren, habe ich ein paar Tracks einer AES-Bootdisk, sowie Textdisk vorbereitet, welche ich von gpospi erhalten habe. (Danke!)


    AES-Bootdisk Auszugsweise 3 Tracks.zip

    AES-Textdisk Auszugsweise 3 Tracks.zip


    Für einen Test FLUXDUMP.exe in ein Verzeichnis kopieren und die Images in je ein Unterverzeichnis speichern. Nach dem Starten von FLUXDUMP im Feld „Folder of Fluxfiles“ das jeweilige Unterverzeichnis angeben und den Button „READ FILE“ drücken.


    FLUXDUMP löscht im Unterverzeichnis alle Dateien, mit der Endung „FMdmp.txt“ ohne zu fragen! Danach werden die einzelnen Dateien gedumpt. Die Dateien können mit dem Editor angesehen werden.


    Viel Vergnügen!


    PAW


    Hallo Aquarius


    Diddl hat Deine Frage schon mal weitgehend beantwortet.


    Zitat von Diddl

    Ich sag mal so, Flux ist genial, wenn man kopieren oder archivieren will, ohne genau zu wissen was das überhaupt ist.

    Dazu möchte ich anmerken, dass das nur für Disketten gilt, bei denen die Indexlöcher auch tatsächlich verwendet werden. Es gibt aber auch Systeme die sich um das Indexloch nicht kümmern. Dort muss man sehr wohl wissen, wo die Gaps liegen, sonst kann es passieren, dass beim Kopieren der Start/Endepunkt mitten in den Daten liegt, was zu Datenfehlern führen kann. Es muss immer innerhalb eines Gaps mit dem Schreiben aufgehört werden!



    Zitat von Diddl

    Aus Flux ein Disk Image zu machen, ist eine Herausforderung.

    Und das Problem ist, dass es sehr System spezifisch ist.

    Also eher dann etwas für Fachleute der speziellen Systeme ...

    Das ist soweit richtig, das Problem ist nur, Fachleute dafür zu finden ...


    Zitat von Diddl

    Aber prinzipiell ja, SAMConv ist anwendbar.

    Sobald jemand ein Programm anbietet, das aus den Flux Daten den Inhalt heraus liest.

    Dem kann ich nicht ganz zustimmen. Es gilt nur für CP/M-Disketten die µPD765 und Co. kompatibel sind, also FM und MFM Formate die am PC-Floppycontroller bearbeitbar sind. Der Grund dafür liegt vor allem in der Struktur der SAMdisk Dateien, welche nur für diese Formate ausgelegt sind. Das heißt, dass derzeit auch keine hard sektorierten CP/M-Disketten bearbeitbar sind. Ob solche in SAMdisk-Dateien überhaupt abgebildet werden können, wird die Zukunft zeigen.


    Grüße


    PAW

    FLUXCOPY/FLUXTEEN Neue Test-Version


    Diese Version kann an verschiedene Driveparameter angepasst werden, welche im Feld neben des EXIT-Buttons aufscheinen. Derzeit werden nur 5.25“ DD-Laufwerke unterstützt.


    Es muss sowohl FLUXCOPY als auch FLUXTEEN auf Version 0.50 updated werden. Ein Mischen der Versionen ist nicht vorgesehen.


    Standardmäßig sind alle vier Laufwerke auf PHILIPS 80 Track Doubleside DD voreingestellt.


    Mittels Commandline können folgende Parameter eingestellt werden, welche aus den technischen Daten des jeweiligen Laufwerkes zu entnehmen sind:


    MaxTrack letzte Tracknr

    MotorStartTime msec

    StepToStepTime msec

    HeadLoadTime msec

    HeadSettingTime msec


    ACHTUNG! Bei zu kurzen Zeiten kann es zu Fehlfunktionen kommen. Z.B. ist die StepToStepTime zu kurz angegeben, dann wird der Kopf überhaupt nicht bewegt und macht vermutlich seltsame Geräusche. Im Zweifelsfall eher längere als kürzere Zeiten angeben.



    Bestehende Commandline-Parameter von Vers. 0.40


    /C="nnn" selektiert COM nnn

    /D="n" selektiert Drive Nummer n = 1 to 4

    /I="nn" tpi von Drive nn = 48 oder 96, ansonst bleibt unverändert

    /F="nn" von Spur

    /T="nn" bis Spur
    /P="x" x: S = single, D = double step
    /S="n" Seiten n = S (single side), D (double side), 2 (nur Seite 2 alleine)

    /R="n" Anzahl Wiederholungen pro Spur n = 0 to 5

    /H="folder" Name des Subfolders



    Zusätzlich zu den bestehenden gibt es in Vers. 050 nun folgende:


    /M="DriveN,DriveType,Size358,DD,MaxTrack,MaxSide,MotorOnTime,UnitSelToStepTime,ChangeStepDirTime,StepToStepTime,HeadSettingTime"


    DriveN ... Drive "1" - "4" oder "*" für alle Laufwerke


    DriveType ... TYPE max. 10Zeichen, darf folgendes nicht enthalten: , ' "

    z.B.: PHILIPS oder PANASONIC oder TANDON


    Size358 ... 5 oder 5.25 für 5.25", derzeit nur 5.25” Laufwerke vorgesehen


    DD (drive density) derzeit nur DD vorgesehen, auch bei HD-Laufwerken


    MaxTrack ... letzte Spurnummer (z.B.: 79)


    MaxSides ... 1 = single side, 2 = double side


    MotorOnTime Wartezeit nach Motorstart

    UnitSelToStepTime Wartezeit nach Slektieren des Drives bis Stepsignal

    ChangeStepDirTime Wartezeit nach Wechsel der Steprichtung

    StepToStepTime Wartezeit nach jeden Stepimpuls

    HeadSettingTime Wartezeit nach Umschalten der Seite


    Alle Timings für MotorOnTime, etc. werden in Millisekunden angegeben

    z.B.: Werte für Philips X3113 Laufwerk 3: /M='3,5.25,79,2,500,1,10,6,20'


    HINWEIS: Werden Angaben für verschiedene Laufwerke angegeben, dann werden die Zuordnungen der Reihe nach ausgeführt. Man kann z.B. die Werte mit „*“ an alle Laufwerke zuweisen und danach einzelne mit anderen Werten überschreiben.


    Hier ein Beispiel für den Link (Eigenschaften/Ziel) in dem COM14 und Drive 3 ausgewählt werden. Drive 2 ist für ein altes SHUGART Laufwerk, SingleSide 35 Track konfiguriert, Drive 3 für ein PANASONIC HD Laufwerk, DoubleSide 80 Track. Hier wird derzeit trotz HD-Fähigkeit nur DD angegeben. Wird erst in Zukunft auch für HD möglich sein.


    "C:\TEST\FLUXCOPY 050 - Test.exe" /C='14'/D='3' /M='2,SHUGART,5.25,DD,39,1,500,10,20,20,75'/M='3,PANASONIC,5.25,DD,80,2,500,1,10,5,20'



    Hier die Programme (HEX-File für FLUXTEEN und FLUXCOPY.exe für Windows):

    FLUXCOPY 050-Test.zip


    Wie immer gilt: die Verwendung ist auf eigene Gefahr!


    Wie geht es weiter? Der nächste Schritt wird sein, FLUXCOPY auch das Schreiben beizubringen. Versuche sind bereits im Gange.



    Viel Erfolg!


    PAW

    Zitat von Shadow-aSc

    also - ich hab jetzt diesen Programmcode in meine *.ino am Ende mit eingefügt - Compilieren würde er das so - aber wie bring ich das auf die Anzeige (am besten auch aufs OLED-Display) ?

    Hallo Shadow-aSc!


    Ich würde den DBUG dafür benutzen und wieder einen Logfile erstellen.

    Damit könntest Du den Verlauf des Speicherplatzes verfolgen.

    Könnte etwa so aussehen (roten Code einfügen):


    #ifdef DEBUG
    Serial.print(F("Loop: HB:"));
    Serial.print(heartbeat);
    Serial.print(F(" Start, "));

    Serial.print("free:");

    Serial.print(freeMemory());

    Serial.print(" ");

    #endif //DEBUG


    Sollte der Speicherplatz von Durchlauf zu Durchlauf gleichbleiben, dann liegt das Problem wo anders. Sollte der Platz wachsen, dann hast Du einen Hinweis auf das Problem.


    Dann wäre noch interessant, den Speicher mit abgeschalteten OLED zu testen. Dann hast Du einen Vergleich zu einer funktionierenden Konstellation.


    Bitte die beiden Logfiles wieder hochladen.


    Grüße, PAW

    Zitat von Shadow-aSc

    Meldungen mit ...bin gespannt, ob dir das was nutzt, wenn er dann abstürzt?


    edit: oh - das hat ja nicht lang gedauert ... nach einigen Sekunden hat er sich in diesem Modus bereits aufgehängt:


    Im Logfile ist ersichtlich, dass er rundum läuft, aber nach der letzten Schleife hängen bleibt.


    Könnte sich dabei um Platzmangel im RAM handeln. Geht möglicherweise bei jedem Durchlauf RAM "verloren".


    Siehe dazu z.B. folgenden Artikel: freeMemory


    Habe solches bisher nicht ausprobiert, da ich bis jetzt keine Absturzprobleme mit meinen Arduino-Programmen habe.


    Eventuell pro Schleife den freien RAM-Bereich anzeigen lassen. Wird er pro Schlefe kleiner, dann liegt dort das Problem.


    Grüße


    PAW

    Habe mal kurz im Netz nach 100TPI-Laufwerken mit Shugart-Bus gesucht und habe z.B.: folgendes Servicemanual gefunden:


    TANDON TM100-3M AND -4M


    MIt einem solchen Laufwerk könnte FLUXCOPY vermutlich zu Rande kommen, müsste man aber ausprobieren. Vielleicht verfügt jemand über ein solches (oder ähnliches) Laufwerk. Gab angeblich auch welche von Micropolis, habe ich aber nicht danach gesucht.

    Zitat von Diddl

    Allerdings, jetzt wo das vor mir liegt, bin ich nicht sicher ob ich das löten kann ...

    ... ich kann nicht mal die Beschriftung lesen ohne Mikroskop. :D


    Das Problem hatte ich auch, daher habe ich die Alternative mit den DIP-16 Chips eingebaut. Die kannst Du bequem sockeln und jederzeit tauschen. Bisher habe ich auch keine Nachteile gegenüber dem VHC14 feststellen können, die sich auf die Funktion von FLUXCOPY auswirken.

    Zitat von Toast_r

    Und wenn man ein 100 TPI Laufwerk mit Shugart-Bus hätte, bliebe noch offen:

    Kommt das Fluxcopy mit den unterschiedlichen Datenraten zurecht?

    Je nach Spur werden unterschiedlich viele Sektoren und auch Datenraten verwendet.

    Und wie sieht's mit der GCR-Kodierung aus? Oder werden die gelesenen Daten garnicht dekodiert?


    FLUXCOPY sollte mit unterschiedlichen Datenraten, sowie Laufwerksdrehzahlen zurecht kommen. Die Kodierung wäre ebenfalls egal, da FLUXCOPY (ähnlich Kryo & Co.) auf Fluxwechselebene arbeitet. Probleme könnte es bei Disketten geben, die das Indexloch nicht verwenden, also irgendwo mit den Daten aufsetzen. FLUXCOPY beginnt immer beim Indexloch und das wäre dann unter Umständen mitten in den Daten und nicht im GAP.


    Das 100TPI-Problem lässt sich grundsätzlich nur mit 100TPI-Laufwerken lösen. Selbst wenn man den Steppermotor eines 96TPI-Laufwerks modifizieren würde, hat man das Problem, dass die Abweichung nur ~4% beträgt (100 zu 96 TPI). So fein (nehme ich an) wird der Stepper nicht angesteuert. Aber dazu wurden ja schon in anderen Threads Überlegungen angestellt.


    Grüße, PAW

    Der obige Link bezieht sich auf die ursprüngliche Schaltung für den Testaufbau auf Breadboard.


    Der aktuelle Schaltplan ist in einem späteren Thread zu finden:


    SCHALTPLAN passend zu Platinen



    Zitat von mister-freeze

    Wäre da nicht der 74HC4049 der passende Ersatz für den VHC14?


    Zu den Varianten 74VHC14 und 74HC4050: der eine ist invertierend, der andere nicht. Dies wird jedoch automatisch in der Software ab Version 040 berücksichtigt. Es ist also egal, ob man invertierende oder nicht invertierende Treiber verwendet. Prinzipiell wäre auch ein 74HC4049 möglich, habe ich aber noch nicht ausprobiert.


    Wichtig ist nur, dass die Treiber die Eingangsspannung von +5 Volt vertragen und zwar bei einer Versorgungsspannung Vcc von +3,3 Volt.


    74VHC14 verträgt ca. 5,5 Volt.

    ACHTUNG! 74HC14 verträgt das nicht!


    74HC4049 und 74HC4050 vertragen bis ca. 15 Volt, da sie Levelshifter sind, haben dafür aber keine Schmitt-Trigger-Funktion (vertragen keine sehr langsamen Spannunngsanstiege, welche aber bei den Diskettenlaufwerken üblicherweise nicht vorkommen).


    Grüße, PAW

    DISKETTE MIT FLUXCOPY EINLESEN



    Mit „FLUXCOPY Test“ können 5.25“ Disketten auf Fluxebene eingelesen werden. Dabei wird je Spur eine FLX-Datei angelegt (ähnlich wie bei bestehenden Programmen).


    Zuerst muss das entsprechende COM-Port ausgewählt werden. Hinweise dazu findet man im obigen Thread: USB-SERIAL MONITOR


    Mit „Drive select“ wählt man das Laufwerk aus, das am FLUXTEEN angeschlossen ist.

    Je nachdem, ob es ein 40 oder 80-Spur Laufwerk ist, klickt man 48 oder 96 tpi an.

    Möchte man 40 Spurdisketten in einem 80 Spurlaufwerk lesen, dann wählt man „double step“ aus.


    Auf der linken Seite wählt man die gewünschten Tracks und Sides aus..


    Mit „Num of Retries“ legt man fest wie oft jeder Track gelesen werden soll. Am Schnellsten geht es natürlich mit Einstellung 0. Hier wird jede Spur nur einmal eingelesen, hat aber den Nachteil, falls es Lesefehler gibt, dass es keine Ersatzkopien gibt. (Beim Schreiben soll es dann die Auswahl geben, von welcher Kopie geschrieben werden soll.)


    Die FLX-Dateien werden alle im gleichen Unterverzeichnis abgelegt. Dieses muss sich im gleichen Verzeichnis wie FLUXCOPY.exe befinden. Der Name kann im Feld „Folder for Fluxfiles“ angegeben werden.


    Die einzelnen Dateien haben vorgegebene Namen mit folgendem Aufbau:


    @TRnnSn@


    TRnn … nn = Tracknummer 00 bis 79

    Sn ……. N = Seitennummer 1 bis 2


    Sobald alle Einstellungen gemacht wurden, kann man das Lesen mit dem „READ DISK“-Button starten. FLUXCOPY startet (via FLUXTEEN) den Motor, Selektiert das Laufwerk, stellt die Drehzahl fest (soferne eine Diskette im Laufwerk ist), positioniert den Lesekopf auf den ersten, gewünschten Track und startet das Lesen.


    FLUXTEEN liest einen kompletten Track in den RAM-Speicher und überträgt anschließend die Daten zum PC. Danach wird der nächste Track gelesen, usw.


    Der Vorgang kann durch den „STOP“-Button unterbrochen werden.



    COMMANDLINE-PARAMETER:

    Damit die Einstellungen nicht jedes Mal neu eingegeben werden müssen, kann man, wie schon beim USB-Serial Monitor, Commandline-Parameter angeben. Mit diesen lassen sich diverse Einstellungen vorbestimmen.


    Statt der "Anführungszeichen" können auch einfache 'Aphostrophen' verwendet werden, müssen aber jeweils am Anfang und am Ende des Literals gleich sein. Leerstellen zwischen den einzelnen Parametern sind zulässig, nicht aber innerhalb der Parameter.


    /C="nnn"          selektiert COM nnn

    /D="n"             selektiert Drive Nummer n = 1 to 4

    /I="nn"             tpi von Drive nn = 48 oder 96, ansonst bleibt unverändert

    /F="nn"            von Spur

    /T="nn"            bis Spur
    /P="x"              x: S = single, D = double step
    /S="n"              Seiten n = S (single side), D (double side), 2 (nur Seite 2 alleine)

    /R="n"              Anzahl Wiederholungen pro Spur n = 0 to 5

    /H="folder"      Name des Subfolders


    Beispiele:

    "/C=""2""/D=""4"" /I='48' /F='02' /T='33' /P='d' /S='D' /R='1' /W='3' /H='FLUX3'"


    Setzt nur das COM--Port auf 2:

    "/C='2'"



    Hier ist das Programm: FLUXCOPY 040 - Test.zip


    Wie immer gilt: die Verwendung ist auf eigene Gefahr!


    ACHTUNG! Dies ist eine Testversion! Das Timing ist für bestimmte 5.25“ Diskettenlaufwerke (X3113 von Philips P2500 … 80 Track double side) ausgelegt. Bei anderen Laufwerken kann es zu Fehlfunktionen kommen, wenn die Parameter nicht passen.


    Values for X3113 of P2500

    MaxTrack                             79                      (0-79)

    MotorStartTime                     500 msec

    StepToStepTime                   6 msec

    HeadLoadTime                     30 msec

    HeadSettingTime                   20 msec


    Mit diesen Parametern konnte ich auch ein 5.25“ HD-Laufwerk PANASONIC JU475-5 betreiben. Ein uraltes Shugart 400L (5.25“ 40 Track, single side) ging damit nicht, da die Timings dafür zu schnell waren, d.h. der Steppermotor kam mit den Impulsen nicht mehr mit und machte seltsame Geräusche.



    Ich wünsche gutes Gelingen!


    PAW

    Nachtrag zu Prüfsumme der AES-Lanier-Disketten


    AES Prüfsumme.JPG


    Nachdem ich den Algorithmus in ein Prüfprogramm eingebaut hatte und über alle AES-Images laufen ließ, stellte ich fest, dass nicht alle Tracks fehlerfrei waren. Bei der Systemdisk waren 5 Tracks fehlerhaft, bei den Datendisks praktisch alle.


    Bei nährem Hinsehen konnte ich eine Regelmäßigkeit feststellen: die Fehler traten prinzipiell nur bei Sektor 8 und 16 (16 = 0) auf.


    Fazit: Besonderheit bei AES-Disketten ist, dass die Prüfsummen bei Sektor 8 und 16 nicht wie bei den anderen, ab dem 2. Datenbyte, sondern erst ab dem 20. Datenbyte berechnet werden!


    Jetzt stimmen alle Summen. Damit ist auch bewiesen, dass die, von gpospi mit Kryoflux erstellten, Diskimages fehlerfrei sind.


    Und wieder was dazugelernt.


    Grüße


    PAW

    Algorithmus für die Prüfsumme der AES-Disketten herausgefunden.


    Es werden die Datenbytes, beginnend mit dem zweiten, in der Länge von 150 Bytes arithmetisch summiert. Die Summe wird auf 8 Bit reduziert (Modulo 256).


    Der Sektorheader wird also nicht berücksichtigt.


    Die Prüfsumme ist nur 8 Bit lang, obwohl in den Dumps oft 2 Bytes angezeigt werden. Beim Byte nach der Prüfumme handelt es sich vermutlich um Datenschrott, der dadurch entsteht, das nach Schreiben der Prüfsumme auf Lesen umgeschaltet wird. Das heißt der Schreibstrom bricht kurz nach der Prüfsumme ab und hinterläßt zufällige Impulse auf der Diskette.


    Grüße


    PAW

    UPDATE ZU: ERSTEM SKETCH für FLUXTEEN


    Aus gegebenem Anlass habe ich die Software aus dem Artikel


    ERSTER SKETCH


    auf den neuesten Stand der Hardware angepasst. Die Software ist nun in der Lage, sich automatisch an die beiden Hardware-Varianten von FLUXTEEN anzupassen. Das heißt sie funktioniert sowohl mit den invertierenden, als auch nicht invertierenden Treibern.


    FLUXCOPY040.ino.zip


    Hinweis: 040 bedeutet Version 0.40 und ist somit noch im Test-Status.


    Die Kommunikation zwischen PC und FLUXTEEN erfolgt weiterhin mittels des Serial Window der Teensyduino IDE oder mit dem von mir erstellten USB-Serial-Monitor Vers. 1.00, den ich auch schon vorgestellt habe. Prinzipiell sind auch andere V24-Programme möglich, kann aber sein dass sie unter Umständen nicht schnell genug sind und Zeichen verlieren. Bei der Testfunktion „Check Drive Speed“ sollte das aber kein Problem darstellen, da hier nur relativ wenig Daten transferiert werden.



    Nach dem Start erscheint die Meldung:


    FLUXTEEN 040  Testversion


    === STATUS:  No Drive selected MOT=OFF SIDE=1=FRONT TRACK=???,???,???,???

    Please send a Character to choose >



    Nach Eingabe eines Fragezeichens wird noch mal der Status plus ein kurzer Hilfetext angezeigt:


    === STATUS:  No Drive selected MOT=OFF SIDE=1=FRONT TRACK=???,???,???,???

    ?) Help, V)ersionInfo, S)elect disk 1..4 (S or S0 = deselect), M)otor on/off

    T)rackNo, 0)track 0, 1)side 1, 2)side 2, +)step in, -)step out

    *n)check drive speed of selected drive for n seconds

    '@d?XnS' or '@d?XnM' Speed test, where d=drive 1-4, n = 1-9, S=second or M=minute

    '@Tnnnn' send test data to PC, nnnn = number of lines. '@tnnnn' with delay

    Please send a Character to choose >


    Wie man sieht, gibt es ein paar zusätzliche Kommandos.


    Bisher:


    @d?XnS oder @d?XnM     

    Drehzahltest des Laufwerkes d=Drive 1-4, n = 1-9, S=Sekunden oder M=Minuten

                Mit X kann die Funktion vorzeitig gestoppt werden.

                z.B.: '@2?X3S'  startet Drive 2 für 3 Sekunden


    Neu:


    ?         Help

    V         Versions Info

    Sn       Selektieren eines Disketten-Laufwerkes 1..4 (S or S0 = Deselekt, z.B.: S1 selektiert Drive1)

    M       Motor ein/aus schalten (Bei Philips P2500 wirkt auf alle Drives gleichzeitig)

    Tnn     Selektiertes Laufwerk auf Track nn setzen. Tnn … nn = 00 bis 79
                Vorsicht bei 40-Track Laufwerken!

    0         Selektiertes Laufwerk auf Track 0 setzen

    1         Selektiertes Laufwerk auf Seite 1 = Frontseite stellen

    2         Selektiertes Laufwerk auf Seite 2 = Rückseite stellen

    +         Selektiertes Laufwerk auf nächste Spur stellen = Step In (Richtung Zentrum)

                Achtung! Hier wird keine maximale Track-Grenze geprüft! Steppt bis ansteht!

    -          Selektiertes Laufwerk auf vorige Spur stellen = Step Out (nach außen)

    *n        Prüft die Laufwerksgeschwindigkeit des selektierten Laufwerkes für circa n Sekunden

    @Tnnnn         Sendet ASCII Testdaten an den PC mit voller Geschwindigkeit.

    nnnn ist die Anzahl der Zeilen (je ca. 50 Zeichen)

    @tnnnn           Wie vorher, jedoch mit kurzen Verzögerungen

    von 100 Millisekunden nach jeweils 500 Zeilen



    Obige Funktionen können beim Testen eines Laufwerkes helfen, da sich damit eine bestimmte Spur und Seite einstellen lassen. Dann können mit dem Scope diverse Datenleitungen vom Floppydrive angesehen werden.


    Mit der Funktion @Tnnnn kann die Datenübertragung vom FLUXTEEN zum PC überprüft werden. Gehen Zeichen verloren, dann wäre das unter Umständen ein Problem. FLUXCOPY muss etwa 32000 Zeichen in einem Block übertragen können, ohne dass etwas verloren geht. Auf meinem PC (Pentium mit ca. 4GHz, Dualthread) können die Daten problemlos empfangen werden (auch einige 100 KB auf einmal).


    Viel Spass!


    PAW

    Zitat von Metalhead

    Grundsätzlich könnte ich natürlich damit leben; Ich könnte im Laufwerk B einfach immer eine Disk drin lassen, oder vielleicht noch besser, eine dieser Karton-Schutzdinger die anscheinend bei neuen Laufwerken drin waren (Der Hebel lässt sich bei diesem Laufwerk nur schliessen, wenn sich eine Disk darin befindet).

    Hallo Metalhead


    falls der Karton die Antriebsrolle blockiert, darfst Du diesen keinesfalls einlegen, sonst würde der Motor blockiert!


    Zitat von fanhistorie

    Das 5,25 sollte dann der Theorie nach, auch auf DS1 eingestellt sein, dieses wäre dann Laufwerk B

    Das ist natürlich völlig richtig. Beide Laufwerke müssen auf den gleichen Select eingestellt werden, sonst wäre der Twist im Kabel sinnlos.

    Was Du aber nachsehen kannst, ist, ob die LEDs auf den Laufwerken aufleuchten, wenn Du sie ansprichst (Disketten in beide einlegen). Es darf nur ein Laufwerk zur gleichen Zeit leuchten!!!


    Sollten beide leuchten, dann stimmt was mit dem Select nicht.

    Musst solange experimentieren, bis bei A: das eine und bei B: das andere Laufwerk aufleuchtet.


    Zitat von Metalhead

    Ein brauchbares Messgerät um Widerstände zu messen habe ich leider auch nicht.

    Gibt's im Baumarkt für ein paar Euro. Ohm messen können fast alle.

    Wäre wichtig zu wissen, ob das 3,5" einen Terminator hat oder nicht.


    Grüße, PAW

    Hallo Diddl


    falls Du inzwischen Langeweile hast, kannst Du die Arduino IDE etc. (wie auch in

    Thread #13 zeigt wie man HEX-File lädt

    erwähnt, schon auf dem PC installieren. Hilfe zur Installation gibt es auch im Netz (Suche nach ARDUINO IDE bzw. TEENSY oder TEENSYDUINO).


    Hinweis: Die IDE lässt sich auch auf Deutsch einstellen!


    Dann kannst Du ein Beispielprogramm für den TEENSY 4.1 installieren (gibt es jede Menge im Arduino Menü, auch für TEENSY).




    Damit kannst Du die Funktion des TEENSY mal testen. Das läuft auch ohne jede extra Platine! TEENSY 4.1 einfach über USB anschließen und los geht's.



    Sobald Du ein Beispielprogramm ausgewählt hast (hier z.B. BLINK), wählst Du im Menü den TEENSY 4.1 aus.



    ACHTUNG! Nicht die CPU-Speed über 600MHz drehen, sonst kann der TEENSY zu heiss werden!!!


    Wurde der TEENSY schon mal mit einem Programm geladen, dann sieht man das Serial Port im Menü.



    Beim ersten Mal wird nur die COM-Serial bei den TEENSY-Ports angezeigt. Diese darf nicht ausgewählt werden! Stattdessen einfach den ausgewählten Sketch hochladen (Pfeil rechts in obigem Menü). Nach dem Kompilieren erscheint dann kurz der TEENSY-Loader. Danach können das serielle Port und die "Boardinformationen" angezeigt werden.


    Die Port Nummer COMxx variert je nach System. Das System sucht sich eine freie COM-Port Nummer. Möchte man eine andere Adresse, kann man diese im Geräte-Manager (von Windows) ändern.


    Nun sollte die LED am TEENSY Blinken. Man kann dann das BLINK-Programm modifizieren, z.B.: den Delay ändern. Nach neuerlichem Hochladen blinkt dann die LED anders.


    Viel Vergnügen!


    PAW

    Zitat von Metalhead

    Das Problem mit dem Pentium-PC besteht weiterhin, falls also jemand da noch eine Idee hat, was ich noch ausprobieren könnte, bin ich offen dafür, ansonsten werde ich diesen wohl zurückbauen mit nur dem 3.5"-Laufwerk.

    Einiges, von dem was ich hier ausführe, wurde bereits gesagt. Ich möchte es aber trotzdem nochmals zusammenfassen.


    Ich würde noch folgendes probieren:


    bei den 3.5" und 5.25" Laufwerken jeweils nachmessen, ob die Terminator-Widerstände vorhanden sind oder nicht. Die Widerstände sind an allen Inputs zu den Floppylaufwerken installiert und haben ca. 150 Ohm gegen +5Volt. (Inputs: "gerade" Pins 10 bis 24, z.B.: MotorOn Pin 16, "ungerade" sind Ground).


    Die Theorie besagt, dass jeweils die Enden des Flachkabel (aus Sicht des Senders) mit jeweils einem Terminator pro Pin versehen werden müssen. (Die Terminatoren sind üblicherweise Widerstandsarrays.)


    Falls also kein Terminator oder zwei am gleichen Anschluss vorhanden sind, dann kommt es zu Fehlern bei der Datenübertragung. Wenn kein Terminator vorhanden ist, dann wird die Leitung nicht auf 5 Volt gezogen. (Es hängen an den Treibern üblicherweise Open Kolletor Ausgänge, die von sich aus keine positive Spannung liefern, sondern über den Pull-Up des "Gegenübers" Strom ziehen.) Sind hingegen zwei oder mehrere Terminatoren am Flachkabel (am gleichen Pin) angeschlossen, dann wird der zu ziehende Strom zu groß und die Treiber können die Leitung nicht mehr von +5Volt auf "Null" ziehen. Bei 150 Ohm benötigt man ca. 33mA um auf 0 volt zu kommen. Die Treiber schaffen üblicherweise 40mA. Hängen zwei Terminatoren dran, dann bräuchte man bereits 66mA, was zur Überlastung des Treibers bzw. Datenfehler führt.


    Auf dem Pentium PC läuft MS-DOS 6.22. Wie erwähnt befindet sich da drin ein 3.5"-Laufwerk und das von mir eingebaute 5.25"-Laufwerk (Ein Shugart SA-455). Beide Diskettenlaufwerke hängen an einem Kabel (Das Mainboard hat nur einen Floppy-Anschluss). Das 5.25"-Laufwerk befindet sich in der MItte des Kabels, das 3.5"-Laufwerk nach einem Twist an zweitletzter Stelle (Der letzte Anschluss des Kabels wäre wieder ein 5.25"-Anschluss, dort hängt nichts dran).

    Diese Anschlussbelegung ist nicht ganz korrekt! Hier würde ein Teil des Flachkabels quasi in der Luft hängen und Reflexionen verursachen.


    Ich habe bei meinem Pentium extra nachgesehen, welcher wie folgt verschaltet ist:


    ASUS-Board : Kabel : Stecker (leer) : Kabel : Stecker5.25" : Kabel verdreht : Stecker3.5"


    Das Kabel ist also unterschiedlich zu Deinem, da bei mir der Twist ganz am Ende ist. Das ist aber kein Problem.


    Du solltest folgende Konfiguration ausprobieren:


    Ein Floppy-Laufwerk mit und eines ohne Terminatoren (egal welches).


    Den Floppy-Kontroller an ein Ende anhängen (wie vermutlich schon vorhanden). Der Floppy-Kontroller beinhaltet ebenfalls Terminatoren, welche aber nur auf dessen Inputs hängen, also auf den anderen Leitungen.


    Das Laufwerk mit den Terminatoren ganz ans Ende des Kabel hängen.


    Das Laufwerk ohne Terminatoren irgendwo dazwischen (egal welcher Stecker).


    Hinweis: Sollte keines der Laufwerke einen Terminator haben, kann man auch die Laufwerke an den mittleren Steckern anschließen und einen externen Terminatorstecker ans Ende des Kabels hängen.


    Grüße


    PAW

    Ich habe jetzt die beiden FLUXTEEN Varianten am Scope verglichen.


    Variante 1 hat eine minimal größere Verzögerung des Signals (ca. um 10nsec mehr als Variante 2), was aber bei den zu verarbeitenden Signalen nicht relevant ist. (Raster für Fluxwechsel ist 40nsec).


    Variante 1 mit 74HC4050 (nicht invertierend):

    Signal 2 (unteres) ist der Input




    Variante 2 mit 74VHC14 (invertierend):

    Signal 2 (unteres) ist der Input



    Grüße


    PAW

    FLUXTEEN - Platinen


    Variante 1 mit DIP16 bestückt und TEENSY 4.1



    Nachdem ich von Günther vor ein paar Tagen die Printplatten bekam, habe ich zwei Varianten bestückt. Variante 1 ist mit einem 74HC4050 (nicht invertierend) bestückt, Variante 2 mit dem SMD-Bauteil 74VHC14 (invertierend). Letzterer war für mich wesentlich schwieriger zu Löten. Ob die Verwendung von 74HC4050 Nachteile bringt muss ich noch näher mit dem Scope überprüfen (Signalverzögerung von Eingang zu Ausgang, etc.). Bei ersten Tests verhielten sich die Varianten gleichwertig.


    Variante 2 mit SMD-Chip (noch ohne TEENSY)



    Keinesfalls dürfen beide Chips (U1 und U5) bestückt werden!


    Grüße


    PAW

    Zitat von Diddl

    Was braucht man denn um den Controller des Teensy zu flashen?
    Einen STM32 Programmer oder sowas?

    Hallo Diddl,


    zum Flashen brauchst Du keinen eigenen Programmer. Es genügt das Ladeprogramm wie es weiter oben beschrieben ist: Thread #13 zeigt wie man HEX-File lädt


    Falls Du aber auch gerne experimentieren möchtest, empfehle ich die komplette Arduino IDE und Teensyduino (enthält auch das Ladeprogramm) gratis runter zu laden. Dann kannst Du auch eigene Skatches damit erstellen und in den TEENSY (oder auch ARDUINO) laden. Der TEENSY 4.1 ist ja sehr vielseitig verwendbar, auch wenn die FLUXTEEN-Platine speziell auf Floppyansteuerung ausgelegt ist.


    Derzeit experimentiere ich mit meinen 640KB Philipslaufwerken (96tpi, double side, DD). Das ist die Geometrie, die für AES-Disketten nötig ist (wobei allerdings single side reichen würde). Andere Laufwerke (wie HD, etc.) werde ich mir erst ansehen, wenn meine Konstellation läuft.


    Die FLUXCOPY/FLUXTEEN Software ist noch in Arbeit und wird noch längere Zeit dauern. Ist eine Menge Arbeit!!!


    +++ Ausloten der Möglichkeiten von TEENSY 4.1 (gelöst)


    +++ Recherchen betreffend genaue Funktionsweise der Disketten wie Fluxwechsel, Modulation, Timing, Write Precompensation, Laufwerkseigenschaften, Gleichlauf, Sektorlöcher, etc. (in Arbeit)


    +++ Konzept wie die Daten gelesen/geschrieben werden sollen (während der Datenübertragung von/zu PC oder unabhängig trackweise lesen/schreiben und danach/davor Daten übertragen). Habe mich für letzteres entschieden. (gelöst)


    +++ Auswahl des unterstützten PC-Betriebssystems: Windos XP und Windows 10 und VB6 Compiler (fertig)


    +++ Kommunikation zwischen FLUXTEEEN und FLUXCOPY via USB-Serial Schnittstelle (gelöst)


    +++ Ansteuerung des Diskettenlaufwerkes wie Selektieren, Steppen, Indexerkennung, etc. (in Arbeit)


    +++ Lesen der Fluxwechsel einer Diskette (in Arbeit)


    +++ Konzept zur Speicherung der Fluxdaten auf dem PC (weitgehend fertig)


    +++ Schreiben einer AES-Hard-Sektor-Diskette (offen)


    +++ Test der Ergebnisse


    +++ Überarbeiten der Software vor Veröffentlichung der HEX und EXE Files


    +++ Dokumentation



    Sobald ich etwas Funktionierendes habe, werde ich ein HEX-File hochladen (ähnlich wie im Thread #13). Achtung! Das Hexfile in #13 ist nur für die invertierende Version (Bestückung mit 74VHC14, eventuell auch 74HC4049) geeignet. Neuere Versionen werden beide Varianten können.


    Was die Ausführung des TEENSY 4.1 betrifft, mit oder ohne Stiftleisten, ist im Prinzip egal. Habe beides probiert. Ist in einem Fall halt mehr Arbeit, funktioniert aber genau so gut.


    Grüße


    PAW

    Zitat von Diddl

    Dies Mikro USB Anschlüsse sind halt meist so filigran und reißen sehr leicht aus.

    Warum nimmt man nicht die große Variante die am Arduino Uno drauf ist?

    Da must Du den TEENSY-Hersteller fragen. Vermutlich ist Aufgrund der minimalen Größe des TEENSY 4.1 kein Platz vorhanden. Der Anschluss befindet sich nicht direkt auf dem FLUXTEEN-Board sondern auf dem aufgesteckten TEENSY 4.1. Sollte er mal kaputt gehen, liese er sich leicht tauschen.


    Zitat von Diddl

    Was ist eigentlich der Unterschied zu meiner SuperCard pro?

    Ich kenne die Supercard nur aus Deinem Link.


    Hier sehe ich einige Unterschiede:


    1.) Bei SCP gibt es keinen Hinweis auf hard sektorierte Disketten. Kann es diese überhaupt lesen? Kryoflux kann zumindest lesen. Ziel von FLUXCOPY/FLUXTEEN ist es (vorerst) Hard-Sektor-Disketten von AES-Lanier lesen und schreiben zu können. In weitere Folge könnten auch andere Formate folgen. Die Software ist aber erst in Entwicklung und wird noch eine Weile dauern. Wie ja bekannt ist, bietet kein anderer Hersteller das Schreiben für hard sektorierte Disketten an.


    2.) FLUXTEEN verwendet nur "Standardbausteine", welche selbst zusammengebaut werden können (müssen), da es keine Fertigung dafür gibt. Die Kosten werden vermutlich auch unter denen von SCP liegen, zumal der Hauptanteil beim TEENSY 4.1 mit ca. 30 Euro zu Buche schlägt. Der Rest ist eher "Kleinkram".


    3.) FLUXTEEN verwendet die wesentlich neuere und leistungsfähigere Hardware!

    - - - SCP verwendet CPU PIC24HJ256GP210A @160MHz (40 MIPs)

    +++ FLUXTEEN verwendet TEENSY 4.1 mit 600MHz


    === RAM: 512K bei beiden vorhanden


    === Storage: micro-SD card slot bei beiden vorhanden (wird aber bei FLUXCOPY nicht verwendet)


    - - - SCP hat nur einen bi-directionalen 34 Pin Floppy Drive Anschluss

    +++ FLUXTEEN hat wahlweise einen 34 Pin Stecker, als auch einen 34 Pin Edge-Connector


    Aufgrund der wesentlich schnelleren CPU mit 600MHz (entspricht ca. 600 bis 1000MIPs, weil ein bis zwei Befehle pro Takt ausgeführt werden können!!!) kann die Programmierung praktisch ohne zu Hilfenahme eines Assemblers vollständig in C++ durchgeführt werden.


    Grüße


    PAW

    FLUXTEEN - Printplattendesign


    Hier ist das Platinen Layout für FLUXTEEN.



    Die Abmessungen sind:            125mm / 61mm. (Änderungen vorbehalten)


    Zusätzlich zu dem im Schaltplan eingezeichneten 34 poligen Flachkabelanschluss habe ich noch einen 34 poligen Edge-Connector vorgesehen, wie er auch an meiner Philips P2500 (externe Laufwerke) vorgesehen ist. Die Anschlüsse sind wahlweise zu verwenden.


    Wie schon erwähnt, wird der Batterieanschluss und der Micro-SD-Einschub derzeit nicht verwendet.


    Grüße


    PAW

    AES-Lanier Diskette - Testdaten


    Hier ist ein Auszug der Testdiskette von gpospi


    AES Inhalt.JPG


    AES Inhalt Datei1.JPG



    AES Inhalt Datei2.JPG




    Aus nachfolgendem Bild ist die Sektorstruktur der AES-Diskette erkennbar. Hier wurden die Fluxwechselzeiten in "0" und "1" für jedes Bit umgerechnet.


    +++++ … Sektor Loch

    FM codiert, 8 Mikrosekunden pro Bit

    0 … 8 Mikrosekunden flux change

    1 … zwei 4 Mikrosekunden flux changes in Serie

    1+ … nur einen 4 Mikrosekunden flux change gefunden (gefolgt von einer 0), FEHLER

    diese falschen Pulsefolgen treten nur zwischen Indexlocj und Sektorheader auf


    Alle Bytes sind in verkehrter Bitreihenfolge zu lesen, d.h. niedrigstes Bit zuerst.



    AES Inhalt Datei binär.JPG


    In den nachfolgenden Dump-Daten sind die diversen Bildschirmtexte ersichtlich.

    Ein Inhaltsverzeichtnis konnte ich auf der Diskette nicht finden. Ein Sektor beinhaltet 151 Byte Nutzdaten. Am Ende befindet sich vermutlich noch eine Prüfsumme (CRC?) mit unbekanntem Algorithmus (bei Sektor 0 hier E1 08 siehe letzte Zeile von Sektor). Die Sektoren beginnen bei Sektor 1 bis 15, dann kommt Sektor 0 = 16. Die "+++" im Dump zeigen an, dass während dieses Sektors das Trackindex-Signal empfangen wurde. (Bei nachfolgenden Sektoren habe ich nur jene ausgewählt, die die Testdaten zeigen. Dazwischen waren noch weitere mit alten, gelöschten Daten.)


    Wenn man nach den langen Zeilen mit den 60 gleichen Buchstaben sucht, also z.B.: "aaaaa...", dann wird man diese nicht finden. AES komprimiert offenbar die Daten. Siehe z.B. Sektor 9. Hex 34 entspricht der Anzahl 60.


    Vielleicht findet jemand noch den Algorithmus für die Prüfsumme heraus. Mir ist es bis jetzt noch nicht gelungen.


    Grüße


    PAW

    Chuck Guzis hat scheinbar viel Zeit aufgewendet, um Disketten einer frühen AES/Lanier lesen zu können und dabei erstaunliche Absonderlichkeiten festgestellt. Z.B. MMFM bzw. M2FM Codierung, alle Sector Header sind absolut identisch, die Sektornummer steht mit im Datenfeld! Und als wäre das Alles nicht schon genug, ist die Bitabfolge in jedem Byte umgedreht, quasi rückwärts aufgezeichnet.

    Wie ich schon früher erwähnte, habe ich von gpospi ein Kryoflux-Image einer AES/Lanier-Diskette erhalten. Dabei konnte ich folgendes fest stellen: Die Disketten sind auf 96tpi-Laufwerken einseitig beschrieben, wobei nur jede 2. Spur verwendet wird. Das heißt die ungeraden Spuren sind leer. Die Modulation ist FM (kein M2FM). Alle Sektorheader beginnen mit dem gleichen Kennungsbyte. Im nächsten Byte steht die Tracknummer, gefolgt von Sektornummer (beginnend bei 1 bis 15, sowie 0 = 16). Tatsächlich sind die Bits in verkehrter Reihenfolge abgelegt. Die Zeichen sind im ASCII-Code gespeichert. Ein Datensektor ist ca. 150 Byte lang. Die genaue Länge konnte ich noch nicht eruieren. Dazu müsste man bestimmte Texte speichern, um zu sehen, bis zu welchem Zeichen die Daten in einem Sektor vorhanden sind. Ebenso konnte ich keine eventuelle CRC-Berechnung rausfinden.


    WICHTIGER HINWEIS: Wer seine Disketten mittels KRYOFLUX speichern möchte, darf auf keinen Fall die Sektorlöcher abdecken. Kryoflux zeichnet alle Indexpositionen auf. Diese können in Zukunft, sobald geeignete Software vorhanden ist, zum Schreiben benutzt werden.


    Bei Speichern empfehle ich auch trackweise zu speichern (nicht in einem gemeinsamen File). Der Grund dafür ist, dass ich eine Konvertierungssoftware von Kryoflux-RAW-Dateien auf mein eigenes Format "FLX" in Arbeit habe. Das FLX-Format dient dann als Basis für mein FLUXCOPY-Projekt.


    FLUXCOPY-Projekt zum Erstellen hardsektorierter AES-Disketten


    Weiters wird es ein kleines Dumpprogramm für AES-images (FLX-Format) geben, das den Inhalt der AES-Diskettenimages sektorweise lesbar macht.


    Weitere Aktivitäten in Bezug auf hardsektorierte Disketten werde ich im oben genannte Thread abhandeln.


    Falls jemand Interesse am Kopieren von anderen hardsektor Disketten (also keine AES-Lanier) hat, wäre es hilfreich Kryoflux-Images (ein File pro Track und Seite, wobei keine indexlöcher abgedeckt wurden) zu Analysezwecken bekommen. Außerdem wäre es hilfreich nähere Informationen zum Originalsystem, sowie zum System mit Kryoflux beizulegen (Disketten 5.25"/8", Anzahl Seiten, Anzahl Hardsektoren, Aufzeichnungsformat FM, MFM, etc., wenn bekannt, Aufzeichnungsgeschwindigkeit, Drehzahl der Laufwerke). Ganz wichtig wäre es Textdaten auf dem Image zu speichern und eventuell Screenshots der Texte vom Originalsystem beizulegen, damit ein Abgleich stattfinden kann. Sobald Das Projekt mit den AES-Disketten positiv abgeschlossen ist (wird noch eine längere Weile dauern), kann ich mich eventuell auch anderen Formaten widmen.


    Grüße


    PAW

    FLUXTEEN - Schaltplan


    Ich habe mich in der Zwischenzeit mit KiCad befasst. Ich finde, es ist ein gutes Tool, mit dem man in relativ kurzer Zeit Schaltpläne und in der Folge auch Platinen-Layouts erstellen kann. Ist jedenfalls kein Vergleich mit den Tools, die ich vor über 30 Jahren verwendet habe.


    FLUXTEEN-100.pdf


    Die Schaltung hat sich gegenüber dem ursprünglichen Entwurf nur minimal geändert. Ich habe sie im Wesentlichen um zwei LEDs ergänzt, sowie um eine Alternative zum SMD-Chip 74VHC14. Als Alternative für den invertierenden Schmitt-Trigger ist ein nicht invertierender Levelshifter 74HC4050 im DIP16-Gehäuse vorgesehen. Dies bietet den Vorteil, dass man keine SMD-Bauteile verlöten muss. Es darf aber nur einer der beiden Bauteile verbaut werden! Im Prinzip könnte auch ein invertierender Levelshifter 74HC4049 eingebaut werden. Diese Konstellation habe ich aber nicht getestet.


    Außerdem sind Lötjumper zu allen Floppy-Anschlüssen vorgesehen, falls irgendwelche Leitungen aufgetrennt oder anders verschaltet werden sollen. Die Batteriehalterung (für die im TEENSY eingebaute RTC) wird für die geplanten Funktionen nicht benötigt, da die Uhrzeit sowieso vom PC kommt.


    Anmerkung zum 74VHC14: Dieser Chip verträgt Eingangsspannungen bis zu 5.5Volt, auch wenn die Versorgungsspannung Vcc kleiner ist (3,3Volt von TEENSY)! Bei anderen Typen wie 74HC14 ist dies nicht der Fall. Diese vertragen nur Vcc + 0,3Volt am Eingang!


    Die zukünftige Software wird selbst erkennen können, ob die Eingänge invertiert oder nicht invertiert sind.


    Grüße


    PAW

    Hallo Ralph,


    aus Deinem Report von TESTFDC geht hervor, dass FM 500kbps nicht funktioniert:



    Single-Density at 500 kbps ............................ Failed


    Die Daten auf der Diskette sind aber FM = Single Density 500


    Das Formatieren funktioniert vielleicht deswegen, weil (soweit ich mich erinnere) 22DISK zum Formatieren die BIOS Routinen verwendet. Beim Lesen geht das aber nicht über das BIOS, da das Format nicht im BIOS erkannt wird.


    Grüße, PAW

    Zitat von nero999

    Komischerweise kann ich manchmal in 22DISK eine Disk für CP/M formatieren. Wenn dies funktioniert hat, klappt auch die Übertragung von DOS Dateien nach CPM. (Es kommen zwar Fehlermeldungen, diese verschwinden aber mit Retry)

    Hallo Ralph,


    wenn Du eine soche, mit 22DISK funktionierende, Diskette hast, dann mach doch bitte ein Image davon und lade es hoch. Dann können wir mal schauen, ob/wo Unterschiede existieren.

    Fritz verwendet, wie aus den Screenshots ersichtlich, eine neue Version von 22DISK (August 2020).

    Welche Version von 22DISK verwendest Du?



    Eine Frage an fritzeflink :


    Bei den 5.25" HD Laufwerken gibt es einen Pin #2 (Reduced Write). Wie verhält sich das bei den 8" Laufwerken. Gibt es dort auch so was? Könnte es da Probleme geben, da ja das 5.25" quasi als 8" Ersatz fungiert?


    Grüße, PAW