Search the web
Sign In
New User? Sign Up
gbadev
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Show off your group to the world. Share a photo of your group with us.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
DMA dilemma!   Message List  
Reply | Forward Message #106 of 15019 |
RE: [gbadev] DMA dilemma!

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





Tue Aug 1, 2000 9:07 am

bagio@...
Send Email Send Email

Forward
Message #106 of 15019 |
Expand Messages Author Sort by Date

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 ...
Matthew Davies
MDavies@...
Send Email
Aug 1, 2000
9:02 am

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...
Giovanni Bajo
bagio@...
Send Email
Aug 1, 2000
9:08 am

... GBC halts when doing General Purpose DMA. And HBlank DMA in h-blanks. It's faster than creating a copy loop. But if you have block copy instructions.....
Rafael Vuijk
darkfader@...
Send Email
Aug 1, 2000
9:12 am

... Not really. If you look at a standard DMA routine on GBC, it is copied to $FF00-$FFFE because that's the only area of RAM still readable (and executable)...
Giovanni Bajo
bagio@...
Send Email
Aug 1, 2000
9:19 am

I didn't mention OAM/sprite DMA. Dark Fader...
Rafael Vuijk
darkfader@...
Send Email
Aug 1, 2000
9:24 am

In message <17398269E24ED31180940090279C2CE9C48324@ASC-NT-EXCH1> ... Hmm, i can think of a third possibility... Maybe the CPU stops when you try to write to...
Dennis Ranke
exoticorn@...
Send Email
Aug 1, 2000
9:26 am
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help