MFM Reader/Emulator Tested Configuration
This is the results people have sent me for my MFM hard disk reader/emulatorAlso see MFM Announcements
Computer |
Controller |
Drive |
Notes |
MFM Version |
---|---|---|---|---|
Symbolics 3640 | Standard | Unknown | Reading working. Emulation works with the front end processor but the Lisp processor can't access the second drive. | 1.0pre16 |
Compaq Plus | OMTI 5510 | Tulin |
Reading Working Emulation mostly working | 1.0pre9 | S-100 | OMTI 5400 | Unknown | Emulation working. Reading not reported. | 1.0pre9 |
Z80 CP/M | OMTI 5510 | ST225 | Reading working | 1.0pre9 |
MSDOS PC | WD1003 | ST225 | Reading working | 1.0pre9 |
Genie3s CP/M | OMTI5528 | ST225 | Unsupported, RLL | 1.0pre9 |
VAXStation | RQDX3 | RD53 | Reading and emulation working. See note 1. Here is a formatted RD53 emulator image. | Early |
PDP-11/73 | RQDX3 | RD5x | Working for reading and emulation. See note 1. Also see Info 1 and Info 2 | 1.0pre9 |
PDP-11/23 | RQDX1 and RQDX2 | ST412/RD51 | Working for reading and emulation. Controllers were running 10.0D firmware. The probably 7.0 firmware on the RQDX1 did not work with the ST412 disk. For emulation the beaglebone green flash was too slow and caused occasional errors from the controller. Copying the emulator file to a ram disk and back to flash on shutdown solved this problem. See note 1. | 1.17 |
NorthStar Advantage | NorthStar | ST506 & others | Reading a disk works. The N* does not always like the emulator file created directly from the read. Drives that the rotation is a little slow have problems. Creating an extracted data file then using ext2emu creates a file the N* likes better. The N* does not like to format a newly initialized image. Use an image read from a drive or created with ext2emu. There is a Northstar Emulator that the in progress Advantage emulator can use the extracted data files. | 1.0pre9 and 1.0pre12 |
Corvus H-Series Flat-Cable Drive | Corvus | IMI 5018 | Working for reading and emulation. | 1.0pre9 |
TRS-80 Model 4P | WD1010A | Tandon TM503 | Working for reading and emulation. Drive is an external Tandy Fifteen Meg Disk System. mfm_read reports controller type WD_1006 | 1.0pre9 |
DEC Rainbow 100 | WD1010 | N/A | Working for emulation. See forum posting. | 1.0pre9 |
Cromemco 68000 | STDC | N/A | Working for emulation with 16 head and 3200 cylinder image. Does not know how to decode disk format currently. | 1.0pre11 (earlier had some problems) |
IBM 3174-61R | N/A | N/A | Working for emulation and reading. | 1.33 |
Xerox 6085 Daybreak running Interlib D/Medley and Viewpoint 2.1 | N/A | Maxtor XT2190 | Working for emulation and reading disk. One machine needed -w .005 parameter on powerfail to see power loss quick enoungh to not get confused by write going low on power off. Fixed by setting PowerFailOptions="-w .005" in /etc/mfm_emu.conf | 1.0pre9 |
AT&T 3B1 | WD1010 chip | Seagate ST-4096 | Working for emulation and reading disk. The operating system reserves one spare sector on each track for bad block handling. The sparing is not marked in the sector headers so the extracted data file will not be corrected for the spare sectors. Some tools for working with 3B1 extracted data files are here | 1.0pre15 |
AT&T 3B2 running SVR3 3.2 | N/A | N/A | Working for emulation and reading. | 1.2 (Earlier unreliable). 1.16 added reading support. |
Motorola MVME131, MVME147, MVME167, MVME187, and MVME197 | MVME320A and MVME320B | Miniscribe 6085 | Working for emulation and reading disk. | 1.0pre19 (Earlier doesn't work) |
Kaypro 10 | Standard | Tandon | Reading and emulating working | 1.0 |
Televideo | 22986-00 | Miniscribe 3425 | Reading and emulating working | 1.0 |
ICL Personal Computer running Concurrent CP/M-86 release 3.1.R | Xebec S1410 | Rodime RO202 | Reading and emulating working. May need to specify --begin_time 220000 if initializing emulation file. | 1.4 |
Apple IIe | Sider SASI with Xebec 1410A | ST125 | Reading and emulating working. May need to specify --begin_time 100500 if initializing emulation file. | 1.5 (Earlier doesn't work) |
Intercontinental Micro Systems S-100, model CPZ-186 | OMTI 5200 | N/A | Mostly working for emulation and read likely works but not tested with real drive. Emulation works fine except that creating an empty emulation file and then low level formatting the drive doesn't work. On cylinders >= 128 only the last head gets formatted. | 1.4 & 1.26 |
Victor 9000/Sirius 1. | Xebec S1410 | Rodime RO202 | Reading disk and emulating working. | 1.5 |
TRS-80 Model 16 | Type 2 and type 3 | N/A | Emulating working with XENIX, TRSDOS-II, LS_DOS, and P&T CP/M 2.2m. | 1.14 |
Tandy 6000 | Type 4/WD1010 | N/A | Emulating working with XENIX. Emulation not working with TRSDOS-II | 1.14 |
TRS-80 Model II | 8 Meg hard drive | Shugart SA1004 | Reading working. Emulating working with TRSDOS-II 4.2.6. Radio Shack soldered wires to the SA1004 electronics board. See these instructions for how to move the wires. | 1.29 |
E-mu Emulator II sampling keyboard | Unknown | N/A | Working for emulation. Reading not tested. | 1.14 |
Compupro 8-16 | Compupro Disk-3 | Quantum Q-540 | Working for emulation and reading. | 1.16 |
NCR DM-V | WD 1002-HD0 | Unknown | Working for emulation and reading with MSDOS 2.11, CP/M 2.1, CP/M 86 | 1.16 |
Industrial Equipment | OMTI 5200 | ST225 |
Reading working and emulation mostly working. The computer timed out the
hard drive
at about 8 seconds. The beaglebone takes 12+ seconds to be ready so
host computer needs to be reset after power on to boot.
Circuit to power on beaglebone needed modification since 3.3V rises to about 1.9V when host computer is powered on. This is still being investigated but likely due to the OMTI 5200 using push pull instead of open collector drivers and feeding power through RN1 to the beaglbone. Fix was to cut the trace going from U17 pin 1 to R3 and solder two series diodes (type 1n4148 or equivalent) from R3 (first diode Anode) to U17 pin 1 (second diode Cathode), From the junction between the two diodes solder a 47K 1/8 W resistor to ground. The function of this little circuit is to drop the 1.9 Volts, present during the power up problem, to a logic low level at U17 pin 1. Thread reporting and discussing issues" | 1.16 |
Elektronika 85 (Russian clone of DECpro 350) | Unknown | Russian Seagate clone | Working for reading. | 1.11 |
MVME319 | ACB 4000 | None | Working for emulation. | 1.11 |
Altos 886 | WD 2010-AL based. | Unknown | Working for emulation and reading. | 1.16 |
Wang 2275 | Unknown | Unknown | Working for reading. | 1.20 |
Intel 310 | iSBC 215 | Computer Memories CM5619 | Working for reading and emulation. Note the alternate cylinders at the end are not formatted so analyze will detect the wrong number of cyliners. It appears you need to manually specify the read parameters to read all cylinders to get a good image. | 1.22 |
TI 99 | WDS-100 | Unknown | Working for reading. Fails with emulation when written to. Have not been able to collect enough information to determine cause. | 1.20 |
Tracor Northern TN 5502 | Digital Logic (DILOG) DQ614 | ST-225 | Working for reading and mostly for emulation. Emulation only works with --drive 0 which is only useable if no other drive is on the 34 pin cable. | 1.23 |
VT103 | Digital Logic (DILOG) DQ604 | ST-412 | Works for emulation. | 1.23 |
PERQ T2 | Standard for machine | Unknown | Working for emulation if you specify --begin_time 494932. Reading does not currently support decoding the data. | 1.29 |
General Processor GPS 5 | Xebec 104788D | Rodime 252 |
Works for emulation and reading disk with format xebec_104786 and --begin_time 241000. The Beaglebone won't power up if the 5V takes too long to rise which
is triggered by the power supply in this computer. Installing 5.1k resistor
for R25 and 1K resistor for R24 fixes the power up problem. BOM has been
updated with these resistor values.
The computer inverts the data bytes. See shell script below which can be used to invert extracted data file. | 1.33 |
Note 1: The DEC RQDX1-RQDX3 controller uses mixed format on the tracks. My software doesn't handle it well. When reading an existing disk it will report errors on the alternate format used for most of the disk. The data will be read and the emulation file will have the data though the alternate format not be checked for errors. When creating an extracted data file only the data for the format detected will be extracted. You can use the analyze on a track with the alternate format to extract those areas. You will manually need to put the extracted data files into one good file.
To invert all the bytes in a file use the shell script below (saved as invert)
bash invert < infile > outfile
#!/bin/bash chr() { printf '\%03o' "$1" } za="$(for charNum in $(seq 255 -1 0) do chr "$charNum" done)" tr '\000-\377' "$za"
To swap pairs of bytes
dd if=infile of=outfile conv=swab
Email me any test results you have.