Page 1 of 1

DMA

Posted: Tue Oct 29, 2002 2:14 pm
by Ozguxxx
Hi everybody, I need DMA(init and other stuff...) example. On the net, all theoric part is told, but no examples... Do you know any good? Thanx.

Re:DMA

Posted: Wed Oct 30, 2002 8:23 am
by Pype.Clicker
sorry, the only DMA code i have is for A86 and has been written when i was 17, so it is probably more bugged than Windows 95 itself :-/

perhaps you could try moebius, linux, newos, etc. implementation as a reference ... it basically depend on *what* you want to do with your DMA (mem2mem copy, multi-buffered soundblaster, floppy access ...)

Re:DMA

Posted: Wed Oct 30, 2002 11:56 am
by Ozguxxx
I want to use it for floppy access, I have a code but I do not kow what it is for. :) So I need a code that does something clear. Anyway, thanx...

Re:DMA

Posted: Wed Oct 30, 2002 12:36 pm
by Tim
Mobius DMA code:

http://cvs.sourceforge.net/cgi-bin/view ... cvs-markup

That is the only ISA DMA code in the Mobius operating system. Nothing uses ISA DMA except for the floppy drive controller, ISA sound cards, and the enhanced parallel port. PCI DMA is completely different, and a lot nicer :).

Re:DMA

Posted: Thu Oct 31, 2002 3:59 am
by Pype.Clicker
so i guess PCI dma is used for pci-based soundcard ... do you know other devices that use pci DMA aswell ? and did you implement it too ? (hmm ... i'm in device-drivers hunting mode :)

Re:DMA

Posted: Thu Oct 31, 2002 8:23 am
by Tim
Of the devices I have drivers for, I've seen PCI DMA used for sound cards and network cards. DMA for the ATA controller might be the same. AFAIK the programmer doesn't need to do anything special for PCI DMA (no channels to assign etc.) because the hardware takes care of everything.