MFM Festplatten Emulator

  • In einem anderen Post wurde Bezug auf dem MFM Emulator von David Gesswein genommen.


    Informationen zum MFM Emulator sind unter http://www.pdp8.net/mfm/ zu finden.


    Aktuell habe ich eine Zusammenstellung für Georg gemacht die ich hier in Form einer PDF vorstellen möchte.

  • fritzeflink hat mir Ende letzter Woche freundlicherweise einen MFM-Emulator leihweise zur Verfügung gestellt.


    Seitdem bin ich dabei, jede Platte, die mir in die Finger fällt und die richtige Schnittstelle hat, auszulesen. :D


    Die Ergebnisse sind sehr gemischt:

    • Eine alte Seagate ST 506 war größtenteils zu lesen, aber es gab auch eine Menge Fehler. Dabei hat sie aber geröhrt wie ein brunftiger Hirsch - offenbar nähert sie sich langsam ihrem Lebensende.
    • Zwei 10 bzw. 20 MB-Platten aus einem Wang 2275 Laufwerk gehen überhaupt nicht
    • Eine vermutlich RLL-formatierte Platte wird ebenfalls nicht gelesen
    • Die Platte eines ITT3030 dagegen wurde völlig fehlerfrei ausgelesen - leider scheint die frisch formatiert zu sein, dort ist alles leer. Eine zweite kommt noch ...


    Der Auslöser für die ganze Aktion ist meine Platte aus dem ICL Quattro mit Concurrent CP/M, die nach jahrelangem Stillstand Probleme machte und deshalb vor dem weiteren Einsatz gesichert werden sollte. Die wurde - hurra! - ebenfalls fehlerfrei gelesen. Allerdings scheint es ein Problem mit dem Interleave zu geben, denn das Image fängt mit einem fragmentierten Text an, dessen Anfang dann weiter hinten kommt.


    Da ich als nächstes eine Kopie dieser Platte anfertigen will, spielt das evtl. keine Rolle. Ansonsten frage ich mich, warum der die Sektoren verwürfelt - afaik ist doch die Sektornummer (ebenso wie die Spur) in den einzelnen Sektoren kodiert?


    Gibt es etwas, was man mit nicht unterstützten Formaten machen kann, um wenigstens irgendwelche Daten rauszulesen? Aktuell bricht der schon beim Analysieren ab :grübel:

  • Der MFM Reader / Emulator kann noch nicht mit RLL Festplatten umgehen.


    Ich habe die Frage zum vermutlichen Interleave mal hier gepostet. https://groups.google.com/forum/#!forum/mfm-discuss


    in http://www.pdp8.net/mfm/code/mfm/mfm_read_util_doc.html wird auch Interleave behandelt.


    --interleave -i # | #,#,#,#,...
    The logical sector numbers from header in physical sector order or the interleave value



    Examples:
    To read an unknown format drive

    mfm_read --analyze --transitions_file raw_data --extracted_data_file extracted_data –note “Drive from TI Professional computer read November 7 2014”
    Analyze is conservative on maximum ECC burst length for correction. You may rerun with the command line printed and change the header or data _crc last parameter to increase ECC span with
    higher probability of miss correction. If you expected sector doesn't match sector found on some of the tracks the drive may have different interleave on some tracks. Try rerunning with the command
    parameters printed except leave off –interleave.


    To store raw transitions without decoding (change parameters to match your drive)
    mfm_read --transitions_file raw_data --drive 1 --heads 6 --cylinders 640


    To process previously read raw transitions data if analyze determined decoding parameters or they were manually specifed when file created:
    mfm_util --transitions_file raw_out2 --extracted_data_file /tmp/decoded_out


    Otherwise specify parameters for your drive like:
    mfm_util --sectors 17,0 --heads 6 --cylinders 640 --header_crc 0x2605fb9c,0x104c981,32,0 --data_crc 0xd4d7ca20,0x104c981,32,0 --format OMTI_5510 --sector_length 512 --interleave 0,3,6,9,12,15,1,4,7,10,13,16,2,5,8,11,14 --transitions_file raw_out2 --extracted_data_file /tmp/decoded_out

  • Das Problem mit dem Interleave ist noch nicht abschließend geklärt, aber da das meiner Meinung nach nur eine Interpretation für die "extract"-Datei ist, spielt das (hoffentlich) für das eigentliche Ziel, nämlich das Kopieren auf eine andere Platte, keine Rolle - das basiert ja auf der Emulationsdatei.


    Mittlerweile habe ich das dann auch ausprobiert, und nach einem ersten Fehlversuch (da blieb er auf den ersten Spuren hängen) hat der Emulator ziemlich anstandslos die neue Platte beschrieben.


    Als nächstes habe ich diese neue Platte wieder ausgelesen. Ein bitweiser Vergleich der Images steht noch aus, aber der Versatz ist identisch. Ich gehe also davon aus, dass die Platte in der richtigen Reihenfolge beschrieben wurde.


    Wenn alles klappt, baue ich sie heute mal in den Rechner ein. Ich werde berichten ...

  • Mittlerweile habe ich das dann auch ausprobiert, und nach einem ersten Fehlversuch (da blieb er auf den ersten Spuren hängen) hat der Emulator ziemlich anstandslos die neue Platte beschrieben.


    In http://www.pdp8.net/mfm/code/mfm/mfm_write_doc.html schreibt David:


    Use mfm_read to verify the disk is properly written. The first attempt had a couple tracks that seem to be written to the wrong head. The next run worked ok.
    This program does not do anything to avoid using bad locations on the disk


    Sinngemäß:
    Nutze mfm_read um die beschriebene Festplatte zu verifizieren. Beim ersten Versuch die Festplatte zu beschreiben wurden verkehrte Köpfe adressiert, der zweite Versuch war erfolgreich.
    Es wird beim Beschreiben der Festplatte nicht auf defekte Sektoren geprüft

  • Wie versprochen hier das Update:


    Ich habe eben den Zielrechner aus dem Lager geholt,alles zusammengebaut, die "neue" Platte rein, und - unglaublich - das Teil bootet ohne Probleme! :juchee:



    Ich war eigentlich ziemlich skeptisch, weil das alles viel zu einfach aussah, aber dank dieses genialen Teils von David ist das wirklich einfach!


    Ich habe noch längst nicht alles im Detail geprüft, aber wenn die Kiste bootet, Programme ausführt etc.kann es eigentlich keine ernsthaften Probleme geben.


    Ein Hoch auf den MFM-Emulator!
    Und einen großen Dank an Fritz für die Leihgabe! :anbet:


    Die Platte geht jetzt zurück an den freundlichen Kerl in Tschechien, der uns mit den Diskettenimages versorgt hat. Außerdem werde ich versuchen, noch eine eigene Platte mit ähnlicher Geometrie entsprechend zu beschreiben, denn auch wenn es diesmal keinerlei Probleme mit der Originalplatte gab hatte die ja im März massive Probleme - da ist es schön, Ersatz zu haben. Testweise würde ich auch mal die eigentliche Funktion des Emulators testen, d.h. den Rechner mal damit starten. Das ist zwar bei meiner Sammlung kein sinnvolles Einsatzszenario, einzelne Rechner mit so einem Emulator auszustatten (dafür sind es zu viele verschiedene), aber mal ausprobieren wär schon ganz interessant.


    Ansonsten sind ja noch ein paar Fragen offen bzgl. der Wang-Platten - vielleicht geht es da auch noch weiter.

  • nd einen großen Dank an Fritz für die Leihgabe!


    das ist eine zeitlich annähernd unbeschränkte Leihgabe - solange ich keine gleichzeitig defekten Platinen des MFM-Reader/Emulator zu Hause habe.


    Und schicke dem " freundlichen Kerl in Tschechien" doch bitte eine Mail damit er sich auch freuen kann. :D

  • Und schicke dem " freundlichen Kerl in Tschechien" doch bitte eine Mail damit er sich auch freuen kann.


    Längst erledigt. Er bekommt von mir seit Tagen regelmäßige Zwischenberichte 8-) Und er meldet sich auch regelmäßig zurück, weil er selber sehr gespannt ist ..

  • David Gesswein hat zu seinem on MFM Reader/Emulator einen Adapter zu SA1000 Festplattencontroller entwickelt.

    http://www.pdp8online.com/mfm/sa1000/sa1000_usage.shtml


    Aus: https://groups.google.com/forum/#!topic/mfm-discuss/



    d...@pdp8online.com 2. Feb. (vor 19 Stunden)





    I have made a SA1000 adapter board for my MFM reader emulator. I did a
    small run which seems to work so if you are interested email me to get
    in on the next order. Prices may get a little better if I get enough
    orders.

    http://www.pdp8online.com/mfm/
    http://www.pdp8online.com/mfm/sa1000/sa1000_usage.shtml

    I have used it for reading Shugart SA1004 and Quantum Q2040 drives.
    Another has used it to replace drive in a TRS-80 Model II 8 Meg drive unit.

    Some other items that may be of interest:
    Dealing with stuck head problem with Quantum Q2040 drives

    http://www.pdp8online.com/q2040/q2040.shtml

    Using a DAC to pull the head servo to recover otherwise unreadable data
    from DEC RD53 drive. Also procedure tried for Q2040 but data had been erased
    so not successful.

    http://www.pdp8online.com/mfm/head_servo/





  • Noch einige kleine Infos.


    MFM EMU und Datensicherheit


    Der MFM EMU hat die Möglichkeit die 12V zu überwachen und das System runterzufahren.


    https://www.pdp8.net/mfm/code/powerfail/powerfail_doc.html


    Example if running from emu directory:

    ../powerfaiil/powerfail --powercmd 'halt -f' --command './mfm_emu --drive 1 --file disk_file'


    allerdings habe ich mir schon ein Image zerschossn.


    Da ich aktuell den BBB mit 2GB mmc in Benutzung habe sichere ich auf USB STICK.

    Den mount -Befehl zum USB Stick bitte anpassen.