Thank you both - I've managed to get my own simple version working:
Function compressBank:TBank(sourceBank:TBank, level = 9) Local destBankSize = Ceil(sourceBank.Size() * 1.001) + 12 Local destBank:TBank = CreateBank(destBankSize) compress2(destBank.Buf(), destBankSize, sourceBank.Buf(), sourceBank.Size(), level) 'resize bank to it's compressed size destBank.Resize(destBankSize) Return destBank End Function Function uncompressBank:TBank(sourceBank:TBank, destBankSize) 'destBankSize holds size of the uncompressed data saved previously Local destBank:TBank = CreateBank(destBankSize) uncompress(destBank.Buf(), destBankSize, sourceBank.Buf(), sourceBank.Size()) Return destBank End Function