# CTRDG_CpuCopy*

## C Specification

      #include <nitro/ctrdg.h>

      BOOL CTRDG_CpuCopy8( const void* src, void* dest, u32 size );
      BOOL CTRDG_CpuCopy16( const void* src, void* dest, u32 size );
      BOOL CTRDG_CpuCopy32( const void* src, void* dest, u32 size );

## Arguments

src | The transfer source address.
dest | The transfer destination address.
size | The transfer size (in bytes).

## Return Values

Returns a value of TRUE if the transfer succeeds. Returns a value of FALSE when there is no Game Pak or if the transfer fails.

## Description

These functions transfer data that is on the Game Pak using the CPU.

`CTRDG_CpuCopy8` transfers data 8 bits at a time.
`CTRDG_CpuCopy16` transfers data 16 bits at a time.
`CTRDG_CpuCopy32` transfers data 32 bits at a time.

These functions do not set the access cycle. The access cycle must be set in advance.

`CTRDG_CpuCopy8()` writes in units of 8 bits. It cannot access VRAM directly.

Internally, `CTRDG_CpuCopy16()` uses `MI_CpuCopy16()` and `CTRDG_CpuCopy32()` uses `MI_CpuCopy32()`.

## See Also

`CTRDG_Init`, `CTRDG_DmaCopy*`, `CTRDG_Read*`, `CTRDG_Write*`, `MI_CpuCopy*`

## Revision History

02/10/2005 Added description of VRAM access.
09/17/2004 Initial version