|
Implementierung
Mein Design arbeitet mit einem FPGA und
unterstützt derzeit die ST506, ST412 und ST225 Disks. Zum
Einsatz kam das BeMicro-CV
Development Board, bestückt mit einem Altera
Cyclone® V FPGA
, Typ: 5CEFA2F23C8N . Dieses Board hat 128 MB Memory und somit ist
es auch möglich, MFM Laufwerke mit über 100 MB zu
simulieren. Bei meinem Design werden die MFM-Daten komplett
decodiert, Realtime, quasi “on the fly“ und auf einer
Micro-SD Card gespeichert und sind somit jederzeit, z.B. mit einem
HEX Editor einsehbar. Viele andere Design's speichern nur die
zeitlichen Abstände der MFM Signale.
|
|
Probleme,
offene Punkte 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. Weiterhin ist bei meinem Design die
Byte-Reihenfolge wichtig, also Big-Endian( z.B. Motorola) oder
Little-Endian( z.B. DEC PDP11) und kann dementsprechend mit einen
DIP-Switch selektiert 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
simuliert.
|