Magic Lantern Firmware Wiki
Advertisement

Zlib is used in the firmware to compress and uncompress bitmap.

See this thread

SztupY found this:

I found these functions inside 60D/1.0.9:

zlib_deflateEnd_maybe          ROM FF3F84B4 000000FC R . . . . . .
zlib_deflateInit2__maybe       ROM FF3F8730 00000250 R . . . B . .
zlib_deflateInit__maybe        ROM FF3F8980 00000040 R . . . . . .
zlib_deflate_fast              ROM FF3F9B20 00000258 R . . . . . .
zlib_deflate_maybe             ROM FF3F8C7C 000001BC R . . . . . .
zlib_deflate_slow              ROM FF3F9D78 00000008 R . . . . . .
zlib_deflate_stored            ROM FF3F98A8 00000134 R . . . . . .
zlib_fill_window               ROM FF3F9758 00000150 R . . . . . .
zlib_inflate                   ROM FF1C3780 000003CC R . . . . . .
zlib_inflateEnd                ROM FF1C1A58 00000074 R . . . . . .
zlib_inflateInit_              ROM FF1C1A48 00000010 R . . . . . .
zlib_inflateInit2_             ROM FF1C195C 000000EC R . . . . . .
zlib_inflate_x                 ROM FF1C3664 0000011C R . . . . . .
zlib_uncompress_maybe          ROM FF32E388 000000A4 R . . . . . .
zlib_uncompress_maybe2         ROM FF05EE50 000000B4 R . . . . . .

and for 550D/T2i:

Alex found this:

Here are the equivalents for 550D/109, which has the same zlib version

FF37B298 zlib_deflateEnd_maybe
FF37B514 zlib_deflateInit2__maybe
FF37B764 zlib_deflateInit__maybe
FF37BA60 zlib_deflate_maybe
FF1BF538 zlib_inflate(__int32 *strm, int flush)
FF1BD810 zlib_inflateEnd(__int32 *strm)
FF1BD800 zlib_inflateInit_(void *strm, const char *version, int stream_size)
FF1BD714 zlib_inflateInit2_(void *strm, int windowBits, const char *version, int stream_size)
FF1BF41C zlib_inflate_x
FF2D817C zlib_uncompress_maybe(unsigned __int8 *dest, int destLen, unsigned __int8 *src, int srcLen)
FF05B234 zlib_uncompress_maybe2

Indy:
FF2D8964 zlib_bitm_decompress(unsigned __int8 *dest, unsigned __int32 dest_size, unsigned __int8 *src)
FF37B540 zlib_deflate_init2_maybe(void *strm, int level, int method, int windowsBits, int memLevel, int strategy, const char *version, int stream_size)

used here in BitmapCodec

550d 108

ROM:FF2D836C                 MOV     R3, #9    ; compression level ?
ROM:FF2D8370                 STR     R3, [SP,#0x30+var_30]
ROM:FF2D8374                 MOV     R3, R4
ROM:FF2D8378                 MOV     R2, R7
ROM:FF2D837C                 ADD     R1, SP, #0x30+var_28
ROM:FF2D8380                 MOV     R0, R5
ROM:FF2D8384                 BL      lzc_112
Advertisement