ChipsI/O & supportStorage controllers › IDE / ST-506 glue

IDE / ST-506 glue

1986

The ATA/IDE and earlier ST-506 interface glue logic that connected hard drives to PC and retro-computer motherboards.

Reference & documentation

External technical references for programming IDE / ST-506 glue and for writing emulators.

ResourceTypeNotes
AT Attachment 8 - ATA/ATAPI Command Set (ACS-2) ↗DatasheetFull ATA command set specification PDF
Historical ATA Standard Drafts (ANSI X3.221) ↗DatasheetOriginal ATA-1 draft specs, 1989-1993
T13 ATA/ATAPI-5 Working Draft d1153r17 ↗DatasheetFull ATA-5 register and command spec
ATA Command Matrix (OSDev Wiki) ↗Instruction setFull ATA command opcode table
ST-506/ST-412 Interface Signals & Changes ↗PinoutSignal/pin evolution, head-select, step timing
ST506/412 (MFM & RLL) Pinout - AllPinouts ↗Pinout34-pin control and 20-pin data pinouts
ATA PIO Mode (OSDev Wiki) ↗ProgrammingPort map, IDENTIFY, read/write PIO sequences
Working with ST-506 MFM Hard Drives (Nerdly Pleasures) ↗ProgrammingControllers, low-level format, interleave, termination
IDE/ATA Hardware Register Reference (Bochs) ↗ReferenceRegister-level IDE reference: task file, bit fields
ST-506/ST-412 Interface (Wikipedia) ↗ReferenceMFM/RLL encoding, cabling, timing overview
ST506 Disk Interface (Computer History Wiki) ↗ReferenceAnalog read signals, encoding, cabling details