If the DMA stopped the CPU:
1) why 3 dma channels if you can use 1 a time?
2) why an interrupt to acknowledge the end of the dma?
3) what DMA itself would be useful for???
DMA is used everywhere because you can transfer memory WITHOUT the cpu
handling it. I've never found a consolle where the DMA halted CPU
processing, but since I don't konw anything about AGB, it *might* be. In
this case, I'd be very glad if someone could explain me why one should use a
blocking DMA.
---
Giovanni Bajo
Lead Programmer
Protonic Interactive
www.protonic.net
a brand of Prograph Research S.r.l.
www.prograph.it
-----Original Message-----
From: Matthew Davies [mailto:MDavies@...]
Sent: Tuesday, August 01, 2000 11:11 AM
To: AGB list (E-mail)
Subject: [gbadev] DMA dilemma!
Hi,
I cannot figure it out. Does DMA transfers run asynchronously with the CPU
or not? I mean, when a DMA transfer is intiated does the CPU wait until its
finished or does it not. The fact that there are 3 priority levels of DMA
seem to suggest that a DMA can interrupt another, and you need a the CPU
running to start a second DMA transfer to do the interrupting. Also, I have
4 DMA transfers on priority level 3 running back to back and they do not
interfere with each other - either the CPU waits or the DMA transfer is
amazingly fast. Which is it? Anyone??
Cheers!
Matt J. Davies
Programmer
Acclaim Studios Ltd.
unsubscribe: gbadev-unsubscribe@egroups.com