MFM-Disk Emulator/Reader/Cloner

JULY 2019

The project started at the end of 2012, parallel to the RL01 / Rl02 Disk Emulator. There were delays because the last used Be-Micro-CV board was no longer available ( see development history ).
2019 was restart of the project. As with the RL01/RL02 disk emulator, the DE10-Nano board has now been used. Again, a PCB board was developed and the existing software was ported to the SoC/HPS environment. The software is available with
version V1.0. As shown in chapter 1.0 it is considered to integrate both emulator boards on a single board with additional functions, like Floppy emulator, several serial interfaces with TU58 emulator. However, here is a very important point: I am now a pensioner. My efficiency decreases (especially when soldering). I also miss the locations and vintage hardware to test and verify the MFM-disk emulator project. There are still some issues left for this project, see chapter 1.2A. To realize everything alone is no longer possible, so I depend on cooperation. So far, unfortunately, I've had a bad experience, but maybe it works now with a cooperation. The entire Firmware and Software based on a Quartus V16.1 environment is open source and is also available on GitHub .
User Manual

MFM disk emulator startup
Get started Manual


A full, ready for use
configured SD-card-image for the DE10-Nano Board is also available. Download the image and copy it to the SD card with Win32DiskImager, for example. Login: root, PW: pdp11


DE10-Nano with attached MFM emulator interface @GPIO-0



Interface board


Circuit diagram and layout information : MFM-Emulator-Interface_v2
The LOM data are also available for a possible replica.


Project informations

General
The ST506-Interface
was designed in 1982 by the company Seagate for their 5 ¼-inch drive ST506 (5.4 MB) , ST412 (10.1 MB) and ST225(20.4 MB) and every well-known computer manufacturer was using this technology.

The ST506-Interface is working based on the MFM( Modified Frequency Modulation ) recording method, simular to the DEC RL interface (Section 1.1.C).

Implementation, 2019
My design is based on a SoC/FPGA environment as the DE10-Nano board. Currently, the ST506, ST412 and ST225 disks are supported . I decided to use the DE10-Nano Development Board, configurated with an Altera Cyclone® V SoC FPGA , Typ: 5CSEBA2317 and with integrated ARM Cortex-A9 CPU . In my design, the MFM data are completely decoded in Real -Time, effectively "on the fly" and stored on a Micro-SD card. Therefore a simple HEX-Editor for example can be used for viewing the received data.

DE10-Nano board with attached MFM Emulator Interface


The MFM Disk Emulator has 2 different operating modes:


Emulator Mode ( Slave )
Emulator emulates a MFM-Disk



Clone Mode ( Master )
Emulator clones/copies an MFM-Disk to the micro-SD card

Notes, information, problems and solutions
The interface and the corresponding signals were described in detail by the company Seagate and were widely respected. It looks quite different at data and timing format. Everything here is incompatible. Each manufacturer has guaranteed implemented his own track and data format which was genarated with their own low-level format program. The following differences exist:
>> CRC algorithm is different, such as different preset value.
>> Track format: ID AM differently.
>> Track format: DATA AM differently.
>> SYNC character differently.
Even the same manufacturer, for example, DEC. There were different formats used . A disk , formatted with the RQDX-1 controller Disk could not be used in a RQDX-3 environment. To be able to save the data of a still functioning disk, the Clone Mode was also implemented. The data from the disc will be 1:1 transfered and then saved to the SD-Card. In the Emulator mode the data will be read from the SD card and the disc is emulated.

Further, very detailed information can be found here
and in the usermanual