Twitter acquired Threader! Learn more

+ Your AuthorsArchive @Foone Hardware / software necromancer, collector of Weird Stuff, maker of Death Generators. (they/them) ko-fi: Oct. 16, 2021 9 min read

I wonder what criteria my local movie theater has on their "private watch parties".
Could I invite all my friends and family to a private theater showing of one of my favorite 80s britpop music videos?

I thought the sign said "private witch party" when I first saw it, which would be on brand for Halloween

I don't think I can read today. I looked down at my car radio and it said it was playing "Smells like Teeth..."

And I saw a sign at Starbucks that mentioned "Modern ways to Remember" which gave me Total Recall vibes

Also some of them offer private gaming parties. Do they have a selection of modern consoles or can I show up with my Atari 2600?

Maybe they'll let be bring in a DVD? And if that's the case, what video formats can I use?
VHS? Beta? Laserdisc? CED? Cartrivision?

I can encode a video really small and put it on a floppy disk

Them: "so what movie do you want to show in your private theater? We've got Venom, Halloween Kills, Zardoz, The R-"
Me: oh no that won't be necessary, I brought my own media.
*hands them a 5.25" disk*

I wonder how hard it would be to get the USB consortium to update the floppy disk mass storage spec

Because see it's actually not possible to build a 5.25" usb floppy drive that uses the USB floppy mode! The spec lists only three formats as possible, and they're:
1. 720k 3.5"
2. 1.2mb 3.5" (the NEC variant)
3. 1.4mb 3.5"

So if you were making a USB 5.25" drive you'd have to use the mass storage class, not floppy.
This means you can't do low level formatting, which is a shame.

It also means your device will be assumed to be flash storage which is definitely not the case. Flash storage has very fast response times and floppies, well, do not.
Your OS might time out the request thinking the device is broken.

There are ways to attach a 5.25" drive over USB, but none of them appear as mass storage. All of them show up as serial or other custom devices, and require specific software to read them.

Which is fine for preservation and such, as they're low level flux imagers, but annoying if all you want to do is copy some files on and off

So once again apparently I have to do everything myself

There is a possibility that mass storage might work out fine, though.
See, usb mass storage is basically just SCSI.
SCSI is a very flexible and capable spec.

You could support the scsi commands for low level formatting, and it might "just work".
Now whether that'd be easy to trigger is another question.

Under Linux, you could use sg-utils to send the command to the endpoint, but I have no idea if windows would detect support and let you trigger it from the format option. You might just get a high level format

High level formatting is fine for a device like a modern hard drive or a flash disk, but it's not enough for a floppy disk. Floppy disks need low level formatting or they won't have sectors.

And with no sectors you can't store any data! You don't have a storage medium, you have a novelty plastic circle

Anyway there are scsi-to-floppy adapters so floppy over scsi is totally doable.
The only problem is that the ones I know of don't seem to support 5.25" disks, or if they do there's no documentation to tell them to configure themselves that way

And it's not like a floppy device can figure out what kind of drive is connected to it. Sadly the interface has no way to determine what kind of drive is connected. (it was invented in the 70s, give it a break)

Although, fun fact, that's not exactly true! You can determine if a connected drive is high density or double density, and no, it's not the "high density" pin. No one trusts that.

See, the floppy interface doesn't have any notion of what track number you're on, unless you're on track zero. There's a sensor to tell you you're on track zero.
The controller has to keep track and issue "previous track"/"next track" commands to know where it is

So you can't tell what track you're on unless you're on track zero.

And the difference between double density disks and high density disks is how many tracks they have, 40 or 80.

But it doesn't and can't tell you it's at the max track.

So how do you tell?

You count backwards from "Infinity"

Basically you abuse the fact that the drive physically cannot go above the max track.
So if you have a 40 track drive, you can issue 80 "next track" commands but you'll still be on track 40

So you start at track zero, which you know you can find by doing previous track until the track zero sensor lights up, then you go NEXT TRACK 80 times, then you start going PREVIOUS TRACK until the zero track indicator lights up again

On a double density drive, it'll happen after 40 tracks, on a high density drive, it'll happen after 80 tracks

This is why most PC BIOSes would seek all floppy drives at boot: they were counting how many tracks were in the drive.

Some BIOSes let you turn off initial boot seek, for a quieter start.

Fun fact: this trick wasn't needed on Apple II disk drives, but it was also completely impossible there.

You know the distinctive clattering of an apple II disk drive being powered on? 

To cut down on costs, It doesn't have a track zero sensor.
So how does the controller know what track it's on?

Well it does the same trick as pc BIOSes do when booting. It just issues a ton of "previous track" commands.

Once it has sent enough, it knows it MUST be on track zero, because the drive head physically can't go below track zero. It bangs into the case and stops.

And from then on it just keeps track. When you tell it to go to track 5, it knows its on track zero, so that's five NEXT TRACK commands. Next you ask for track 4, so that's one previous track command

But when the computer first turns on, it has no state. It can't remember what track it was on when it was powered off! And even if it could, it couldn't trust it. What if you swapped the disk drive while it was powered off?

So all it can do is get the drive into a known state by issuing enough previous track commands.
And since the drive is unlikely to have powered off while on the last track, most of the time it's going to issue too many previous track commands.

Thus, the clatter noise, as the head repeatedly tries to seek from track zero to track -1, which it can't

Fortunately they designed the drive to be able to withstand the abuse.
It's not damaged by it.

And technically, Iomega did the same thing with their zip disks.
It doesn't have the same track zero problem, but it does try to do a track zero seek when it encounters an error, to reset itself.
And Iomega included some padding there to avoid damage.

Then they decided to make the next generation of zip drives a little cheaper and went looking for things they could change to cut down on costs and hey, this padding here costs like 4 cents per drive, and we're selling millions of them, those costs add up!

How bad could it be to remove it?

Bad enough that the tech media had a field day with the "click of death" becoming the biggest news in digital media and the Iomega brand never fully recovering

Because the thing about removing the padding is that whole it wasn't a major issue in normal use, if you have a disk that's been damaged somehow, with magnets or dust on the disk surface, the drive is going to repeatedly encounter errors

And the drive will therefore repeatedly try to reset to read it, making a clicking noise each time

And without the padding it will beat itself to pieces, knocking it out of calibration or even physically damaging it

And this lead to the "click of death" turning into something that acted like a plague, it was permanent and transmissible

Because you've got a disk, it got dirty or damaged by a magnet, and you stick it in a zip drive. Click click click it can't be read, whoops.
So you switch to a known good disk, except you damaged your drive with the bad disk before, so now your drive can't read that one either!

So you instead take your bad disk to another zip drive, like maybe you're in a computer lab and all the drives have them?
Well, your disk is still dirty, and now it just broke that zip drive too

So you start with one computer in the lab not being able to read disks, and a few days later two can't read disks, and by the end of the month none of them can

They all just click on all disks, new, good, bad, whatever

All because Iomega tried to remove a couple cents worth of padding to cut down on drive costs

Iomega discovered the problem before very long and was only shipping the bad drives for a few months, but that was still millions of units and they then mismanaged the public response to the issue into a much bigger problem

It's that typical short sightedness where you go "we can't do a recall and full replacement, that'll cost millions!" so instead you just downplay the problem while the entire tech journalism world yells about it being one, and now everyone loses confidence in you

And you instead lose billions

And all this started as plan to save hundreds of thousands of dollars

GOOD JOB! You saved so much money you're not even in the removable storage business anymore.

And actually don't really exist anymore.
Iomega got acquired by EMC (Now Dell EMC) in 2008, and was making some storage server stuff as Lenovo EMC up until 2018, when that partnership dissolved

Iomega's floppy drive business was probably not going to survive the rise of the CD Burner and flash drive in the late 90s/early 2000s, but the company might have weathered those industry changes better had their reputation not gone to shit after the click of death fiasco

You can follow @Foone.


Tip: mention @threader on a Twitter thread with the keyword “compile” to get a link to it.

Follow Threader