[an error occurred while processing this directive]
|
в ЕЕ-257(?) вобщем то полная ерунда - линковать zlib и т.п. при его размере имеет смысл только для какого-нибудь монстра, ну а там уже есть u-boot, который при тех же размерах позволяет не только [раз]жать, но и много остального.
тем более LZ-лайк сжатие не очень хорошо жмет экзешники (у меня rar меньше чем вдвое)
но если посмотреть на код BF, то вероятность 1 значительно меньше, чем 50% (причем взависимости от бита 20-40%). ИНТЕРЕСНО БЫ ПРОВЕРИТЬ НА ДРУГИХ ИСХОДНИКАХ.
для ленивых, но интересующихся - могу дать программку
то есть напрашивается применение арифметического кодера, тем более mq кодер можно скачать с analog.com (примеры для JPEG2000)
но, увы, следует отметить, что карма индуса, который этот пример написал была не очень хорошей... и написано кривовато и кодер повисает иногда.
для самых ленивых (собственно мой вариант :), можно закачать выход лоадера в симулятор (fill memory), прогнать через кодер (контекст - номер бита), и выкачать (dump memory)
практика подтвердила теорию и получается приблизительно 60% от исходного и при этом декодер восстанавливает файл ! (причем глюков в декодере не было, но может потому, что вызывающий глюк файл не прошел через кодер)
то есть почти такое же сжатие как и в LZ при размере декодера ~200 комманд + 50 слов констант (код можно улучшить)
----------
если кому еще это интересно - было бы неплохо написать кодер на С для ПК (может у кого уже есть?), поправить код для BF (там и косметически можно и можно выбросить бит стуфинг, который совсем не нужен). ну и всяческие линкер скрипты сделать...
у меня будет(?) проект в котором код BF хотелось бы засунуть в 25lc640 - вот я заранее озаботился :)
E-mail: info@telesys.ru