# MI_HBlankNDmaCopy*

## Syntax

  `#include <twl/mi.h>`
  `void MI_HBlankNDmaCopy( u32 ndmaNo,`
  `const void *src,
  void *dest,`
  `u32 size );`
  `void MI_HBlankNDmaCopyIf( u32 ndmaNo,`
  `const void *src,
  void *dest,`
  `u32 size );`

## Arguments

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

## Return Values

None.

## Description

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

It uses the new DMA to perform copies in word (4-byte) units. Both the transfer source address (src) and the transfer destination address (dest) must be 4-byte aligned. The transfer size (`size`) needs to be a multiple of 4.

When using this mode, the access right to main memory should be set to "ARM9 Priority." Otherwise, the screen may not be displayed properly due to the delay of DMA startup caused by ARM7 accessing the main memory. The access right priority can be specified with `MI_SetMainMemoryPriority()`.

The `MI_HBlankNDmaCopyIf` function generates a DMA interrupt when DMA terminates.

## Internal Operation

Accesses the new DMA register.

## See Also

`MI_NDmaCopy
MI_SetMainMemoryPriority
`

## Revision History

2007/10/04 Initial version.

CONFIDENTIAL