Actions

SCHG

VDP Documentation/General/Direct Memory Access

From Sonic Retro

Revision as of 18:28, 13 September 2010 by GerbilSoft (talk | contribs) (Zero-length DMA quirk.)

Template:SCHG VDP Direct Memory Access, or DMA, allows the VDP to copy data from the main 68000 memory to VRAM directly without interference from the CPU. It also provides VRAM-to-VRAM copy and VRAM fill operations that can take place while the CPU is performing other tasks.

DMA Quirks

A well-known quirk with DMA memory-to-VRAM copy occurs when the source length is set to 0. The DMA functionality in the VDP decrements the source length before checking if it's hit zero, so setting the source length to 0 results in a transfer of 65,536 words instead of a null transfer.

Memory-to-CRAM and Memory-to-VSRAM copies are not affected, since the VDP automatically stops the transfer if the destination address counter reaches 0x80 or 0x50, respectively.