MFM Festplatte einlesen und analysieren

  • Unter Suche: AT RLL Kontroller hatte ich das Thema angefangen, möchte aber doch hier noch mal etwas ausführlicher werden.



    Ich habe eine Tandon 9262-AI MFM Festplatte bekommen und sollte diese auslesen. Das nur aus Interesse des Vorbesitzers, es sind keine wichtigen Daten vorhanden.

    Auf der Festplatte ist ein Zettel mit Tesa gesichert, Angaben: 615, 4, 26 RLL also 615 Zylinder, 4 Köpfe 26 Sektoren RLL formatiert.


    Die Angabe der Anzahl der Sektoren ist wichtig, da 26 Sektoren außerhalb der Spezifikation der Festplatte sind. RLL- sowie auch MFM-Kontroller haben sich damals 'mit der Festplatte' verheiratet,

    so dass nur mit dem (bau)gleichen Kontroller die HD gelesen und beschrieben werden konnte. Ein Standard kam erst später, als sich die IDE Schnittstelle als de facto Standard entwickelte.

    Die Tandon wurde als Bundel mit einen MFM Kontroller verkauft, dem WD 1002A-WX1, aber auf der HD steht ja RLL Formatierung. Also suchte ich einen passenden RLL Kontroller.


    Nachdem auf die Schnelle kein 16bit AT RLL Kontroller aufzutreiben ist greife ich in meine XT Kontroller Kiste. Hier finde ich MFM/RLL Kontroller von DTC, Seagate, Omti, WD und einige andere, aber die mit voller Baulänge. OK - ich möchte ja nur lesend auf die Festplatte zugreifen.


    Ein andere Hardware, den MFM Reader/Emulator habe ich auch, aber der kann nur MFM - dazu aber später.


    Ich probiere nun - ganz wissenschaftlich - die Tandon an 2 WD RLL Kontrollern aus, die ignorieren die HD aber, wobei ich der HD erst einmal gut zureden musste damit sie anläuft.

    Nun, etwas mehr Information benötige ich doch, welcher Kontroller wurde den genommen?


    Der MFM Reader/Emulator kann aktuell nur MFM Formate 'lesen', sprich entschlüsseln. Der MFM R/E liest die magnetischen Flußwechsel, bei bekannter CRC Codierung ist eine Übersetzung der Rohdaten in Binär Daten möglich und damit dann auch eine Emulation der Festplatte an dem ursprünglichen Kontroller.

    RLL Kodierung kann nicht entschlüsselt werden, allerdings werden bei der Analyse der Festplatte Informationen zur Festplatte und Kontrollertyp angezeigt, was jetzt hilfreich wäre.


    Der erste Schritt mit dem MFM R/E ist die angeschlossenen Festplatte zu analysieren, hierbei erfahre ich ob die HD überhaupt lebt.


    Die im MFM R/E eingegebene Befehlsfolge ist:


    cd ~/mfm

    ./setup_mfm_read

    ./mfm_read --analyze



    GRÜN: plausible und positive Daten

    Blau: auch in Ordnung

    Rot: Schlecht, die Funktion beeinträchtigend. Hier wird Track 0 nicht gefunden.



    forum.classic-computing.de/index.php?attachment/44068/



    An Hand der Informationen des MFM R/E " Didn't reach track 0 " habe ich die HD als 'defekt' eingestuft, etwas voreilig wie sich noch herausstellt.

    Das 2 Controller gemeldet wurden irritiert. OMTI 5510 und Morrow MD11 sind mir bekannt. Der OMTI liegt auch hier in der Kiste, Morrow MD11 halte

    ich aber für unwahrscheinlich, da der MD11 1983 als CP/M System auf den Markt kam, allerdings gab es auch diverse Erweiterungen für den MS11.

    Der OMTI 5510 ist sicher vielen als c't Billiglösung für atari und andere Computer bekannt.


    Also krame ich den OMTI 5510 raus, setze die Jumper passend - BIOS enabled - und baue alles zusammen.


    Mein Testrechner hat eine SCSI Festplatte mit AHA1542 und einen WD AT MFM Kontroller, welcher nun durch den OMTI ersetzt wird.

    SCSI Kontroller / Festplatte können parallel zu einem weiteren Festplattenkontroller betrieben werden.


    Ich schalte den Rechner ein, es wird von Diskette gebootet. Am einfachsten schaue ich mit FDISK ob eine Partition vorhanden ist.

    Die SCSI Festplatte wurde jedenfalls als D: eingerichtet.


    fdisk: => Ansehen der Partitionsdaten und trallala.... die Tandon HD ist da.




    Mit dem Norton Commander lassen sich alle Dateien ohne Fehler auf die SCSI Festplatte kopieren.

    Somit ist die Tandon gesichert und der Fall erledigt ?


    Nein, die Angabe des MFM R/E - "Track 0 nicht erreicht" irritiert.

    Die Tandon HD hätte problemlos mit dem MFM R/E eingelesen werden müssen.


    Hierzu werde ich aber einen weiteren Text schreiben müssen.


    Fortsetzung folgt.


    Anhang:







  • Wenn der 5510 die lesen konnte, war sie wohl doch nicht RLL-formatiert, sondern tatsächlich MFM an einem 5510. Wie Aufkleber verwirren können!

  • So, ich denke das Problem für den MFM Reader/Emulator waren die mehrdeutigen Informatinon zum benutzen Controllertype fürs LowLevel Format..


    Ich habe alle Daten sauber gesichert und jetzt die HD mit einem WD 1006 AT-Bus MFM Controlle neu eingerichtet. Auf der HD wurde MSDOS installiert und die HD voll geschrieben.


    MFM Reader/Emulator Report:


    root@beaglebone:~/mfm# ./mfm_read --analyze --transitions_file raw_data --extracted_data_file extracted_data --note "Drive from TANDON 9262"


    Board revision B detected

    Found drive at select 1

    Returning to track 0

    Drive RPM 3569.4


    Matches count 34 for controller WD_1006

    Header CRC: Polynomial 0x1021 length 16 initial value 0xffff

    Sector length 512

    Data CRC: Polynomial 0x140a0445 length 32 initial value 0xffffffff

    Selected head 4 found 0, last good head found 3

    Read errors trying to determine sector numbering, results may be in error

    Number of heads 4 number of sectors 17 first sector 1

    Interleave (not checked): 1 10 2 11 3 12 4 13 5 14 6 15 7 16 8 17 9

    Drive supports buffered seeks (ST412)

    No sectors readable from cylinder 615

    Stopping end of disk search due to two unreadable tracks in a row

    Number of cylinders 615, 21.4 MB


    Bis hier alles ok.


    Command line to read disk:

    --sectors 17,1 --heads 4 --cylinders 615 --header_crc 0xffff,0x1021,16,0 --data_crc 0xffffffff,0x140a0445,32,5 --format WD_1006 --sector_length 512 --retries 50,4 --drive 1

    Disk has recalibrated to track 0

    Mismatch cyl 0,553 head 1,1 index 0 unschön aber kein Problem

    Mismatch cyl 0,553 head 1,1 index 1

    Mismatch cyl 0,553 head 1,1 index 2

    Mismatch cyl 0,553 head 1,1 index 3

    Mismatch cyl 0,553 head 1,1 index 4

    Mismatch cyl 0,553 head 1,1 index 5

    Mismatch cyl 0,553 head 1,1 index 6

    Mismatch cyl 0,553 head 1,1 index 7

    Mismatch cyl 0,553 head 1,1 index 8

    Mismatch cyl 0,553 head 1,1 index 9

    Mismatch cyl 0,553 head 1,1 index 10

    Mismatch cyl 0,553 head 1,1 index 11

    Mismatch cyl 0,553 head 1,1 index 12

    Mismatch cyl 0,553 head 1,1 index 13

    Mismatch cyl 0,553 head 1,1 index 14

    Mismatch cyl 0,553 head 1,1 index 15

    Mismatch cyl 0,553 head 1,1 index 16

    Retrying seek cyl 553, cyl off by 553

    All sectors recovered after 1 retries cyl 553 head 1

    Retries failed cyl 614 head 2

    Bad sectors on cylinder 614 head 2: 1H 2H 3H 4H 5H 6H 7H 8H 9H 10H 11H 12H 13H 14H 15H 16H 17H

    Retries failed cyl 614 head 3

    Bad sectors on cylinder 614 head 3: 1H 2H 3H 4H 5H 6H 7H 8H 9H 10H 11H 12H 13H 14H 15H 16H 17H

    Found cyl 0 to 614, head 0 to 3, sector 1 to 17

    Expected 41820 sectors got 41786 good sectors, 34 bad header, 0 bad data


    0 sectors marked bad or spare


    0 sectors corrected with ECC. Max bits in burst corrected 0

    Track read time in ms min 26.851125 max 1662.835375 avg 51.131605

    root@beaglebone:~/mfm#



    Also alles im grünen Bereich für so eine alte Festplatte die im Keller rumgeworfen wurde. Anbei noch ein paar Bilder.


  • Das heißt, am WD 1006 hast du sie jetzt brutal von 20 MB Kapazität auf 30 MB hochgeprügelt!


    Das nennt man Tunig! Die Platte wird das aber mitmachen*, denn RRL bedeutet ja keinen höheren Datentakt, sondern ein effizienteres Kodieren. Genauer kann man das im "Schreibenkleister" nachlesen, das Buch ist zwar eigentlich für die Ataris, aber dort ist das mit FM, MFM und RLL so gut (und lustig) auseinanderklabustert, wie sonst nirgends.


    * Die meisten MFM-Klötze lassen sich zuverlässig auf RLL hochprügeln, selbst die schnarchlangsamen eiernd knarrend quitschenden Olvetti-Lexikon 20 MB Platten aus der M24 machen das mit.

  • Das heißt, am WD 1006 hast du sie jetzt brutal von 20 MB Kapazität auf 30 MB hochgeprügelt!

    Wo hast du das gelesen ? Ich denke du hast dich verguckt. :)


    Nein, der WD 1006 Kontroller ist ein MFM Kontroller, die Tandon hat ihre 20MB wie vorher, ich nutze die alte Hardware nur im Rahmen der Spezifikation und vorsichtig.


    Irritierend war, dass die HD beim ersten Versuch mit dem MFM R/E nicht gelesen werden konnte da Track 0 nicht gefunden wurde.

    Die Daten ließen sich aber mit einem OMTI 5510 fehlerfrei sichern.

    Da eventuell bei der Ursprungsformatierung oder durch Alterung Merkwürdigkeiten verursacht wurden habe ich die HD neu LL mit 615/4/17 formatiert.


    Der Antwort von David entnehme ich, dass die HD ein wenig ungenau beim Trackseek (ich würde sagen schusselig) ist.


    Hier die Antwort von David:


    This indicates the drive while the MFM board was reading the disk it returned to track 0. Normally this makes a distinctive noise. Did you hear something

    unusual?


    Mismatch cyl 0,553 head 1,1 index 1

    This indicates it expected cylinder 553 but found data for cylinder 0.

    Retrying seek cyl 553, cyl off by 553
    All sectors recovered after 1 retries cyl 553 head 1

    This indicates it seeked again to the desired cylinder and got the correct data.

    Retries failed cyl 614 head 2
    Bad sectors on cylinder 614 head 2: 1H 2H 3H 4H 5H 6H 7H 8H 9H 10H 11H 12H 13H 14H 15H 16H 17H
    Retries failed cyl 614 head 3
    Bad sectors on cylinder 614 head 3: 1H 2H 3H 4H 5H 6H 7H 8H 9H 10H 11H 12H 13H 14H 15H 16H 17H

    Either the controller uses last two tracks for its purposes or doesn't format them. Its fairly common that tracks at the end may be different than the rest.


    Found cyl 0 to 614, head 0 to 3, sector 1 to 17
    Expected 41820 sectors got 41786 good sectors, 34 bad header, 0 bad data

    Looks good except for the two funny tracks. If your curious you can try reading with --ana=612,2 against the transitions file to see if it can decode those two tracks.

    I made a new format, a sysgen and copied a lot of files with verify - no problem. Nice for such an old and rusty device. But what was the original problem?



    My guess is the drive is getting a little flaky with seeks. The initial seek type logic doesn't handle errors. The later reading logic does. The real controller also handles seek errors so you may not know if you get seek errors.I have also had problems with the drive power connectors when the pins get spread so they don't make good contact. The drive will randomly reset.

  • Sicher, dass der WD 1006 nur MFM kann? Ich habe das anders im Sinn.

  • Ich habe WD1003V-MM2, WD1006V-MM2 in Benutzung. WD hat mit ähnlicher Bezeichnung auch andere Kontroller.



    http://www.minuszerodegrees.ne…ern%20Digital/wdcontr.txt


    WESTERN DIGITAL HARD DISK CONTROLLERS


    XT, MFM: WD1002A-WX1, WDXT-GEN, WD1004A-WX1, WDXT-GEN2.

    XT, RLL: WD1002-27X, WD1002A-27X, WD1004-27X, WD1004A-27X, WD1002A-FOX.

    AT, MFM, NO FLOPPY: WD1003-WAH, WD1003V-MM1, WD1006-WAH, WD1006V-MM1.

    AT, MFM, FLOPPY: WD1003-WA2, WD1003A-WA2, WD1003V-MM2, WD1006V-MM2.

    AT, RLL, NO FLOPPY: WD1003-RAH, WD1003V-SR1, WD1006-RAH, WD1006V-SR1.

    AT, RLL, FLOPPY: WD1003-RA2, WD1003V-SR2, WD1006V-SR2.

    AT, ESDI, NO FLOPPY: WD1007A-WAH, WD1007V-SE1/ME1.

    AT, ESDI, FLOPPY: WD1007A-WA2, WD1007V-SE2/ME2, WD1007A-WA4.

    AT, SCSI: 7000-ASC, 7000-FASST2, WDATXT-FASST.

    PS/2 Microchannel: WD1006V-MC1, WD1007V-MC1.

  • Format Revision 6.0 (C) Copyright Western Digital Corp. 1985.. (AH) = Relative drive number (0 - 7).. (AL) = Interleave factor (3 is standard)..Press "y" to begin formatting drive $ with interleave $..Format Successful$..Error---completion code $..Nothing Done Exit$85/01/29


  • Format Revision 6.0 (C) Copyright Western Digital Corp. 1985.. (AH) = Relative drive number (0 - 7).. (AL) = Interleave factor (3 is standard)..Press "y" to begin formatting drive $ with interleave $..Format Successful$..Error---completion code $..Nothing Done Exit$85/01/29


    Da müssen noch mehr Infos stehen in dem .bin-File ... kannst du das bitte mal posten oder mir schicken?

  • Da sind die kompletten Routinen für die Ansteuerung der Platten und Low-Level-Format drin. Kein Voodoo.