14

I need to handle bulk quantities of floppy disks, where I archive their contents, then recycle them by formatting them for use on old Amiga/Atari/MS-DOS computers.

I have a 3.5" floppy disk drive mounted in my current computer thanks to a 34 pin to USB converter. But the converter can only handle 1.44MB floppy disks, which makes it impossible to read/write 720KB floppy disks.

I also have an old Acer computer with a floppy disk interface embed in the motherboard, but it sadly can handle only one floppy disk drive, which is unpractical to handle so many disks. I could modify the floppy disk drive cable to switch between two drives but this seems highly unpractical and I could still handle only one drive at a time.

I'd like to know how I could build a computer that could handle reading/writing many floppy disks at the same time (with more than two drives).

7
  • 1
    Why recycle them? You can almost certainly get more reliable disks as "New Old Stock", for most formats that are sensibly readable on PC anyway, and for eg disks with exotic copy protection (assuming you want to do it with commercial titles instead of just old data disks), your archiving might not work very well.
    – Muzer
    Jan 5, 2017 at 17:51
  • 1
    surely someone has found a way to simulate such a floppy drive with sd cards? would emulators of your system work too or do you really need the old atari? just questions, not enough reputation to comment ..
    – pete
    Jan 5, 2017 at 22:26
  • other than that, if you need a lot of them, get a kid from your neighborhood and let them build a small robot to do the work .. or let them switch the disks, whatever is cheaper :p
    – pete
    Jan 5, 2017 at 22:34
  • You could buy extra floppy controllers if you needed more drives. Jul 14, 2019 at 15:06
  • 2
    Possible duplicate of Adding the third floppy drive? Jul 15, 2019 at 5:12

4 Answers 4

12

As suggested by Muzer, I'd recommend obtaining new-old-stock floppies to use instead of recycling existing ones, if they have content you care about (or are commercial floppies).

To actually answer your question, there are two things to consider.

The first is that formatting floppies is always best done on the system they'll be used with, so that really solves your problem on that end of things: format your Amiga floppies in an actual Amiga, your Atari floppies in an actual Atari, your DOS floppies in an actual DOS PC.

The second is that archiving floppies properly is relatively difficult, and is hard to do properly in parallel on standard systems. If you want to stick to modern PCs, your best bet is probably something like KryoFlux, Greaseweazle, or FluxEngine; you can run several in parallel but it starts getting expensive fast (less so with Greaseweazle or FluxEngine). Alternatively, you could use an older PC: there are old ISA floppy controller boards that have jumpers allowing them to be reconfigured so that you can run two controllers in a single system, with up to four floppy drives. Then all you need to do is find floppy-reading software that will allow you to use several floppy drives in parallel! You could use ImageDisk for archival-grade copying on a DOS system, but I think it only reads one floppy at a time. HD-Copy for DOS works well too for more basic floppy reading requirements (DOS format only), but I can't remember if it can read from multiple drives simultaneously...

4
  • Since writing the above, have you become aware of any other such projects? If magnetic signals are getting weak, I would expect that taking a 5.25" drive, detaching the drive-head wires, and attaching them to something like a PSOC 5 evaluation board (about $20) might make it possible to capture an analog waveform and then simulate trying to read it with a variety of different sense thresholds. I've been toying with the idea of doing that, but wouldn't want to duplicate the efforts of any other such projects.
    – supercat
    Feb 2 at 16:32
  • Thanks for the ping, Greaseweazle and FluxEngine would be suitable here too. It’s worth keeping an eye on updates to wiki.archiveteam.org/index.php/Rescuing_Floppy_Disks. Pauline looks interesting but it would be more expensive than a PSOC-based solution (ignoring the cost of writing the software!). Feb 2 at 16:59
  • The approaches I'm familiar with all use the sense amplifier and threshold detect that's present in a drive, and it looks as though Pauline might do so as well. While precisely capturing signal timing might facilitate recovery if e.g. one signal edge in a sector occurs about halfway between the two places it could legitimately appear and all other edges are solid (in which case, if moving that edge one way would yield a valid sector and moving it the other way wouldn't it should be moved in the direction that yields a valid result).
    – supercat
    Feb 2 at 17:04
  • Ah, yes, I’m not aware of anything that relies on the signal directly from the heads — various people have discussed that in the past, but I’m not aware of an actual project to do so. Feb 2 at 17:12
1

Even if your floppy controller is capable of running 2 drives with the proper cable (and many floppy controllers on newer systems are not), it may not be possible to read or write from both drives simultaneously because they will both try to use the same DMA channel.

If you can find a PCI floppy controller this should be less of an issue, but for old-style ISA-bus floppy controllers I don't see a lot of options. Probably better to stick with USB floppy drives (or SCSI floppies if you can find any) if simultaneous access is really important to you.

1

If you want to get really extreme you could build a machine that while only doing one disk at a time, does so automatically:

https://www.youtube.com/watch?v=H5lkxSY7QsI

1
  • I like that, it even photographs the label. Jul 15, 2019 at 17:27
1

Reading multiple floppies

As mentioned in other answers, reading from multiple floppy disks that share the same controller is unlikely to give much of a speed increase.

PCs originally supported up to four floppy drives, which could be achieved by using two controller cards (with two drives each). These controller cards (which also include Super-IO cards and some SCSI adapters) only existed in ISA (and EISA) forms, which may or may not suit the computers you have available.


Formatting multiple floppies

When it comes to wiping/formatting your disks, there may be a method of doing these in bulk. If you have two (or more) identically configured floppy drives connected to the same floppy drive controller, commands to format a disk should be executed by all the drives at once.

In order for this to work, the floppy drives should all be connected to a floppy cable with no twists in the cable (which swap control lines for drives A: and B: around). The number of drives you can connect will be limited by the electrical load they put on the controller's control lines, and the number of connectors on a cable that you can find/make.

This approach obviously won't work for reading floppies, as each drive will send different data to the controller at the same time. But when formatting a disk you will be overwriting this data with identical content before it's written.

PCs and many other systems use an index pulse (triggered by a hole on the disk) to decide where the start of a track should be. The multiple drives wouldn't have their disks in exactly the same position at the same time, so there'd be several index pulses generated by the bank of drives. If you were using a platform that doesn't use the index pulse (such as old Apple drives) this wouldn't be a problem. For others, your mileage may vary.

Another limitation is what happens if a bad sector is found while formatting. I can think of two possibilities:

  • The OS reports a bad sector and stops formatting, but you won't know which of the disks is at fault
  • The response from the "correct" drives drown out the error from the drive with a faulty disk, meaning you end up with an apparently formatted disk, but are unaware of its fault.

Bad sectors probably wouldn't be an issue if you were using brand new floppies, but as you're recycling old ones, your mileage may vary. Some faulty disks would probably be weeded out at the archiving stage.

Using a bulk eraser on the floppy disks before formatting them may also help. (They're not very common these days, but as magnetic media, a bulk eraser for tapes could be used instead.)

6
  • 1
    "If you have two (or more) identically configured floppy drives connected to the same floppy drive controller, commands to format a disk should be executed by all the drives at once." - this works on the Amiga, but I doubt it will work on uPD765 type controllers (PC etc.) because the index pulse is used to start and stop formatting. Different drives will not have their index pulses lined up, so the controller will see multiple index pulses and may abort formatting early, or at best some disks will not have their sectors lined up to the index position. Jul 15, 2019 at 4:32
  • @BruceAbbott: I wonder whether the lack of sector-hole alignment would be noticeable, provided the drive speeds were reasonably close, and the drive with the sensor was spinning the fastest or close to it so as to avoid placing the last sector too close to the first one? I don't think the drive controller really cares about sector hole timing other than when formatting, provided that the drive receives some pulses but not too many.
    – supercat
    Jul 10 at 17:21
  • @supercat to write a blank disk it has to format the track, which starts when the index hole is detected. After the disk is formatted (or if using pre-formatted disks) it writes each sector immediately after reading its address mark. However it can only read one drive at a time and the other drives will be at random positions, so sectors written to the other drives will not be lined up with their address marks. Jul 10 at 23:19
  • @BruceAbbott: The sectors on other drives would be arbitrarily aligned with respect to their address marks, but I don't think that would matter. The only way in which alignment would be relevant would be if it the sectors on consecutive tracks were placed in such a way that reading them would result in the drive having to make an extra rotation. If the drive speeds were close enough, however, I wouldn't think anything would care about the placement of sectors relative to the index hole.
    – supercat
    Jul 11 at 13:55
  • @supercat the sector data is written ~22 MFM bytes after reading the header, which is only written when the disk is formatted (22 byte gap provides time for the controller to switch from reading to writing). This timing can only occur on the one drive that is being read by the controller. The other disks are spinning asynchronously and so will have their sectors written at random positions relative to their headers - probably overwriting the headers since the sectors are much longer. Some controllers can do a 'write track' which writes everything at once, but the uPD765 is not one them. Jul 12 at 1:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.