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 );

Arguments

dest The transfer destination address.
data The data that will be transferred
size Transfer size

Return Values

None.

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. The transfer destination address must be 2-byte aligned.

MI_CpuFill32() fills the memory with specified data in 32-bit units. The transfer destination address must be 4-byte aligned.

MI_CpuFillFast() quickly fills the memory with the specified data in 32-byte units. The transfer destination address must be 4-byte aligned. The transfer size is an integral multiple of 4 bytes. It does not have to be an integral multiple of 32 bytes.

Internal Operation

This processes with the CPU only and does not use the DMA controller. It does not use a system call. MI_CpuFill8 copies in units of 16/32 bits and thus, accessing VRAM directly will not cause problems.

See Also

MI_CpuCopy*, MI_CpuClear*, MI_CpuSend*, MI_DmaFill*

Revision History

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

CONFIDENTIAL