
#include <nitro/ctrdg.h>
void CTRDG_EraseAgbFlashSectorAsync(u16 sec_num, CTRDG_TASK_FUNC callback);
| sec_num | 対象のセクタNo |
| callback | データのErase処理が終了したときに呼び出されるコールバック関数 |
なし。
対象セクタNo のセクタのデータを非同期に消去します。
このルーチンは書込みルーチンの中でコールされるため、通常は書込み前にこのルーチンをコールする必要はありません。
本ルーチンの呼び出し後に返ってくるコールバック関数の引数である構造体 CTRDGTaskInfo のメンバ result を参照することで、
Erase処理に成功したのかを知ることができます。
Erase処理に成功した場合は 0 、失敗した場合、対象セクタNo が範囲外の場合は 0 以外です。
アクセスサイクルの設定は関数内で行いますので、事前に行う必要はありません。
また、この関数ではタイムアウト測定用にチックを使用しますので事前に OS_InitTick( )を呼んでおく必要があります。
※この関数内では一定期間全ての割り込みが禁止され、カートリッジバスがロックされますので注意して下さい。
特に、本関数コール時はダイレクトサウンドおよびV・Hブランク同期、表示同期、カートリッジリクエスト等の特定のタイミングで自動起動するDMAは使用しないで下さい。
また IS-NITRO-DEBUGGER 1.66 以前のバージョンでは AGB バックアップデバイスに正常にアクセスすることはできませんので、注意してください。
/* コールバック関数 */ typedef u32 (*CTRDG_TASK_FUNC) (struct CTRDGiTaskInfo_tag *);
CTRDG_EraseAgbFlashChip, CTRDG_EraseAgbFlashSector, CTRDG_EraseAgbFlashChipAsync
2006/05/25 IS-NITRO-DEBUGGER 1.66 以前のバージョンでは AGB バックアップデバイスに正常にアクセスできないことを追記
2006/04/07 初版