# CTRDG_EraseAgbFlashChipAsync

## Syntax

      #include <nitro/ctrdg.h>

      void CTRDG_EraseAgbFlashChipAsync(CTRDG_TASK_FUNC callback);

## Arguments

callback | Callback function called when the data erase process ends

## Return Values

None.

## Description

Completely erases all data on the AGB backup device chip asynchronously. 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 and a nonzero value if it failed.

The access cycle setting does not need to be set beforehand 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_EraseAgbFlashSectorAsync`

## 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