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.

  • Ein Video zum MFM Emulator von Ross Milbourne


    https://www.youtube.com/watch?v=guGSku-yRjI



    Hardcopy:


    Angaben dazu:


    A rough and ready practical demonstration of how to set up the hardware and software required to create an MFM hard disk drive image and transfer it to a PC via a USB stick, so that it can be archived, explored, or loaded onto the emulator.

    One of the major benefits of the DG Emulator is that a high percentage of old disk drives no longer have the controller with them that they were originally formatted with. Without it, you cannot read the data on the disk and a lot of potentially valuable information from years ago will be lost when you are forced to reformat the drive. This board will analyze the disk, try to work out the original parameters used to format it, and then extract the data, WITHOUT the original controller.

    Note: it has rightly been pointed out that there are other ways to exploit the functionality of this board. What you will see here is just one such method. Nevertheless, it will get you up and running quickly, and tell you whether the board is working or not, at the same time producing a very useful output in the form of a disk image.

    In the video, the part of the command string that generates a disk image is:

    --extracted_data_file filename

    The first two characters are the minus sign and 'filename' is the name of your own choosing where you are storing the image.
    Later, once up and running, please take the time to explore the other ways that you could take advantage of the capabilities that the system has to offer.

    If your drive is fragile, and contains especially important data you do not want to risk losing during the first attempt to read, for example, then consider including the command --transitions_file filename in the command string.

    The first two characters are the minus sign and 'filename' is a name of your own choosing where you are storing the output. This creates a file of flux transitions from the surface of the disc for later analysis. There's no attempt to decode the actual data on the disk, but you now have a true archive, warts and all.

    One place to start the journey to look at more detailed information is on David's own Web Site:

    https://www.pdp8.net/mfm/mfm.shtml

    Note: the DG emulator does not currently work with RLL low-level formatted drives, only MFM. Miniscribe drives like the 8425, 8438 and 8450 were supplied RLL formatted, along with RLL controllers - before you rush out and buy one, hoping to take an image. The difference can be summarised as follows:

    A drive that can be formatted with an RLL controller can store data more densely than one designed to be formatted with an MFM controller. Typically, RLL drives store data with 26 sectors per track. MFM drives use 17 sectors per track.

    You can format an RLL drive with an MFM controller, i.e. with 17 sectors per track, but you will not be using the full capacity of the drive, as it was designed to use 26 sectors. Typically, you will lose about one third by doing this.

    What you must NOT do, is format an MFM drive with an RLL controller, as it will attempt to use 26 tracks per sector, and the drive is not designed to store data at that density so you may permanently damage it.

    Note: this demonstration uses the currently available Rev C board (as at 5th Oct 2020).

    Note: the video shows how to format the 8GB USB stick. This only needs to be done once. multiple images can then be copied across to it.

    Note: you should only have one drive connected to the MFM cables and the drive should have a terminating resistor pack installed.

    Note: the board is designed to fit a standard 5.25" drive bay if you want to install it permanently inside a PC. For details of that, take a look under 'Mechanical Information' at:

    https://www.pdp8.net/mfm/revb/revb_bo...

    Tip: if you get errors during imaging, it can be useful to leave the drive spinning and repeat the operation, just changing the filename each time. Often, the number of errors will reduce. By leaving it spinning, it will reduce the stress on the drive caused by powering it on and off.
    Tip: It can be worth having a separate ATX PSU for the drive, or at least a switch on the DC power cable so that the drive can be powered independently of the DG Emulator. Old drives can have sticky bearings or drive seek mechanisms and may need to be powered on and off a few times to get them running. However, this does run the risk of drive failure before you have managed to get an image, so use with caution.

    I hope this video will enable you to get your system up and running quickly and save you a lot of time trying to work out how it all goes together.

    A second video will be added, demonstrating how to use the generated images on the David Gesswein MFM emulator itself.

    After that, I will finish off with a short video about the Shugart SA1000 drive adaptor board which David has produced as a plug-in for this setup.

    Please share your own experiences and tips and techniques in the comments.

    Thanks to David for producing such an amazing and useful product.

  • Hat jemand von hier in den letzten Monaten Kontakt zu David Gesswein gehabt? Diesen Kontakt würde ich gerne nachverfolgen :).


    Ich habe versucht, Kontakt mit ihm aufzunehmen (e-Mail auf seiner WEB-Site) aber keine Antwort(en) bekommen.


    Ich habe nun hier einen grünen Hundeknochen herumliegen und möchte gerne die Platine für seinen MFM Emulator...

    Soweit ich sehe, sind da ja keine Gerbers verfügbar, sondern er verkauft die Platinen (was vollkommen o.k. ist).


    Martin

  • Die letzten Boards hab ich im November bekommen, da der programmierte Quarz für das SA1000 Board hier schwierig zu bekommen ist, hatte ich den gleich mitbestellt.


    Ansonsten hat David Mitte Mai noch in der Mailingliste geantwortet.

  • Danke für Eure Beiträge. Damit komme ich weiter.


    Dass sogar die Gerber Dateien verfügbar sind, hatte ich nicht entdeckt - so ganz übersichtlich ist die Site ja nicht.

    Ich möchte natürlich gerne die oft überproportional hohen Kosten für Zoll, Mehrwertsteuer und womöglich noch DHL Verwaltung minimieren.


    Martin

  • gerne die oft überproportional hohen Kosten für Zoll, Mehrwertsteuer und womöglich noch DHL Verwaltung minimieren.

    da bin ich voll bei dir, aber - was ist jetzt ein grüner Hundeknochen ?


    Schreibe doch bitte auch hier über deine Fortschritte.


    Mein letzter Text zum MFM-Emulator liegt hier, beim aktuellem Wetter muss ich aber Anderes machen.

  • Moin,


    sollte das der Versuch einer Uebersetzung, des zum Betrieb noetigen BeagleBones sein?

    Den gibt es ja auch in verschiedenen Farben, hier ist wohl der gruene Beaglebone erforderlich.


    War ein nettes Wortspiel, hat bei mir aber auch ein wenig gedauert.


    MfG

    Bernhard

  • jo mei - das verwendete Linux Computerplatinchen heißt nicht Arduino, oder RaspberryPi, oder BananaPi oder ..., sondern "BeagleBone". Den gibt es als "black" und als "green". Da dies ein deutsches Forum ist, und bei der Hitze etwas Spaß sein muss, dachte ich, es mal auf Deutsch zu versuchen.

    Und ihr könnt eure Hunde wieder rauslassen. ihre Knochen sind sicher.


    Und: eine Antwort habe ich nun von David doch noch bekommen - die erste ist wohl irgendwo in den unendlichen Weiten des ... Spams verloren gegangen.

  • Ein Scherz ... bei dem Wetter ...

    Das war ja gar nichts für meine Konstitution wo ich doch gestern den halben Nachmittag in der Garage

    einen Auspuff poliert habe.


    Hoffentlich quietscht der Hundeknochen nicht auch noch. :)



    Hier ein Bildchen.

  • Das sieht eher wie ein Affenknochen aus ... (früher hatte ich mal eine "Dax", die "Monkey" war dann doch zu klein - sitzt man drauf wie "der Affe auf dem Schleifstein"), aber nettes Geräusch, diese kleinen 50/70 ccm Viertakter. Die neueren chinesischen Nachbauten finde ich nicht so toll.


    Hat aber kein MFM Interface.

    Wenn ich eine Platine zum MFM Emulator bekomme, werde ich mal Teile bestellen und kann dann später meine Erfahrungen zusammenfassen.

    Mein Ziel dabei ist eher die lautlose Emulation, d.h. der Ersatz z.B. von alten heulenden Seagate ST-xxx Platten.


    Martin

  • Das sieht eher wie ein Affenknochen aus

    Ich sehe du kennst dich aus. Die Monkey mit 50cm³ war mir zu langsam weshalb meine Monkeys je 125cm³ haben und so auch

    etwas flotter sind. Nun habe ich nicht allzu lange Beine, so dass die Monkey gut passt.


    Meine alte Dax von 1976 hatte ich meinem Vater geschenkt, der nun auch schon etwas länger bei den Ahnen ist. Die Dax ist nicht mehr fahrtüchtig und wartet auf Zuwendung. Ich habe aber vor diesen Herbst/Winter die Dax wieder aufzubauen.


    Anbei eine hardcopy aus einem Filmchen - leider damals in kleiner Auflösung.