# CTRDG_EraseAgbFlashSectorAsync

## Syntax

      #include <nitro/ctrdg.h>

      void CTRDG_EraseAgbFlashSectorAsync(u16 sec_num, CTRDG_TASK_FUNC callback);

## Arguments

sec_num | Target flash sector number
callback | Callback function called when the data erase process ends

## Return Values

None.

## Description

Asynchronously erases the data in the sector with the specified target sector number. Normally, this routine does not need to be called before writing because it is called inside the writing routine. To find out whether the Erase process succeeded, access the result member of the `CTRDGTaskInfo` structure used as an argument to the callback function that returns after this routine is called. Returns zero if the Erase process succeeded; returns non-zero if the process failed or the target sector number is out of range.

The access cycle setting does not need to be set in advance because it is created inside the function. In addition, the `OS_InitTick` function must be called in advance because clock ticks are used by this function to measure timeouts.

Note: All interrupts are disabled inside this function, and the cartridge bus is locked for a set period. In particular, when this function is called, do not use DMA that starts automatically during direct sound and V/H blank synchronization, display synchronization, cartridge request, and so on.

Note that the AGB backup device cannot be accessed normally with IS-NITRO-DEBUGGER version 1.66 or earlier.

    /*  callback  function  */
    typedef u32 (*CTRDG_TASK_FUNC) (struct CTRDGiTaskInfo_tag *);

## See Also

`CTRDG_EraseAgbFlashChip`
`CTRDG_EraseAgbFlashSector`
`CTRDG_EraseAgbFlashChipAsync`

## Revision History

2006/05/25 Added a description that the AGB backup device cannot be accessed normally with IS-NITRO-DEBUGGER version 1.66 or earlier.
2006/04/07 Initial version.

CONFIDENTIAL