Yoshi's Story uses an LZ77-type compression format called SMSR00 which is very similar to SM64's MIO0 format. In the Yoshi's Story ROM, each SMSR00 block is preceded by a 16-byte 'CMPR' header which contains the size of the encoded block and its destination size.
struct CMPRHeader { /*00*/ char cmprSignature[4]; // 'CMPR' /*04*/ u32 srcSize; // size of encoded data /*08*/ u32 dstSize; // size of decoded data /*0C*/ u8 _pad[4]; // structure padding };
struct SMSRHeader { /*00*/ char smsrSignature[6]; // 'SMSR00' /*06*/ u8 _pad[2]; // structure padding /*08*/ u32 outputSize; // size of decoded data /*0C*/ u32 dataOffset; // offset of the data section in the smsr00 block };