# MI_CpuFill*

## C Specification

    #include <nitro/mi.h>

    void MI_CpuFill8( void* dest, u8 data, u32 size );
    void MI_CpuFill16( void* dest, u16 data, u32 size );
    void MI_CpuFill32( void* dest, u32 data, u32 size );
    void MI_CpuFillFast( void* dest, u32 data, u32 size );

## Description

This function uses the CPU to fill memory with specified data.

`MI_CpuFill8()` selects the most efficient memory access based on the transfer destination address, and appropriately fills the memory with the specified data in 16-bit and 32-bit units. The alignment of the transfer destination address does not need to be considered. `MI_CpuFill16()` fills the memory with specified data in 16-bit units. You must 2-byte align the transfer destination address. `MI_CpuFill32()` fills the memory with specified data in 32-bit units. You must 4-byte align the transfer destination address. `MI_CpuFillFast()` fills the memory with specified data at high speed in 32-bit units. You must 4-byte align the transfer destination address.

## Internal Operation

This processes with the CPU only and does not use the DMA controller. It does not use a system call.

## Arguments

`dest` | The address of the transfer source
`data` | The data that will be transferred
`size` | The size that will be transferred

## Return Values

None

## See Also

`MI_CpuCopy*, MI_CpuClear*, MI_CpuSend*, MI_DmaFill*`

## Revision History

04/29/2004 Added description of `MI_CpuFill8`
03/29/2004 Noted that a system call is not used
12/01/2003 Initial version