ChipsI/O & supportTimers, interrupts & DMA › Intel 8237 DMA

Intel 8237 DMA

1979

Intel's Direct Memory Access controller, providing four DMA channels in the IBM PC and AT.

Reference & documentation

External technical references for programming Intel 8237 DMA and for writing emulators.

ResourceTypeNotes
Intel 8237A Multimode DMA Controller Datasheet ↗DatasheetOfficial Intel datasheet: registers, modes, timing
Intel 8237A Datasheet - Pinout & Bus Timing ↗PinoutPin descriptions and cycle timing diagrams
ISA DMA - OSDev Wiki ↗ProgrammingPorts, init sequence, page registers, worked example
DMA Fundamentals on Various PC Platforms ↗Programming8237A transfer modes and throughput across PCs
8237 DMA Controller - Lo-tech Wiki ↗ReferenceRegister bit layouts and full port map
8237A DMA Page Fun - OS/2 Museum ↗ReferenceBase/current register quirks and chipset deviations
Intel 8237 - Wikipedia ↗ReferenceArchitecture, modes, XT/AT dual-controller usage
8237 DMA Controller - The PC Emulation Book ↗ReferenceEmulator-oriented channel and port reference
KF8237 - SystemVerilog 8237A DMA Core ↗SourceClean RTL: single/block/demand/cascade modes
8237A DMA Emulation Verification - VOGONS ↗Test suiteEmulator conformance discussion: terminal count, autoinit