
#include <nitro/ctrdg.h>
u32 CTRDG_WriteAndVerifyAgbFlash(u16 sec_num, u8* src, u32 verifysize)
対応するAGB時の関数:u32 ProgramFlashSectorEx2(u16 secNo,u8 *src,u32 verifySize)
| sec_num | 対象セクタNo |
| src | 書き込み元アドレス |
| verifysize | ベリファイサイズ(byte) |
処理が正常に終了すれば 0 を返します。失敗した場合は 0 以外を返し、ベリファイエラー時はデバイス側エラーアドレスを返します。
本関数は、内部で CTRDG_WriteAgbFlashSector( )で書き込みを行った後 CTRDG_VerifyAgbFlash( )で verifysize バイト分ベリファイを行います。
エラーの場合は最大で CTRDG_AGB_FLASH_RETRY_MAX (AgbFlash.h で定義)回リトライを行います。
※本関数では、ライトエラー時は 32bit 中の 16bit でエラーコードを返しますが、ベリファイエラー時は 32bit のデバイス側エラーアドレスを返しますので、エラーコード確認の際はご注意下さい。
アクセスサイクルの設定は関数内で行いますので、事前に行う必要はありません。
また、この関数ではタイムアウト測定用にチックを使用しますので事前に OS_InitTick( )を呼んでおく必要があります。
※この関数内では一定期間全ての割り込みが禁止され、カートリッジバスがロックされますので注意して下さい。
特に、本関数コール時はダイレクトサウンドおよびV・Hブランク同期、表示同期、カートリッジリクエスト等の特定のタイミングで自動起動するDMAは使用しないで下さい。
また IS-NITRO-DEBUGGER 1.66 以前のバージョンでは AGB バックアップデバイスに正常にアクセスすることはできませんので、注意してください。
CTRDG_WriteAgbFlashSector, CTRDG_VerifyAgbFlash, CTRDG_WriteAndVerifyAgbFlash, CTRDG_WriteAndVerifyAgbFlashAsync
2006/05/25 IS-NITRO-DEBUGGER 1.66 以前のバージョンでは AGB バックアップデバイスに正常にアクセスできないことを追記
2006/04/07 初版