:-) (03/27/91)
In article <1991Feb26.021243.18622@jcnpc.uucp>, jcn@jcnpc.uucp (James C. Nugen) writes: > In article <27c52136@ralf> Ralf.Brown@B.GP.CS.CMU.EDU writes: >>In article <8bl2yqS00WB401Skhj@andrew.cmu.edu>, Peter John Skelly <ps2x+@andrew.cmu.edu> wrote: >>}Does anyone know if it is possible to program the dma chip used in pc's to >>}do memory to memory copies. I've heard both ways, but if someone knows for >> >>My understanding is that memory-memory DMA is only possible using channels 0 >>and 1, and channel 0 is used for DRAM refresh. That would make things >>rather >>tricky even if possible at all. >>-- > I have looked at using the DMA controller to move images from main memory > to VGA memory before. According to the Intel databook on the 8237 DMA > controller, memory-to-memory moves use channel 0 as the source and channel > 1 as the destination. As was stated this could be tricky on PC's because > channel 0 is used for DRAM refresh. However, it should work fine on AT > and/or higher class machines because DRAM refresh is done using seperate > hardware thereby freeing DMA channel 0. -- This is theoretically true; however, the hardware support is missing on all (or most) AT clones. The problem are missing signals from the DMA controller needed for mem-mem transfers, the data lines are fine. This was true back in 1985 when I was BIOS programming and should still hold true. I know about this because initially I tried to implement DMA for INT 15h block-transfers to avoid protected mode. Some chipsets may now support it, but certainly not to maintain 'AT compatibility'. Real IBM ATs never supported this. -{JD}- Jeff (Douglass@DavidSys.com) David Systems, Sunnyvale CA,(408)720-8000 "Never count on the inevitable until it happens. . ."