# CTRDG_WriteAndVerifyAgbSram

## Syntax

      #include <nitro/ctrdg.h>

      u32 CTRDG_WriteAndVerifyAgbSram(u32 dst, const void* src, u32 size);

  Corresponding AGB function: `u32 WriteSramEx(u8 *dst, u8 *src, u32 size)`

## Arguments

dst | Destination SRAM address (address on the AGB memory map).
src | Source work area address.
size | Size of data written and verified in bytes

## Return Values

Returns zero if verification succeeds. Returns the error address on the device side if verification fails.

## Description

Internally, after data is written by `CTRDG_WriteAgbSram`, verification is performed by `CTRDG_VerifyAgbSram`. If there is an error, the function retries up to the number of times specified by `CTRDG_AGB_SRAM_RETRY_MAX` (defined in `AgbSram.h`).

The access cycle setting is created in the function and does not need to be set in advance.

Note: The cartridge bus is locked for a set period by this function.
Note that the AGB backup device cannot be accessed normally with IS-NITRO-DEBUGGER version 1.66 or earlier.

## See Also

`CTRDG_WriteAgbSram`
`CTRDG_VerifyAgbSram`
`CTRDG_WriteAndVerifyAgbSramAsync`

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