Bug Report
What's the issue you encountered?
The libnds documentation of swiDecompressLZSSVram states that it returns:
"The length of the decompressed data, or a signed errorcode from the Open/Close functions."
Yet the implementation does not return any such value. It must have once upon a time (I relied on it in AmplituDS way back). According to gbatek, the swi-call has no return value. So I suppose the options are to either adjust this documentation or to obtain the length of the compressed data (e.g., from the header of the compressed data: (((uint32)source)) >> 8). Other such bios calls likely need a similar treatment.
Environment?
Run on an NDS Phat