Even if you aren’t a vintage computer aficionado, you’re probably aware that older computer hard drives were massive and didn’t hold much data. Imagine a drive that weighs several pounds, and only holds 1/1000th of what today’s cheapest USB flash drives can. But what you might not realize is that if you go back long enough, the drives didn’t just have lower capacity, they utilized fundamentally different technology and relied on protocols which are today little more than historical footnotes.
A case in point is the circa 1984 Modified Frequency Modulation (MFM) drive which [Michał Słomkowski] was tasked with recovering some files from. You can’t just pop this beast into a USB enclosure; copying files from it required an interesting trip down computing’s memory lane, with a sprinkling of modern techniques that are sure to delight hackers who still like to dip their toes into the MS-DOS waters from time to time.
The drive, a MiniScribe 2012, has its own WD1002A-WX1 8-bit ISA controller card. [Michał] is the kind of guy who just so happens to have an ISA-compatible AT motherboard laying around, but he didn’t have the correct cooler for its Pentium processor. He stuck a random heatsink down onto it with a rubber band and set the clock speed as low as possible, which worked well enough to get him through the copying process.
Not wanting to fiddle with floppies, [Michał] then put together a setup which would let him PXE boot MS-DOS 6.22 under Arch Linux. He used PXELINUX, part of the syslinux package, and created an entry for DOS in the configuration file under the pxelinux.cfg
directory. He then installed netboot which combines a DHCP and TFTP server into one simple package, and configured it for the MAC address of the AT machine’s 3com 3C905C-TXM network card.
With the hardware and operating system up and running, it was just a matter of getting the files off of the MFM drive and onto something a bit more contemporary. He tried to copy them to a secondary IDE drive, but it seemed there was some kind of conflict as both drives wouldn’t operate at the same time. So he pulled another solution from his bag of tricks: using a USB mass storage device on MS-DOS. By emulating a SCSI drive, he was able to get a standard flash drive plugged into a PCI USB card working, which ultimately dragged these ~35 year old files kicking and screaming into the 21st century.
We love keeping old hardware alive here at Hackaday, and documented methods to not only PXE boot DOS but use USB storage devices when you get it up and running will hopefully inspire some more hackers to blow the dust off that old 386 in the attic.
The only thing I liked about MFM was the spaceship like sounds it made.
Voice Coil actuators are like that.
actually, I think, the stepper motor driven heads are like that, I think. add to that the relatively loud platter drive…
Modern drives use voice coil actuators, most (if not all) MFM drives used stepper motors, paired to the mechanism either directly by a gear or by a flexible piece of metal (don’t know which kind though).
Look at the interface, there are “step up” and “step down” pins on the control bus.
I’m a bit dissapointed this is just an article about booting dos to copy files.. I was looking foward to someone actually going out and controlling the heads and reading/decoding the analogue data.. Mostly because I started such a project once (and got stuck when I realized that I’d need a rather fast (compared to the arduino I planned on using) ADC and chip to actually read that data.
The “flexible piece of metal” to move the haed is some stainless spring steel tape. Although I think the motor was no real stepper. It looked like a stepper, but some kind of brushless 3 phase construction with only three poles. So it was more or less a hybrid between stepper and (rotary) voice coil actuator. It had an optical encoder disc.
KryoFlux for HDDs would be pretty cool.
I also contemplated similar project after watching Technology Connections Compact Disc video series :) and found it already implemented for DVDs https://debugmo.de/2007/07/read-your-dvds-the-raw-way/
i was also secretly hoping to see a project that entailed a home made wirewrapped board with an ST-506 connector on one end and a parallel printer port connector on the other end and a link to a github repository where MFM was decoded in software :-)
Vintage 🤔? That makes me ancient….🤣 … my first HD was a Corvus – which I connected to a hand etched/soldered custom ROM Apple II (not plus ) ….with a similarly constructed controller…
of course is was smaller than my PDP/8E …. 🤔
I remember having to recover the data fr an accountant way back in the day. The spindle motor had died so with some creativity I drilled and tapped the center shaft the attached a high speed drill with a speed controller. started spinning up the drive on a machine that was booted with MS DOS and a batch file that kept trying to read the drive until it was able to read the directory structure.
Once that was done copied all the data off on to another drive and had one really happy client that learnt it was a good idea make backups.:)
Thankfully it had not had a head crash.
Now THAT is a hack!
Reminds me of the drive my Dad had in the ’80s (20 meg Seagate, or similar) that didn’t have enough spin motor torque to start spinning. He wrapped a string around the motor shaft and gave it a pull at power up, just like starting an old outboard motor! Drives were expensive enough that he did this for a year or so!
Yeah, I remember about 1988 or so getting a 20 MB drive free at a flea market. The case had been pried open. To start the drive spinning, I had to insert my index finger and manually spin the exposed top platter. Copied almost all the files off it.
Holy cow!
Close to one I had to do. A law office had an XT-class machine that the MFM drive went bad on. The disk would not spin up on it’s own. So I had it in a newer system (probably ‘386 or ‘486 at the time) with the circuit board on the drive itself unscrewed (but still connected) so I could get to the flywheel/fan on the bottom. I would switch on the power, reach under the drive and manually spin up the drive. Then I would copy off as many files as I could until the disk decided to hang up again. Then I would repeat the process, and eventually got all their files off.
My first hard disc was bought not working. 20 meg. Western Digital. It had a faulty chip that was WD specific. A quick search in the phone book, found their phone number in Scotland and rang them up. The guy I spoke to stuck two of the chips in an envelope and posted them to me gratis, changed the chip and it worked wonderfully, I still have the second one somewhere.
Is the world really getting better? :(
Sadly customer service like that set by the wayside.
Fluke might still do that: A high precision resistor opened in mine (way out of warranty). Somehow I found their number, years before the ‘net.. They mailed a new one
I’ve had similar good service from Yaesu USA more recently, but I’ve also had to purchase $0.60 parts and pay $4.00 in shipping from them as well. I guess it depends on who you talk to and their mood.
Before the WWW. Western Digital had the best tech support. They had a dialup BBS with files to download. If you needed documents you looked them up on the BBS then made note of their numbers. The next step was dialing their 1-800 support line and entering the document numbers, followed by your FAX number. A couple of minutes later the docs would be rolling out of your FAX machine.
Even better, WD had software and docs for product lines they had sold off to other companies, such as the Orchid video cards.
A:\>DEBUG
* G=C800:3
That command looks very familiar. Probably haven’t used it in 30 years or so.
Yes the world IS getting better you curmudgeon: I don’t have to run a special command to park my hard drive before turning off my PC, my HDD holds frickin’ TERABYTES and cost like 1/20th of what that 20Mb one cost, and has a far longer MTBF.
Have you told this story here before? I remember this story from somewhere.
With tweezers.
Just pull the directory and files canvas out with the tweezers, from the hard drive´s vent.
Then pull every bit of the canvas, pinning them on a large wall, eventually grouping them with 16 color pins for easier reading.
Use as many walls as needed.
Then take photos of the walls, stitch them, and use your preferred AI to move the data to our 256HB femtoSD… if you can find it. This is where magnifying glasses can prove handy !
Otherwise you can 3D print a handle to crank the drive and spin the disk, sensing the data with the tongue on the connector but it´s tricky.
Don´t attempt to use a oil lamp to melt the data to fill an e-ink bottle , it won´t work!
Lol, Ido appreciate the effort, though you have way too much time on your hands, should be writing SciFi and scripts for an emerging nostalgic audience far beyond this forum and get the best sort of feedback :-)
Hello, author here; just couple of minutes ago I managed to convert the important files (MS Word for DOS 4.0 documents, over 200 of them) to RTF and subsequently, PDF. This required fiddling with MS Word Converter API (GC1039). I ended up writing simple wrapper application for DLL converter library, which usable in batch mode. I’ll complete the article describing it in a couple of days.
I did something like this with Libre Office for some files pulled from 5 1/4in floppy discs it works really well for a bunch of file types
Nice! Thanks for the well documented article, and for your great effort to educate us!
The published article: https://slomkowski.eu/retrocomputing/how-to-convert-ms-word-for-dos-documents-to-modern-format/
That was quite the trip down memory lane. Am I vintage as well now? hm.. I just wondered if it wouldn’t have been easier to first get an old linux kernet working on another old disk interface with an.. old disk, and then mount the mfm drive? or are there no mfm modules for old kernels?
Good writeup, I enjoyed that. Cheers, Leonard
I was informed recently that there were drivers for ST-506 controllers in the kernel, they were removed after version 3.8. Relevant source code: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/drivers/block/xd.c?id=d1a6f4f19728d6e90480e53601a90fc9f6a348ad
I’m going to have to do something similar soon — with 5.25 inch floppies. Just got done archiving all my old data from the 3.5 inch floppies (using the requisite eBay usb floppy drive), but will ahve to obtain an older computer to do the 5 inch ones. Thank goodness I don’t have anything important on my stash of 8 inch floppies anymore :)
I kept the old 5 1/4 floppies for about 12- 15 yr until I started to trash them. Why keep outdated games and software on media of at best questionable readability?
I ended up using Device Side Data’s FC5025 http://www.deviceside.com/fc5025.html I was able to read 30 year old 5 1/4 disks from my TI99/4a
If it had a network card, why not just FTP?
Fun stuff though. I finally had to dump a lot of my old PC hardware due to space constraints, but it was always nice to imagine I -could- do stuff like this.
Because then he would need to load tcp drivers and the ftp program and stuff. Not that fun to do with MSDOS.
But I agree , he could have, if so inclined, booted an old version of linux, then he could even send the files over nfs.
It probably depends on what was on hand at the time.
That’s a fair answer!
I did grow up in the MS-DOS era, but have forgotten the days where the OS isn’t just loading the TCP/IP stack even if you had the hardware and drivers installed.
A fun era to visit, but I don’t miss it.
Fun trick was to put an RLL controller on an MFM drive, and get 50% extra for free.
Closer to 100% more.
Yep. And then use some data compression driver to compress the data on-the-fly, and get another 50% for free. :)
DoubleDisk … I mean DoubleSpace … I mean DriveSpace :-)
.. I mean huge lawsuit, $120mil in retroactive license fees and penalties against Microsoft, and later additional $80mil agreement to make the thing go away.
Yah the MFM drive controller would be hard wired for IRQ 14 primary HDD controller, and you’d have to use an IDE controller that allowed it to be set to secondary on IRQ 15… however, might also have needed one with it’s own BIOS extension because that looks like an early-ish pentium board, and BIOS might only have supported 2 HDD.
Ohhh, no it was an 8 bit controller, must have been the int03h address that clashed, IRQ would have been 7 or 9 I think (Rusty on PC/XT 8 bit stuff without looking it up) but still you’ll need the IDE to be settable at secondary address, think it was 15something.
It supports four hard disks, but the IRQ configuration may have been a problem, yes.
im still waiting to use the 64mb pc 100 ram chip i have sitting in a box of other ram from upgrades and street scores hoping for an old amd k62 400 and board for some retro games 98se era and a good old vodo 5 5500 agp
We had a project where a customer wanted a 5MB MFM hard drive. This is when MFM was on the way out. $25,000 later and we had the screaming monster installed. FWIW it was a government customer.
Had to burn some tax money?
Hands up if you remember laplink?
Still have uses today for serial crossover and xmodem for messing with uboot where no nic present.
Probably I somewhere still have a 10 to 15m flat cable with two printer port connectors.
It’s been 20 years but I used to use an old dos terminal program and x or zmodem to transfer files. I think I still have my null modem cable around even though I haven’t used it since then. 115200 baud took a few days if you had a lot to transfer. I had a laptop from ebay with no floppy or cd drive but it came with DOS 6.22 installed and I wanted to install Windows 95. I forget how I even got that process started. I might have looked up a program that I could type into debug to receive the inital terminal program over the wire in base64 format.
Laplink cable still here. Norton Commander was used to copy the files between two computers, via serial or parallel port.
He was lucky it came with the controller. All the MFM drives I have, will not read on a different brand/chipset controller than they were low level formatted on.