# MI_HBlankNDmaCopy*

## 構文

  `#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 );`

## 引数

ndmaNo | 使用DMAチャンネル
src | 転送元アドレス
dest | 転送先アドレス
size | 転送サイズ

## 返り値

なし。

## 説明

新規DMAを用いてHブランクコピーを行います。Hブランクが起動したときDMAが起動します。

新規DMAを用いてワード(4byte)単位でコピーを行います。転送元アドレス src、転送先アドレスdest は4バイトアラインメントする必要があります。転送サイズ size も4の倍数である必要があります。

このモードを使用している場合、メインメモリへのアクセス権を「ARM9優先」にしてください。そうでない場合は、ARM7からのメインメモリへのアクセスによるDMA起動の遅延により、画面が崩れる可能性があります。アクセス権の優先の指定は、`MI_SetMainMemoryPriority()` で行います。

`MI_HBlankNDmaCopyIf()` は DMA終了時にDMA割り込みを発生します。

## 内部動作

新規DMAレジスタにアクセスします。

## 参照

`MI_NDmaCopy, MI_SetMainMemoryPriority
`

## 履歴

2007/10/04 初版