From 273dbef3da4a60a85db24bf7efd22ec411037dcf Mon Sep 17 00:00:00 2001 From: Soikk Date: Wed, 22 Jun 2022 22:59:27 +0200 Subject: Initial commit --- decompress.c | 131 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 decompress.c (limited to 'decompress.c') diff --git a/decompress.c b/decompress.c new file mode 100644 index 0000000..dae888d --- /dev/null +++ b/decompress.c @@ -0,0 +1,131 @@ +/* + +Not implemented yet + +Currently using zlib's decompress (sane) + + + + + +uint8_t getCM(uint8_t b){ + uint8_t r = b<<4; + return r>>4; +} + +uint8_t getCINFO(uint8_t b){ + return b>>4; +} + +bool validateCMFFLG(uint8_t CMF, uint8_t FLG){ + uint16_t CMFFLGcheck = (CMF<<8) + FLG; + return getCM(CMF) == 8 && CMFFLGcheck%31 == 0; +} + +typedef bool bit; + + +bool getBit(int n, int bit){ + return n & (1 << bit); +} + +void printBinary(uint8_t n){ + for(int i = 7; i >= 0; --i) + printf("%d", getBit(n, i)); +} + +uint8_t reverseBits(uint8_t n){ + uint8_t r = 0; + for(int i = 0; i < 8; ++i) + r |= ((bool)(n&(1<<(7-i))))<