Chips › I/O & support › Timers, 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.
| Resource | Type | Notes |
|---|---|---|
| Intel 8237A Multimode DMA Controller Datasheet ↗ | Datasheet | Official Intel datasheet: registers, modes, timing |
| Intel 8237A Datasheet - Pinout & Bus Timing ↗ | Pinout | Pin descriptions and cycle timing diagrams |
| ISA DMA - OSDev Wiki ↗ | Programming | Ports, init sequence, page registers, worked example |
| DMA Fundamentals on Various PC Platforms ↗ | Programming | 8237A transfer modes and throughput across PCs |
| 8237 DMA Controller - Lo-tech Wiki ↗ | Reference | Register bit layouts and full port map |
| 8237A DMA Page Fun - OS/2 Museum ↗ | Reference | Base/current register quirks and chipset deviations |
| Intel 8237 - Wikipedia ↗ | Reference | Architecture, modes, XT/AT dual-controller usage |
| 8237 DMA Controller - The PC Emulation Book ↗ | Reference | Emulator-oriented channel and port reference |
| KF8237 - SystemVerilog 8237A DMA Core ↗ | Source | Clean RTL: single/block/demand/cascade modes |
| 8237A DMA Emulation Verification - VOGONS ↗ | Test suite | Emulator conformance discussion: terminal count, autoinit |