DMA

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
Ozguxxx

DMA

Post 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.
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:DMA

Post 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 ...)
Ozguxxx

Re:DMA

Post 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...
Tim

Re:DMA

Post 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 :).
User avatar
Pype.Clicker
Member
Member
Posts: 5964
Joined: Wed Oct 18, 2006 2:31 am
Location: In a galaxy, far, far away
Contact:

Re:DMA

Post 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 :)
Tim

Re:DMA

Post 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.
Post Reply