#10506 - sgeos - Sat Sep 06, 2003 7:30 pm
I have a few DMA questions. Why have a fixed destination? What specifically does increment/reload do? What is the game pak DRQ bit used for?
-Brendan Sechter
#10515 - DekuTree64 - Sat Sep 06, 2003 10:11 pm
Fixed dest is useful for stuff like setting new scrolling values on HBlank to make a wavy effect, changing window settings for iris out, etc. where you have an array of register values in memory and DMA them in on HBlank. Then if the increment/reload mode you're talking about is BIT05|BIT06, it's for things like the mode7 effect where you need to copy in more than one value each scanline, so you do need to increment the dest address after each word/halfword copied, but then it resets it back to where it started for the next line.
And what's a DRQ? Do you mean the gamepak IRQ? That happens when you yank the cart out of the system while it's still turned on, the IRQ is used so you can disable sound so it doesn't make scrambly noise and stuff. I think you can also use it to make like a multi-cart game, where you just pull out one cart, put another in and continue. Or just so if you pull the cart out by accident you can put it back in and not have to reset it.
_________________
___________
The best optimization is to do nothing at all.
Therefore a fully optimized program doesn't exist.
-Deku