How can I do a DMA Putpixel or DMA Mem-to-Mem copy?
You shouldn’t bother. Not only is the DMA controller limited to 64K segments, but only on the slowest PC’s (we’re talking 8086 here) is it faster than doing a REP MOVSW. Still, DMA memory transfers take no CPU time at all, but you still shouldn’t use them because they’re just too slow on modern PC’s. If you really want to do it anyway, just to see if it works, here’s a small article from 1989 by Patrick & David O’Riva that can help you. Remember, in 1989 on a 286, this was faster than REP MOVSB. By the 386, however, a REP MOVSD was faster, so this is reprinted for historical reference only.