# FS_SetDefaultDMA

## 構文

  `#include <nitro/fs.h>`
  `u32 FS_SetDefaultDMA( u32 dma_no );`

## 引数

dma_no | ファイルシステム内部のROMアーカイブが使用するDMAチャンネル 設定内容はFSライブラリ内部で呼び出される`CARD_ReadRomAsync()`の引数としてそのまま使用されます。 有効なDMAチャンネルを指定した場合、`FS_SetDefaultDMA()`で設定を変更するまでこのDMAチャンネルを使用できません。 また、カードアクセスの転送元はIOレジスタなのでDMAチャンネル0を指定することはできません。

## 返り値

以前に設定されていたDMAチャンネルを返します。

## 説明

ファイルシステム内部のROM アーカイブがデータアクセスに使用するDMAチャンネルを指定します。
FS_DMA_NOT_USEを指定した場合、DMAは使用せずCPUによる転送を行います。
ROM アーカイブにDMAチャンネルを割り当てる場合の内部動作については、 `CARD_ReadRomAsync()`の説明も参照ください。

## 注意

この関数で有効なDMAチャンネルを指定した場合、再び設定を変更するまでこのDMAチャンネルを使用できません。
また、設定変更時にROM アーカイブへアクセス中である場合には、そのファイル操作が完了するまで変更が反映されません。
FSライブラリはこのDMAチャンネルを使用してカード上のROMファイルシステムへアクセスします。
`CARD_ReadRom()`および`CARD_ReadRomAsync()`の説明も参照ください。

## 参照

`FS_DMA_NOT_USE CARD_ReadRom CARD_ReadRomAsync`

## 履歴

2008/01/24 DMAチャンネルに関する説明を若干修正
2005/09/17 DMAチャンネル設定変更の反映に関する注意を追加
2005/08/28 説明文に`CARD_ReadRomAsync()`へのリンクを追加
2005/04/28 DMAチャンネル0が指定できない旨を追記
2004/07/23 ROMアーカイブとDMAチャンネルに関する注意を追加
2004/05/14 FS_DMA_NOT_USEについての記述を追加
2004/04/08 初版