1.2A MFM-Disk Emulator


Allgemein
Die ST506-Schnittstelle wurde 1982 von der Firma Seagate für ihre 5¼-Zoll-Festplatten
ST506 (5.4 MB) , ST412 (10.1 MB) und ST225(20.4 MB) entworfen und jeder namhafte Computer Hersteller setzte diese Technologie ein.

Die ST506-Schnittstelle arbeitet mit dem MFM( Modified Frequency Modulation ) Aufzeichnungsverfahren, ähnlich wie die DEC RL-Schnittstelle( Kapitel 1.1C ).

Implementierung, 2019
Mein Design basiert auf einer SoC/HPS Umgebung wie bei dem DE10-Nano board. Zur Zeit werden
die ST506, ST412 und ST225 Disks unterstützt. Zum Einsatz kam das DE10-Nano Development Board, bestückt mit einem Altera Cyclone® V SoC FPGA , Typ: 5CSEBA2317 und mit integrieter ARM Cortex-A9 CPU . Bei meinem Design werden die MFM-Daten komplett decodiert in Realtime, quasi “on the fly“ und auf der Micro-SD Card gespeichert und sind somit jederzeit, z.B. mit einem HEX Editor einsehbar.

DE10-Nano Board mit aufgesteckten MFM Emulator Interface


Der MFM Disk Emulator hat 2 verschiedene Betriebs-Zustände:

Emulator Mode ( Slave )
Emulator emuliert eine MFM-Disk



Clone Mode ( Master )
Emulator cloned/kopiert eine MFM-Disk auf die micro-SD card

Hinweise, Informationen, Probleme und Lösungen
Die Schnittstelle und deren Signale wurden von der Firma Seagate genau beschrieben und weitgehend eingehalten. Ganz anders sieht es bei den Daten und Timing Format aus. Hier ist alles inkompatibel. Jeder Hersteller hatte garantiert sein eigenes Track und Datenformat, welches damals mit einem Low-Level Format Programm generiert wurde. Folgende Unterschiede existieren:
> > CRC Algorithmus unterschiedlich, wie zum Beispiel unterschiedlicher Preset-Wert.
>> Track Format: ID AM unterschiedlich.
>> Track Format: DATA AM unterschiedlich.
>> SYNC Character untersiedlich.
Sogar beim gleichen Hersteller gab es unterschiedliche Formate. Bei DEC konnte eine mit RQDX-1 formatierte Disk nicht mit einen RQDX-3 benützt werden.
Um die Daten von einer noch lauffähigen Disk zu sicheren wurde zusätzlich der Clone Mode implementiert. Hier werden die Daten 1:1 von der Disk übertragen und auf die SD-Card gesichert. Im Emulator-Mode werden dann diese Daten von der SD-Card gelesen und die Disk emuliert.

Weitere, sehr ausführliche Informationen finden sie hier
und im usermanual