#include <nitro/os/common/systemCall.h>
void SVC_UncompressRL8(
const void* srcp,
void* destp );
s32 SVC_UncompressRL16FromDevice(
const void* srcp,
void* destp,
const void* paramp,
const ReadStreamCallbacks* callbacks );
This function decompresses run length compressed data and writes the data to the specified region of memory.
Match the source address src to the 4-byte boundary. If the size of the compressed data is not a multiple of 4, make adjustments by paring it back using zeros.
The SVC_UncompressRL8() function can be written in 8-bit units. You cannot decompress directly to VRAM().
The SVC_UncompressRL16FromDevice() function can be written in 16-bit units. Compressed data on devices that are not memory mapped can be decompressed directly without using a temporary buffer.
srcp |
The source address where run length compressed data is stored. |
destp |
The destination address for decompressed data. |
paramp |
The parameter address that is handed to the initStream function of the MIReadStreamCallbacks structure. |
callbacks |
The address of the MIReadStreamCallbacks structure. |
There is no return value for SVC_UncompressRL8(). If the return value for SVC_UncompressRL16FromDevice() is greater than 0, it is the decompressed size. If it is less than 0, it is an error.
MI_UncompressRL*,
SVC_UncompressLZ*, SVC_UncompressHuffmanFromDevice
07/22/2004 Initial version