8″ Floppy On Your PC?

We should probably have a new metric for measuring mass storage performance: bytes per pound. An old IBM tape drive from the S/360 days, for example, could hold almost 6 megabytes of data. It also weighed more than a typical refrigerator. Today, a tiny postage-stamp-sized card can hold gigabytes of data and weighs — at most — a few ounces. Somewhere in the middle is the old 8 inch floppy drive. At its peak, you could cram about 1.2 megabytes on it, but even with the drive you could lift it all in one hand. These disks and their descendants ruled the computing world for a while. [Adrian asks the question: can you use an 8″ floppy drive on a PC? The answer is in the video below.

He didn’t do it on a lark. [Adrian] is getting ready to restore a TRS-80 Model II so he wanted to create some 8″test floppies. But how do you marry a 40-something-year-old drive to a modern computer? He had a few drives of unknown condition so there was nothing to do but try to get them working.

The 8 inch floppy connector isn’t even the same as a 5.25 inch connector which PCs do support. However, electrically, the drives are the same, so if you can make the mechanical connection, a conventional floppy controller will do the job.

Been a while since we’ve seen a big drive like this. We had forgotten that the spindle motor ran on AC wall current and required a start capacitor. Some surgery on a donor cable from an old word processor made the connection. Sure enough, the BIOS on a PC recognized the drive, although the geometry for a disk like this wasn’t in the BIOS choices.

A long video, but fun to watch those giant old drives working and [Adrian’s] process of working through his issues. Of course, these days, you can read a floppy with a Raspberry Pi or — for the stout at heart — try an oscilloscope.

43 thoughts on “8″ Floppy On Your PC?

  1. Thank you for this article!
    I saw the video a few days ago already, but it’s cool that it’s mentioned here.

    From what I can tell, the ‘issue’ with 8″ diskette drives is (or was) that they were made for the original Shugart standard, which IBM did slightly alter for its IBM platform. Things like drive select were originally much better handled by the Shugart standard, without the need for twisted cables.

    Anyway, I’m just a layman here. My father used to be a user of 8″ diskette drives since he worked on CP/M-80 machines and vanilla CP/M itself knew only its original 8″ diskette format from the 1970s.

    – When I was little, he showed me his 8″ Floppy of Turbo Pascal 3 for CP/M! Boy, was this thing amazingly big! Like one of my grandma’s records, almost! ^^

    Of course, as time wents on, many versions of CP/M were modified to support the 5,25″ formats. The Kaypro/TRS-80/Osborne (?) formats became semi-standard in the early 80s.

    1. The reason for the cable twist was that it eliminated the need to set a jumper to add a drive to the controller. The downside was that then you could only have two drives on the cable instead of four. I am guessing it was to simply assembly and eliminate the chance of having the wrong drive since all of the drives were set the same.

      1. Some floppy drives, even into the 3.5″ era were still produced with jumpers for configuring the drive letter. All unconfigurable “modern” floppys are set to drive b: by default and may not be reconfigurable. Putting a b: configured floppy past the twist makes it an a: drive. If you had one of the configurable drives, you could configure it as the a: drive, then put it on the plug past the twist and it would end up being a b: drive instead of a a: drive.

  2. I haven’t watched the video (I have YouTube blocked), but one thing I discovered about modern PCs (to my disgust)…

    Many moons ago, floppy cables had three connectors on them, one went to the floppy controller, the other to your drives. There was a twist in the cable between the two drive connectors so that one became /dev/fd0 and the other /dev/fd1.

    My old desktop from the mid-90s, which had 3½” and 5¼” drives, died… so naturally, I decided I’d just move the 5¼” drive into my current home desktop. The desktop already had a 3½” drive installed that was working, I just swapped out the cable for one that had two drive connectors, and plugged in the 5¼” drive.

    Then came the fun bit: telling the machine about the “new” drive. The 2010-era BIOS did not have a setting for a “B:”. Okay, so maybe the kernel will auto-detect? No such luck, Linux saw a 3½” drive on /dev/fd0, but no /dev/fd1 appeared. Tried reading /usr/src/linux/Documentation for clues… tried a few different settings, nothing seemed to make a difference.

    It appears that modern floppy controllers will talk to one drive ONLY. I’d love to be proven wrong on that.

    Right now the drive is a useless waste of a drive bay in that machine. If I had a burning desire to make it work, I guess I could just make it /dev/fd0 and get a USB or IDE floppy drive for reading 3½” disks. Long-term, I think the answer will be to interface both 3½” and 5¼” drives to some custom USB-hosted controller. PocketBeagle might be a cheap option for that: the PRUs should be fast enough to sample the data coming from the drive / bit bang the data to the drive, and the application processor can expose a block device to the USB host. It is not high on my priority. :-)

    1. I had a similar issue a few weeks ago, with an old IBM 300PL desktop of the Windows XP era. Couldn’t for the likes of me get a second drive to work. After trying and trying, and checking out the motherboard, I’m sure that it’s not the controller, but simply that IBM didn’t want anyone to connect another floppy drive.

      Or maybe they needed some extra bytes in the BIOS rom for something and decided that multi-floppydrive support could be taken out of the BIOS setup screen. The system boots with a huge IBM logo, maybe they had to make some room for that in the BIOS.

      Maybe I’ll spend some time fiddling with int 13h to see if that does anything. But I don’t think it’s worth it. Would be easier to just replace the motherboard completely. Didn’t look like anything special. VIA chipset, micro ATX. Even uses an I/O plate.

      Actually, there are some dos utilities to change BIOS parameters, maybe they could work? Like gsetup here: http://www.dosdays.co.uk/topics/bios.php. I know that there were lots more of those utilities 20 years ago.

    2. SPDT switch in the drive select line to switch between them. Only one can be active at a time, and you will need to reset the BIOS when switching, but it works (in the single example I have tried this on, at least)

    3. It’s been a while, but IIRC, the “cable twist” was a clever way of avoiding having to configure the jumpers on the two drives differently. There were jumper(s?) on the drives that determined the DS number. One jumper position gave you DS0 and another gave you DS1. The twist allowed both drives to be configured as DS0, and the cable twist moved the DS1 signal on the cable to the DS0 pin on the interface connector of the second drive. The reason for this is simple: it saved manufacturers from having to configure drives differently…every drive installed was set for DS0.

      1. The cable twist was simply a clever way to not have to mess with the jumpers. Having them all jumpered as the second drive was an odd choice, but perhaps they were already selling second drives jumpered that way. It also inspired me to make two twists in a serial cable, and add an extra connector, to have a built-in null modem.

        Only supporting two drives was a BIOS limitation. Also, having used three drives on a TRS-80, I vaguely recall that there was a problem with using a fourth drive, between the choice of DS3 vs side select. I think they fixed that on the Model III, though.

          1. And I never said otherwise. It was IBM that did it first. It was a bit annoying to see the perfection of a ribbon cable interrupted, but clever enough for me to use it elsewhere. Now I often do rather complicated custom-crimp ribbon cables so that I can mate them with microcontroller pins using 0.1″ headers in a breadboard.

  3. Sweet. My first paid job (at the age of 12, back in ’82) involved hacking the boot sector of one of these babies to make it bootable. The dual 8″ monster drives was attached to an Apple ][, which had numbered slots. The Apple always started scanning the slots from 7 downwards but normally the original 5″ Diskdrive was in slot 6. The 8″ Was in slot 7 and to make it compatible the standard boot sector on the 8″ disk just jumped to slot 6 and the machine booted normally from the standard 5″ disk.

    My dad wanted it to boot from the big disk for reasons that elude me. Hacking a assembly program in Hex in the Apple’s Monitor ROM to read the boot sector, analyzing it with the monitors hexdump and changing a byte 6 to a 7 diid the trick. Good times. My dad gave me about 5$ for my efforts, which was a fortune to teenage me then.

    I still have the disk, I use it as a prop when I give the occasional talk and point out that this disk is not a movie Prop, it contains data.

    These things had a much longer lifetime than intended, in the most dangerous role you can imagine:


  4. There are three considerations with old drives.

    1) The signal (wiring) interface. I have seen 3. One really old one that I don’t remember the name. The next was Shugart and that is the standard used by the PC 3.5″ and 5.25″ but it somehow different for the 8″. The third was used by apple and one signal represents “Disk Changed (DC)” rather than “Drive Ready(Rdy)”.

    2) The (Low level) magnetic Format. The common are FM (Frequency Modulation) MFM (Modified FM) or RLL. Early drives were FM and had discrete electronic encoders/decoders (Like a MODEM). Later ones used MFM, at first using a FDC765 to decode these were DD formats but not HD formats. Later a 3756 controller was used for HD formats.

    3) The disk layout: Cylenders (Tracks), Heads (sides), Sectors per track. DD formats were 40 tracks and HD formats were 80 tracks (most commonly).

    In DOS you could specify the layout with switches https://home.csulb.edu/~murdock/format.html but that ability ran out at about XP or Vista.

    Different layouts – https://en.wikipedia.org/wiki/List_of_floppy_disk_formats

  5. In the video he asks why Tandy went with an 8″ FDD for the TRS-80 Model 2, and suggest it came down to quality.

    There is another factor.

    The TRS-80 Model 1 had 5.25″ FDDs holding 180kB and a 16 bit memory address space – maximum of 48kB RAM. So even a single 180kB floppy could hold many many programs.

    The old DOS’s didn’t have sub-directories so the root directory become cluttered with too many entries and there was also a limit on the number of root files so more floppies were better than higher data capacity floppies.

    So on the TRS-80 Model 1, 180kB FDD size was more than enough and there was no real benefit to using a larger 8″ with higher capacity. The Model 1 was a machine for education, programming and some games.

    The Model 2 was a business machine so you would be using larger databases on a machine that didn’t have more than 64kB RAM so the larger capacity 8″ drive was beneficial.

    Then when the PC was introduced it could have up to 640kB RAM – because no one would ever need more than 640kB :)

    So there was an advantage to the higher capacity floppies but that was soon cut off by hard drives ex: ST-225 20MB (MFM) or 30MB (RLL) so then floppies were more used to install applications or transport data. So they increased in capacity slowly. Much slower than would have been if hard drives didn’t exist.

    1. Cool! That reminds me of DOS Plus 1.2, which was CP/M-86 with a built-in DOS compatibility layer. There’s an awesome article at Wikipedia about it.

      “Another feature resulting from the BDOS’ internal organization of current working directories as relative links to parent directories is the theoretically unlimited directory depth supported by all those above mentioned operating systems – in contrast to MS-DOS/PC DOS (and DR DOS since 1992), where an MS-DOS compatible internal data structure named Current Directory Structure (CDS) limits directory depths to a maximum of 66 characters.

      These features can be attributed to the fact that CP/M itself did not have a concept of subdirectories, and DOS was emulated under these operating systems, so directories had to be translated to internal CP/M structures in some intelligent way. ”

      Source: https://en.wikipedia.org/wiki/DOS_Plus

      Neat, isn’t it? Ol’ CP/M surpassed MS-DOS in one way or another. ^_^

    2. Re: The 640KiB limit.
      The truth is a little more complicated than nobody needs more than 06iB4K.

      BIO, BASIC, and hardwareI/O access needed to be put somewhere and it really needed to be a 6i4BK bouandry for efficiency and speed reasons. The 8086 could access a total of one MiB in 64KiB blocks. The decision was made to start the BOIS, BASIC ROM, and I/O memory section starting at 640KiB because it was 10x the capacity of any Microcomputer, and many minicomputers, at the time. Over time the BASIC ROM was eliminated and much of the I/O space was determined to be unnecessary. There were programs that could recover and use much of that space.

      The REAL problem was the memory addressing scheme of the 80286 processor. While it could access more than 1 MiB of memory, there was no easy way to shift from extended memory access back to the original 1 MiB method. You basically had to restart the processor to get back. So every time you had to access BIOS or I/O you ended up with a lengthy reboot and reconfiguration of the processor. The shift back to extended memory mode was relatively painless. The 80386 processors fixed the oversight, but they still needed to shift memory modes back and forth to access bios and

      I/O. The alternatives would be to maintain 2 different BIOS’: one fore 1 MiB programs and another for Extended memory modes and another for extended memory modes. And a VERY complicated scheme for maintaining status between software in different modes. Or they could of scrapped the existing software base entirely. Apple did that several times, but I believe that did have significant impact on the acceptance of the platform, amongst other issues.

    3. But even 5.25″ varied over time.

      Single sided, 35 tracks and if early enough, single density. And eventually that became double sided with 40 tracks and double density. And 80 tracks when 3.5″ came along (and some later 5.25″).

      So 8″ looked pretty good for a while, then stopped being appealing except for legacy.

      i never saw an 8″ drive close up, though maybe 20 years ago I found a box of ten 8″ floppies, wondering if the sale had had a computer to go with them. They really flop.

    4. No, the Model 1 only had 90K. It was a SINGLE density system, not the standard double density. Very simple and wasteful, as Woz complained when he researched it: always a clock pulse, followed by either a pulse or not depending on 1 or 0. Most floppies standardized to double density so quickly that people forget there was a lowly single density. (Though the original Osborne was also hobbled by single density.) it was all the fault of the cheap interface and the Western Digital 1771 floppy decoder chip. It was SSSD: Single Sided, Single Density

      I don’t where people get the idea that the Model 1 had 180K, it was always 90K. Now the 1980 replacement Model III did have double density and a different WD chip. But the original 35-track “mini-disks” or “diskettes” for the Model 1 could only hold about twice the machine’s 48K-worth on one floppy. (“Mini” compared to REAL disks, as 8 inch were considered.) Tandy didn’t even think the 1.77 Mhz Z80 was fast enough to handle double density, and it was a quite an accomplishment when 3rd party (Percom) double density kits with replacement floppy chips, plus DOSes that could read them, came in.

      Single density is so primitive that even the original IBM PC controller can’t read SD disks: even single sided, they started as double density. The Model 1 upgrade kits would have you put the old 1771 decoder chip into the new board side-by-side with the new 1791 chip so you could read your old disks.

      The TRS-80’s flaky reputation as “Trash-80” came a lot from slow & anemic drives, connected to an RF-noisy expansion box (3 revisions and finally replacement) by an open ribbon cable, and an hopelessly buggy DOS released too early by a clueless corporation shoving alpha software straight to desperate customers. (Didn’t help that the DOS programmer had incurable feature creep, couldn’t stop making bugs to save his life, and snuck his home phone & address for support inside as an easter egg.) But it was so popular that 3rd party expansion boxes with 3rd party drives running 3rd party DOSes made it a good machine.

      1. There was one operating system, maybe Flex for the 6809, that for some reason needing single density to boot. I never experienced it, but remember it be ame a problem when second generation controllers came along which wouldn’t do single density.

  6. I got my hands on a old IBM System23 all in one computer at a garage sale.
    It had the green crt, keyboard, and dual “real 8 inch floppies” With the Brady Operating System.
    The floppies were the ones without a shroud, just magnetic plastic with no covering.
    And it still functioned.

  7. OK I guess it all started with 3.75MB / weighed over one ton (including a separate air compressor required for operation)

    I’m not too sure what the weight/byte is for paper tape. I lost most of my paper tape backups when my mom cleaned out my childhood closet a long time ago. All I have left is a “Chromemco 16KZ Memory Test copyright 1977” that’s about 25′ long. I’m thinking paper tape is probably lighter per byte than punch cards….but I dont know

  8. Almost correct. Floppy drives from the factory were set to DS1. This is why the drive before the twist is the B: drive. The twist connects the DS0 select to the DS1 pin of the drive and the system sees the A: drive.
    A better description of “the twist” is here: https://textfiles.meulie.net/mirror/pinouts.ru/Storage/InternalDisk_pinout.shtml
    Very early drives had jumpers for DS0, DS1, DS2, and DS3. Later the jumper block was replaced with a soldered wire across DS1.
    Documentation for many floppy drive jumper settings: http://www.jope.fi/drives/diskettes-jumpers.pdf
    Some LPC Super I/O chip models for PC include SMSC FDC37C669, Winbond 83627, and ITE IT8783.

  9. By coincidence, I came across a pair of 8″ diskettes earlier in the week, while unearthing some 1973 ASCII art printouts.
    One was a CPM system disk. Whether the data has survived from 1980-ish is moot as I don’t have a suitable drive. (Just two 5.25″ drives I put in an enclosure, but never powered up.)

    My recollection is that single sided single density was 360 kB, double density 720 kB, and DDDS was 1.44 MB.
    That’s what the 5.25″ drives are, I believe. I’ve never seen one with less capacity than the older 8″ drives.

    When assembling software on an Intel MDS (Blue Box), it took around five seconds to assemble one short assembler macro, with the drive head doing several seeks, presumably one for the listing output file, one for the object, one for who knows what, and one long one back to the source. The whole program, a few kB long, took minutes.

    Them wuz the days. (When electronics was so expensive, ya couldn’t afford it.)

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.