Description: Apple II Hardware: Direct Memory Access (2/97) Header: Apple II Hardware: Direct Memory Access (2/97) Article Created: 21 September 1984 Article Reviewed/Updated: 28 February 1997 TOPIC ----------------------------------------------------------- This article describes DMA (Direct Memory Access) and how it can be used to control the Apple's memory and I/O. DISCUSSION ------------------------------------------------------ DMA (Direct Memory Access), is designed to allow the hardware on an interface card to completely take over the Apple's memory and I/O. The DMA pin on the Apple II interface bus disconnects the Apple's 6502 from the Apple's address bus, data bus, R/-W signal, and clock. The DMA pin should be pulled low immediately after phase 0 goes low and should be released when phase 0 again goes low. The 6502 is a dynamic device that will lose its registers' memory if DMA is held low for more that 40 microseconds. Here is an example where the DMA lasts for two microseconds. Clock 0 _________ ________ ________ | | | | | |__________| |__________| |_____ DMA _________ _____ | | |_______________________________________| The 6502 normally sets up its addresses, control, and data while clock 0 is low. The memory or I/O device decodes and readies the data while clock 0 is high. The actual transfer occurs when clock 0 goes from high back to low. During cycles when DMA is low, the user must supply the address, control, and data information for that memory cycle in synchronization with the Apple's clocks. Enabling Unlimited DMA ---------------------- * Point the reset vector to a restart routine, assuming the Apple has the Auto-Start ROM. * Have the peripheral card generate a RESET when the 6502 is to have control of the bus. The Apple II Reference Manual explains the RESET vector starting on page 36. Article Change History: 28 Feb 1997 - Reviewed for technical accuracy, revised formatting. Copyright 1984-97, Apple Computer, Inc. Keywords: