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 初版