# MI_UncompressLZ*

## C Specification

  `#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

This function 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.

`MI_UncompressLZ8()` writes in 8-bit units. You cannot decompress directly to VRAM().
`MI_UncompressLZ16()` writes in 16-bit units. Although you can expand directly in VRAM, this function is slower than `MI_UncompressLZ8`. For compressed data, allow for a 2-byte lead when searching for matching strings.

## Internal Operation

Processing only takes place 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, MI_CompressLZFast
`

## Revision History

03/02/2005 Deleted recommendation to align data size to a multiple of 4 bytes.
05/28/2004 Added description for Internal Operation.
02/10/2004 Initial version.

CONFIDENTIAL