# MI_UncompressLZ*

## C Specification

      #include <nitro/mi.h>

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

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

## Description

This function expands LZ77 compressed data and writes it to the specified memory region. The source address must be aligned to a 4-byte boundary.

When the size of the compressed data is not a multiple of four, the data size must be adjusted by padding the size with zeros.

`MI_UncompressLZ8()` writes in 8-bit units. You cannot expand directly in VRAM.

`MI_UncompressLZ16()` writes in 16-bit units. Although you can expand in DTCM or main memory, this function is slower than `MI_UncompressLZ8`. For compressed data, set a matching character string as one that has been found at least 2 bytes before.

## Internal Operation

These processes with the CPU without using a system call or DMA.

## Argument

`srcp` | The source address where LZ77 compressed data is stored
`destp` | The destination address where it will be expanded

## Return Values

None

## See Also

`MI_UncompressHuffman, MI_UncompressRL*, MI_UnfilterDiff*, SVC_UncompressLZ*`

## Revision History

05/28/2004 Added description for Internal Operation.
02/10/2004 Initial version.