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

Yahoo! Groups Tips

Did you know...
Want to share photos of your group with the world? Add a group photo to Flickr.

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 #107 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.

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.. (don't know if GBA has), I see no
point in blocking DMA too.

Dark Fader

> ---
> 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
>
>
>
> --------------------------------------------------------------
> ------<e|-
> BTW: Did you buy that new car yet?
> If not, check this site out.
> They're called CarsDirect.com and it's a pretty sweet way to
> buy a car.
> http://click.egroups.com/1/6847/0/_/_/_/965120921/
> --------------------------------------------------------------
> ------|e>-
>
> unsubscribe: gbadev-unsubscribe@egroups.com
>
>



Tue Aug 1, 2000 9:13 am

darkfader@...
Send Email Send Email

Forward
Message #107 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