MI_UncompressLZ*

Syntax

#include <nitro/mi.h>

void MI_UncompressLZ8( const void* srcp, void* destp );
void MI_UncompressLZ16( const void* srcp, void* destp );

Arguments

srcp Source address where the LZ77 compressed data is stored.
destp Destination address for decompression.

Return Values

None.

Description

Decompresses LZ77 compressed data and writes the data to the specified region of memory. The source address must be aligned to a 4-byte boundary.

The MI_UncompressLZ8 function writes in 8-bit units. On NITRO, you cannot decompress directly to VRAM. On TWL, this is possible, but it is quite slow.

The MI_UncompressLZ16 function writes in 16-bit units. On both NITRO and TWL, you can also decompress directly to VRAM. However, the process is slower compared to normal memory.
For compressed data, allow for a 2-byte lead when searching for matching strings.

Decompresses data compressed in LZ77 or LZ77 extended format using ntrcomp tool or an MI_CompressLZ* function.

Internal Operation

Processing takes place only on the CPU, without the use of a system call or DMA.

See Also

MI_UncompressHuffman
MI_UncompressRL*
MI_UnfilterDiff*
SVC_UncompressLZ*
MI_ReadUncompLZ
MI_CompressLZ*

Revision History

2008/12/05 Added a description regarding TWL.
2007/11/01 Added a description regarding LZ77 extended compression.
2005/03/02 Deleted recommendation to align data size to a multiple of 4 bytes.
2004/05/28 Added description for Internal Operation.
2004/02/10 Initial version.


CONFIDENTIAL