Fandom

Magic Lantern Firmware Wiki

Zlib

328pages on
this wiki
Add New Page
Talk0 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

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

Also on Fandom

Random Wiki