We no longer use floppy disks on the vast majority of computers, but a recent Old New Thing blog post from Microsoft sheds light on one of their possible unexpected legacies. It seems Windows disk cache items expire after two seconds, and as the post explains this has its origin in the development of MS-DOS 2.0.
Disks, especially floppy disks, are slow compared to computer memory. A disk cache is a piece of memory into which the operating system puts frequently loaded items to speed up access and avoid its having to repeatedly access the disk. They have an expiry time to ensure that the cache doesn’t become clogged with data that hasn’t been needed for a while.
IBM PC floppy drives didn’t implement any form of notification for a disk eject, so it became quite possible for a disk to be ejected while the operating system still believed cached data from it to be valid. Thus a pair of Microsoft engineers tried their hardest to swap floppy discs as fast as they could, and it was discovered to be an impossible task in under two seconds. This became the cache expiry time for a Microsoft OS, and thus we’re told the floppy’s legacy lives on as more than just the ‘save’ icon.
As this is being written the Internet is abuzz with a viral Tweet about railroad gauges having an origin in the width of a Roman horse, that rail historians are debunking with a reference to the coal tramways of [George Stephenson’s] Northern England. It’s thus sometimes dangerous to take simple soundbite origin stories at face value, but since in this case our source is Microsoft themselves we think we can take it as being close to the horse’s mouth. Even if it isn’t a Roman horse.
About a week ago, Linus Torvalds made a software commit which has an air about it of the end of an era. The code in question contains a few patches to the driver for native floppy disc controllers. What makes it worthy of note is that he remarks that the floppy driver is now orphaned. Its maintainer no longer has working floppy hardware upon which to test the software, and Linus remarks that “I think the driver can be considered pretty much dead from an actual hardware standpoint“, though he does point out that active support remains for USB floppy drives.
It’s a very reasonable view to have arrived at because outside the realm of retrocomputing the physical rather than virtual floppy disk has all but disappeared. It’s well over a decade since they ceased to be fitted to desktop and laptop computers, and where once they were a staple of any office they now exist only in the “save” icon on your wordprocessor. The floppy is dead, and has been for a long time.
Still, Linus’ quiet announcement comes as a minor jolt to anyone of A Certain Age for whom the floppy disk and the computer were once inseparable. When your digital life resided not in your phone or on the cloud but in a plastic box of floppies, those disks meant something. There was a social impact to the floppy as well as a technological one, they were a physical token that could contain your treasured ephemeral possessions, a modern-day keepsake locket for the digital age. We may have stopped using them over a decade ago, but somehow they are still a part of our computing DNA.
So while for some of you the Retrotechtacular series is about rare and unusual technology from years past, it’s time to take a look at something ubiquitous that we all think we know. Where did the floppy disk come from, where is it still with us, and aside from that save icon what legacies has it bestowed upon us?
Floppy drives have particularly low-level interfaces, offering up little more than a few signals to indicate the position of the head on the disk, and pulses to indicate changes in magnetic flux. The data is encoded in the pattern of flux changes. This has important implications as far as preservation goes – it’s best to record the flux changes themselves, and create an image of the exact magnetic state of the disk, and then process that later, rather than trying to decode the disk at the time of reading and backing up just the data itself. This gives the best likelihood of decoding the disk and preserving an accurate image of floppy formats as they existed in the real world. It’s also largely platform agnostic – you can record the flux changes, then figure out the format later.
[CHZ-Soft] takes this approach, explaining how to use a Saleae logic analyser and a serial port to control a floppy drive and read out the flux changes on the disk. It’s all controlled automatically through a Python script, which automates the process and stores the results in the Supercard Pro file format, which is supported by a variety of software. This method takes about 14MB to store the magnetic image of a 720KB disk, and can even reveal a fingerprint of the drive used to write the disk, based on factors such as jitter and timing.
For people under a certain age, the 8 inch floppy disk is a historical curiosity. They might just have owned a PC that had a 5.25 inch disk drive, but the image conjured by the phrase “floppy disk” will be the hard blue plastic of the once ubiquitous 3.5 inch disk. Even today, years after floppies shuffled off this mortal coil, we still see the 3.5 inch disk as the save icon in so many of our software packages.
For retro computing enthusiasts though, there is an attraction to the original floppy from the 1970s. Mass storage for microcomputers can hardly come in a more retro format. [Scott M. Baker] evidently thinks so, for he has bought a pair of Qume 8 inch floppy drives, and interfaced them to his CPM-running RC2014 Z80-based retrocomputer.
He goes into detail on the process of selecting a drive as there are several variants of the format, and interfacing the 50 pin Shuggart connector on these drives with the more recent 34 pin connector. To aid in this last endeavour he’s created an interface PCB which he promises to share on OSH Park.
The article provides an interesting insight into the control signals used by floppy drives, as well as the unexpected power requirements of an 8 inch drive. They need mains AC, 24VDC, and 5VDC, so for the last two he had to produce his own power supply.
He’s presented the system in a video which we’ve put below the break. Very much worth watching if you’ve never seen one of these monsters before, it finishes with a two-drive RC2014 copying files between drives.
The disk is attached to any high speed DC motor connected to a plain ol’ power supply – variable if you want to adjust speed. As you can see from the video after the break, it cuts through plastic quite well, but is unable to damage any metal that it encounters. This property makes it extremely handy for many applications. Want to strip through an old 3.5mm phono jack without damaging the wires? Want to wind a coil over a plastic former and then strip away the plastic? Want to trim some 3D printed parts? All game for this handy tool. According to [DeepSOIC], if you don’t have floppy disks, you can use other kinds of plastic films too – such as overhead transparencies or plastic printer films. If you are in a pinch, he claims even paper works, although it doesn’t last too long. Don’t throw away all of those business cards yet.
This isn’t the only trick up his sleeve. He’s documenting a whole series on his project page at Hacks and Tricks. And if you like these, then also checkout [RoGeorge]’s bag of tricks over at The Devil is in the Details.
[gilmour509] posted a thorough gallery of a new custom-built computer and case made to look like a 1995 IBM Aptiva. While the whole build is impressive, the most clever part involves a 3 1/2″ floppy disk that hides an SD card and works like a regular USB flash drive when inserted into the floppy drive.
[Maurizio] loves using his Amiga 500. His classic piece of hardware has been serving him well for years, except for the floppy drive, which recently gave out on him. No problem for [Maurizio], he just cracked his case open and added a Raspberry Pi as a real-time floppy emulator. [Maurizio] didn’t want to make any permanent changes to his A500 case, and more importantly he wanted to use the Amiga’s original floppy drive interface. The latter placed some rather stringent timing requirements on his design.
The interface hardware is relatively simple. Most of the circuit is dedicated to level shifting from the 5v Amiga 500 to the 3.3V Raspberry Pi. A 74LS06 Hex inverter converts the signals to the open collector outputs the A500 requires. [Maurizio] powered his Raspberry Pi from the floppy power connector of the Amiga. His model A Raspberry Pi works fine, but a model B would pull a bit more power (700ma) than the Amiga floppy power supply is capable of providing (550ma). The user interface side of the equation is simple: Two buttons, one used to switch disks, and one to “Write to SD”. Live disk images are stored in the Raspberry Pi’s ram, so the user needs to hit the “Write to SD” button to store any changes to disk before swapping floppies.
The software is perhaps the most interesting portion of this build. [Maurizio] is emulating a floppy drive in real-time – this means emulating MFM encoding in real time. Calls have to be made with a timing accuracy of 2 microseconds. The Pi’s stock Linux Operating system was just not going to cut it. [Maurizio] coded his drive emulator “bare metal”, directly accessing the Arm Processor on the Raspberry Pi. This gave him access to the entire processor, and allowed him to meet the hard timing requirements of the floppy interface.