

#include <nitro/os/common/systemCall.h>
void SVC_UncompressLZ8( const void* srcp, void* destp );
s32 SVC_UncompressLZ16FromDevice( const void* srcp,
void* destp,
const void* paramp,
const MIReadStreamCallbacks *callbacks);
| srcp | LZ77圧縮データの格納されているソースアドレス |
| destp | 展開するディスティネーションアドレス |
| paramp | MIReadStreamCallbacks 構造体の initStream関数へ渡すパラメータのアドレス |
| callbacks | MIReadStreamCallbacks 構造体のアドレス |
SVC_UncompressLZ8() の返り値はありません。
SVC_UncompressLZ16FromDevice() の返り値は 0以上ならば展開したサイズで、0より小さければエラーです。
LZ77圧縮データを展開し、指定のメモリ領域に書き込みます。
srcp で指定する圧縮データを展開し、destp で指定する領域に格納されます。
・SVC_UncompressLZ8
SVC_UncompressLZ8() は、8bit単位で書き込みます。
VRAMに直接展開することは出来ません。
・SVC_UncompressLZ16FromDevice
SVC_UncompressLZ16FromDevice()は、16bit単位で書き込みます。
メモリマッピングされていないデバイス上の圧縮データをテンポラリバッファを使わずに直接展開することが出来ます。
バイトアクセス出来ないRAMにも展開できますが SVC_UncompressLZ8() より低速です。
srcp で指定するデータは 'ntrcomp -l 2' で圧縮したものとしてください。
srcp の境界制限は initStream コールバック関数の実装依存となります。
MI_UncompressLZ*, SVC_UncompressHuffmanFromDevice, SVC_UncompressRL*
2004/07/22 初版