CTRDG_Read

# CTRDG_WriteAndVerifyAgbFlash

## C Specification

      #include <nitro/ctrdg.h>

      u32 CTRDG_WriteAndVerifyAgbFlash(u16 sec_num, u8* src, u32 verifysize)

      Corresponding AGB function: u32 ProgramFlashSectorEx2(u16 secNo,u8 *src,u32 verifySize)

## Arguments

sec_num | Represents the target flash sector number
src | Represents the source write address
verifysize | Represents the verify size in bytes

## Return Values

Returns 0 if the process ends normally. Returns non-zero if the process fails, and returns the error address on the device side when there is a verification error.

## Description

`CTRDG_WriteAgbFlashSector` internally writes data and then `CTRDG_VerifyAgbFlash` verifies data for the number of bytes given by "verifysize."
If there is an error, the function retries up to the number of times specified by CTRDB_AGB_FLASH_RETRY_MAX (defined in AgbFlash.h).
Note: When checking error codes, this function returns an error code using 16 out of 32 bits when there is a write error, but returns a 32-bit error address on the device side when there is a verification error.

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 before this function because clock ticks are used by this function to measure timeouts.

Note: All interrupts are disabled inside this function and the catridge bus is locked for a set period.
In particular, do not use DMA for automatic startup during direct sound and V/H blank synchronization, display synchronization, or cartridge request.

In addition, the AGB backup device cannot be accessed normally by the IS-NITRO-DEBUGGER.
However, be sure to check operations using an actual DS handheld unit since normal access is possible with actual DS units.
(This will be fixed in a future version of IS-NITRO-DEBUGGER.)

## See Also

`CTRDG_WriteAgbFlashSector, CTRDG_VerifyAgbFlash, CTRDG_WriteAndVerifyAgbFlash, CTRDG_WriteAndVerifyAgbFlashAsync
`

## Revision History

04/07/2006 Initial version.

CONFIDENTIAL