MI_HBlankDmaCopy*

Syntax

#include <nitro/mi.h>

void MI_HBlankDmaCopy32( u32 dmaNo, const void* src, void* dest, u32 size );
void MI_HBlankDmaCopy16( u32 dmaNo, const void* src, void* dest, u32 size );

void MI_HBlankDmaCopy32If( u32 dmaNo, const void* src, void* dest, u32 size );
void MI_HBlankDmaCopy16If( u32 dmaNo, const void* src, void* dest, u32 size );

Arguments

dmaNo DMA channel used.
src The transfer source address.
dest The transfer destination address.
size Transfer size.

Return Values

None.

Description

This function uses DMA to copy a H-Blank. When a H-Blank starts, DMA starts.

When using this mode, set the access right to main memory to ARM9 priority. Otherwise, the screen may not display properly because of a delay as ARM7 accesses main memory and starts up DMA memory. The access right priority can be specified with MI_SetMainMemoryPriority().

The functions MI_HBlankDmaCopy32If and MI_HBlankDmaCopy16If generate DMA interrupts when DMA terminates.

Internal Operation

Uses the following IO registers: DMAn source register (0x40000B0 + 12n), DMAn destination register (0x40000B4 + 12n), and DMAn control register (0x40000B8 + 12n). (n is the DMA channel used.))

See Also

MI_DmaCopy*
MI_SetMainMemoryPriority

Revision History

2004/08/26 Added description about the setting of the ARM9 priority to access the main memory when using DMA memory.
2003/12/01 Initial version.


CONFIDENTIAL