#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 );
dest | The transfer destination address. |
data | The data that will be transferred |
size | Transfer size |
None.
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.
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.
MI_CpuCopy*, MI_CpuClear*, MI_CpuSend*, MI_DmaFill*
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