Floppy Disk Notes

What follows is a set of links that I've collected over the past year that give technical information on how to encode/decode floppy disks signals, as well as the theory of operation behind this dying medium.

I find reading these documents important for preservation purposes, especially since computer programmers of the past relied on these engineering details for copy protection purposes.

Additionally, a deep understanding of internals may one day help to recover data that is thought to be lost using statistical analysis of the read signal.

Links are ordered relatively in the order I read them/I recommend reading them, and sections tend to build upon each other.

General

The Floppy User Guide
A good technical overall technical description of how a floppy drive accesses data.

Floppy Drive

SA800/801 Diskette Storage Drive Theory of Operations
Without question, the most important document on this list. If you read any document, read this. It's not quite enough information to build a floppy drive from scratch, but it's enough to bring someone interested up to speed. Hard to believe this document is 40 years old in 2016!
SA850/SA450 Read Channel Analysis Internal Memo
Includes a floppy drive transfer function based on experiments Shugart did in the late 70's.

Phase-Locked Loop (PLLs)

Phaselock Techniques, Floyd M. Gardner
A monograph on analog PLLs. Does not discuss All-Digital PLLs (ADPLLs).
NXP Phase Locked Loops Design Fundamentals Application Note
A quick reference for analog PLL design.

Encodings

MFM

Floppy Disk Data Separator Design Guide for the DP8473
To be written.
Encoding/Decoding Techniques Double Floppy Disc Capacity
Gives background on more complicated physical phenomenon associated with floppy drive recording, such as magnetic domain shifting.
Floppy Data Extractor
A schematic for a minimum component data separator that does not require a PLL, but uses a digital equivalent. Perhaps a simple ADPLL?

RLL

IBM's Patent for (1,8)/(2,7) RLL
I'm not aware of any floppy formats that use (2,7) RLL, but hard drives that descend from MFM floppy drive encodings do use RLL. RLL decoding is far more involved than FM/MFM.

GCR

TODO when I have time to examine non-IBM formats.

Track Formats

IBM 3740 (FM, Single Density)

TODO. Described in Shugart's Theory of Operations manual.

IBM System 34 (MFM, Double Density)

TODO. Described in various documents on this page, but I've not yet found a document dedicated to explaining the format.

Floppy Disk Controller ICs

NEC 765

765 Datasheet
The FDC used in IBM PCs. It is not capable of writing raw data at the level of the IBM track formats. Thus, attempting to write copy-protected floppies is likely to fail with this controller.
765 Application Note
NEC created an application note to discuss how to integrate the 765 into a new system, either using DMA or polling on receipt of interrupts.

TI TMS279X

TMS279X Datasheet
Includes a diagram of the IBM System 34 track format.

NI DP8473

DP8473 Datasheet
A successor to the 765 that is capable of handing formats such as 1.2MB High Density (HD) disks.
Design Guide for DP8473 in a PC-AT

Floppy Disk Controller Cards

IBM PC FDC Card (765)
Includes schematics. The PLL circuit on the last page is in particular worth analyzing.