MI_CpuClear*

C Specification

#include <nitro/mi.h>

void MI_CpuClear8( void* dest, u32 size);
void MI_CpuClear16( void* dest, u32 size);
void MI_CpuClear32( void* dest, u32 size);
void MI_CpuClearFast( void* dest, u32 size);

Arguments

dest The address of the clear destination
size Clear size

Return Values

None.

Description

This function uses the CPU to zero clear memory.

MI_CpuClear8() selects the most efficient memory access based on the transfer destination address, and appropriately fills the memory with zeroes in 16-bit and 32-bit units. The alignment of the clear destination address does not need to be considered.

MI_CpuClear16() fills the memory with zeros in 16-bit units. The clear destination address must be 2-byte aligned.

MI_CpuClear32() fills the memory with zeros in 32-bit units. The clear destination address must be 4-byte aligned.

MI_CpuClearFast() fills with zeros at high speed in 32-byte units. The clear destination address must be 4-byte aligned. The clear size must be an integral multiple of 4 bytes. (It does not have to be a multiple of 32.).

Internal Operation

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

See Also

MI_CpuCopy*, MI_CpuFill*, MI_CpuSend*, MI_DmaClear*

Revision History

2005/07/07 Added description of clear size of MI_CpuClearFast.
04/29/2004 Added description of MI_CpuClear8.
03/29/2004 Added statement about not using system calls.
12/01/2003 Initial version

CONFIDENTIAL