# CTRDG_IdentifyAgbBackup

## 構文

      #include <nitro/ctrdg.h>

      u16 CTRDG_IdentifyAgbBackup(CTRDGBackupType type);

      対応するAGB時の関数：u16 IdentifyFlash_512K()
      対応するAGB時の関数：u16 IdentifyFlash_1M()

## 引数

type | NITRO-CTRDG に搭載されているバックアップデバイスの種類

## 返り値

成功すれば 0 を返します。失敗した場合は 0 以外を返します。

## 説明

NITRO-CTRDG に搭載されているバックアップデバイスを指定します。
バックアップデバイスがフラッシュの場合はフラッシュの ID を読み出し、どのフラッシュがカートリッジに搭載されているかを識別して、フラッシュの容量やセクタサイズの取得、アクセススピードの設定、更に対応するフラッシュ用の各アクセス関数のセットを行います。
取得したフラッシュのデータはグローバル変数 CTRDGFlashType *AgbFlash で参照することができます。
本関数はバックアップデバイスにアクセスするより以前（リードも含めて）に１回コールする必要があります。
デバイスを識別できなかった場合はエラーを返し、すべてのアクセス関数は使用不可となります。

アクセスサイクルの設定は関数内で行いますので、事前に行う必要はありません。
この関数ではタイムアウト測定用にチックを使用しますので事前に `OS_InitTick( )`を呼んでおく必要があります。

※この関数内では一定期間全ての割り込みが禁止され、カートリッジバスがロックされますので注意して下さい。
特に、本関数コール時はダイレクトサウンドおよびＶ・Ｈブランク同期、表示同期、カートリッジリクエスト等の特定のタイミングで自動起動するＤＭＡは使用しないで下さい。
また引数に CTRDG_BACKUP_TYPE_FLASH_512K または、CTRDG_BACKUP_TYPE_FLASH_1M を与えた場合、デバイスへの書き込み動作が発生しますので、与える引数と異なる種類のデバイスが NITRO-CTRDG に搭載されているとバックアップデータが破壊されることがありますので注意してください。

IS-NITRO-DEBUGGER 1.66 以前のバージョンでは AGB バックアップデバイスに正常にアクセスすることはできませんので、注意してください。

## 参照

## 履歴

2006/05/25 IS-NITRO-DEBUGGER 1.66 以前のバージョンでは AGB バックアップデバイスに正常にアクセスできないことを追記
2006/04/07 初版