# MI_UncompressLZ*

## 構文

  `#include <nitro/mi.h>`
  `void MI_UncompressLZ8( const void* srcp, void* destp );`
  `void MI_UncompressLZ16( const void* srcp, void* destp );`

## 引数

srcp | LZ77圧縮データの格納されているソースアドレス
destp | 展開するディスティネーションアドレス

## 返り値

なし。

## 説明

LZ77圧縮データを展開し、指定のメモリ領域に書き込みます。
ソースアドレスは4byte 境界に合わせてください。

`MI_UncompressLZ8()` は、8bit単位で書き込みます。
NITROではVRAMに直接展開することはできません。TWLでは展開できますが速度はかなり低速です。
`MI_UncompressLZ16()`は、16bit単位で書き込みます。
NITRO/TWL共にVRAMにも直接展開できます。ただし、通常のメモリに比べると低速です。
圧縮データは一致文字列を2byte以前より検索したものにしてください。

ntrcompツールや`MI_CompressLZ*()`で 圧縮されたLZ77圧縮、LZ77拡張圧縮フォーマットのデータを展開します。

## 内部動作

システムコール、DMAは使用せずCPUだけで処理します。

## 参照

`MI_UncompressHuffman, MI_UncompressRL*, MI_UnfilterDiff*, SVC_UncompressLZ*, MI_ReadUncompLZ, MI_CompressLZ*,`

## 履歴

2008/12/05 TWLについての記述を追加
2007/11/01 LZ77拡張圧縮に関する記述を追加
2005/03/02 データサイズの4バイトアライメント推奨に関する記述を削除
2004/05/28 内部動作記述追加
2004/02/10 初版