UFDR - Universal Floppy Disk Reader

The UFDR system consists of custom hardware and software that I developed to recover data from old floppy disks by capturing both the analog and raw digital signals, then using post-processing software to decode the data.

It optionally uses the PulseView software to display the analog and the raw and decoded digital signals for individual tracks. This is especially useful if a track has decoding errors, as the graphical view can sometimes help determine what is causing the errors.

Although other devices and software for processing raw digital data from floppy disks were already available (see below), none also captured and displayed the matching analog waveforms, and as far as I know, none allowed adding and deleting and moving pulses/edges to fix errors. So far I haven't needed to refer to the analog signal recording for clues to help with fixing read errors, but it has been interesting to see how the signal amplitude sometimes varies significantly, yet the drive is still able to successfully extract all the pulses.

Decoded data from each captured disk is stored in a special disk image format that contains configuration information (metadata) about the disk in addition to the decoded data. The disk image can also be exported to a standard DSK disk image file to be accessed by emulators, or by software that writes data back to a real floppy disk. The UFDR software can also be used to explore either disk image format (currently only for FLEX and OS-9 disks). This includes the ability to display directory listings, and to view and extract individual files. Refer to the screen captures below.

In February 2018 I exhibited my UFDR system at the Vintage Computer Festival Pacific Northwest, held in Seattle at the Living Computers: museum + labs. The poster that was part of my display, and explains the various portions of the system, is available for download below. I plan to eventually document the UFDR hardware and software in more detail on this page -- but I need to first clean up the source code.

As of 2018-Jun-29 I had successfully (with zero errors!) captured data from 130 5" floppy disks, some of which were almost 40 years old.

Other devices and software for processing raw digital data from floppy disks include:

Capturing raw disk data can also be done by using an inexpensive logic analyzer to sample these six digital signals on the floppy disk drive interface @ 16 MHz. (The last 5 signals make it possible to determine where an individual track begins and ends, and which cylinder and side it is on.):
 ReadData, Trk00, Side, Step Dir, Step Pulse, Index

In order to quickly step through all tracks on the entire floppy disk, either of these OS-9/6809 commands would work:
 copy /d0@ /null
 merge /d0@ >/null

Some simple software could then be written to separate the data into individual tracks to be processed with PulseView and my FM/MFM decoder. But processing all the tracks one by one from a floppy disk would be much more time-consuming this way compared to using the UFDR hardware and software that quickly captures and decodes an entire disk at one go.


(Click on a picture for a larger version.)
Startup menus, Config menu, OS-9 Explore session, FLEX Explore session. (22KB-62KB .png)
Track list, Track graph. (19KB-26KB .png)

Poster describing the entire UFDR system.
(8.2MB .pdf)

"FLEX" was a trademark of Technical System Consultants (TSC).
"OS-9" is a registered trademark of Microware LP.

Use the Refresh button in your web browser to ensure you get the latest version of this page.
Last revised 2020-Apr-06 13:47 PDT.
Copyright 2020 by David C. Wiens.

Home Contact Site map