Важная информация

User Tag List

Страница 4 из 23 ПерваяПервая 12345678 ... ПоследняяПоследняя
Показано с 31 по 40 из 221

Тема: Сжатие данных

  1. #31
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,859
    Спасибо Благодарностей отдано 
    655
    Спасибо Благодарностей получено 
    1,847
    Поблагодарили
    1,055 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Дошел до еще одного хорошего упаковщика/распаковщика, который не попал в обзор introspeca. Оказалось, что для deflate в его gzip инкарнации есть распаковщики для z80 (ссылки в английской вики). Попробовал версию для msx - отлично работает. По степени сжатия между exomizer и shrinkler, по скорости - несколько медленнее exomizer и более чем на порядок быстрее shrinklera. Нет ничего удивительного в том, что {LZ+Хаффман} заметно быстрее {LZ+арифметическое кодирование}, было бы здорово, если в этом направлении поработали авторы упаковщиков для восьмибиток. Все же gzip слишком взрослый, хотелось бы что-то попроще, меня его распаковщики для z80 несколько подавляют своей серьезностью.
    Последний раз редактировалось ivagor; 01.10.2019 в 20:14. Причина: ник исправил, извините

  2. Этот пользователь поблагодарил ivagor за это полезное сообщение:

    parallelno (04.07.2022)

  3. #31
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  4. #32
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,859
    Спасибо Благодарностей отдано 
    655
    Спасибо Благодарностей получено 
    1,847
    Поблагодарили
    1,055 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Shrinkler сжимает хорошо, но по результатам тестирования осталась некоторая неудовлетворенность, вроде должен еще лучше. Планировал покрутить настройки, но оказалось, что в версии 4.5 все упростили - есть пресеты. Вариант по умолчанию соответствует пресету "-2", а лучшее сжатие "-9". Добавил в сравнение сжатия графики строку shrinkler -9.

    Обновил в репозитории lzsa1_small.asm - сократил на один байт. Это не результат напряженной работы мысли, просто заметил, что раньше забыл убрать лишнюю команду. Разница в быстродействии практически незаметная, меньше одного процента.

  5. #33
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,859
    Спасибо Благодарностей отдано 
    655
    Спасибо Благодарностей получено 
    1,847
    Поблагодарили
    1,055 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Довел распаковщик shrinklera для 8080 до приемлемого вида и выложил на gitlab. Размер в полтора раза больше "официальной" версии для z80. Если без торможения, то на 25% быстрее "официальной" версии для z80, с векторовским торможением на 5% быстрее.
    Добавил реинициализацию переменной d2, чтобы распаковщик можно было вызывать неоднократно. В описании отметил, что адрес назначения д.б. четный, так было и в оригинале, но там не было про это написано.

  6. Эти 3 пользователя(ей) поблагодарили ivagor за это полезное сообщение:

    Oleg N. Cher (06.10.2019), Rus (09.10.2019), svofski (07.10.2019)

  7. #34
    Member Аватар для Rus
    Регистрация
    11.04.2009
    Адрес
    Архангельск
    Сообщений
    130
    Спасибо Благодарностей отдано 
    87
    Спасибо Благодарностей получено 
    32
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А существует ли в природе распаковщик shrinklera для 8086?
    Ассистент 86/128 , МС-1502 , МК-88, Поиск-1 , Квазар-86 , Amstrad PPC512 , Байт

  8. #35
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,859
    Спасибо Благодарностей отдано 
    655
    Спасибо Благодарностей получено 
    1,847
    Поблагодарили
    1,055 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не гуглится, но для 8086 есть несколько вариантов.
    1. Если в принципе нужен LZMA для 8086, то стоит посмотреть UPX.
    2. Если нужен именно shrinkler
    2.1. Можно попробовать полуавтоматически транслировать z80->8086 рекомпилятором Валерия Бостана.
    2.2. Можно вручную транслировать 8080->8086, это не самый лучший вариант, но очень простой. А потом оптимизировать, хотя бы как минимум умножение заменить на команду умножения.

  9. Эти 2 пользователя(ей) поблагодарили ivagor за это полезное сообщение:

    Oleg N. Cher (09.10.2019), Rus (09.10.2019)

  10. #36
    Member Аватар для Rus
    Регистрация
    11.04.2009
    Адрес
    Архангельск
    Сообщений
    130
    Спасибо Благодарностей отдано 
    87
    Спасибо Благодарностей получено 
    32
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Гуглил, но, увы, безуспешно.. Нужно максимально возможное сжатие для компа уровня IBM PC-5150, а скорость распаковки не очень важна.
    Тестил LZ4 - слабо, LZSA2 - неплохой результат, но Shrinkler показал результаты еще лучше на 10%, а то и больше.. Упаковывал ресурсы игрушки. Как раз этих процентов и не хватает для того, чтобы все поместилось в память. Ручную трансляцию рассматривал, но, с оптимизациями, которые используют для депакеров, высока вероятность ошибок, для 8080 не кодил.. Нужно все же полностью понимать принцип работы. Получается все же вслепую транслировать придется, раз готовых вариантов нет.
    Последний раз редактировалось Rus; 09.10.2019 в 15:22.

  11. #37
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,859
    Спасибо Благодарностей отдано 
    655
    Спасибо Благодарностей получено 
    1,847
    Поблагодарили
    1,055 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Лично мне было бы проще конверснуть 8080->8086, но если 8080 не особо знаком, то возможно лучше все же посмотреть upx. Сжатые им с опцией --8086 .comы в эмуляторе поиска работают.

  12. #38
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,859
    Спасибо Благодарностей отдано 
    655
    Спасибо Благодарностей получено 
    1,847
    Поблагодарили
    1,055 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Быстро и грязно конверснул shrinkler для 8088/8086, добавил в репозиторий. Много не проверял, но на первый взгляд работает. Для tiny модели памяти, si - адрес сжатых данных; di - куда распаковывать. Получилось 217 байт, пока что код ужасный, уверен, что можно улучшить.

    - - - Добавлено - - -

    Забыл в исходнике упомянуть, что компилировал FASMом. Не то, чтобы это было принципиально, но на всякий случай.

  13. Эти 2 пользователя(ей) поблагодарили ivagor за это полезное сообщение:

    crackintosh (16.02.2021), Rus (19.11.2019)

  14. #39
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,859
    Спасибо Благодарностей отдано 
    655
    Спасибо Благодарностей получено 
    1,847
    Поблагодарили
    1,055 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Выложил оптимизированную версию для 8088/86. Она на 25 байт короче и на 30% быстрее (замерял в emu).
    Чтобы оправдаться за оффтоп напишу, что в процессе баловства с 8088 появилась идея по оптимизации и версии для 8080.

  15. Эти 4 пользователя(ей) поблагодарили ivagor за это полезное сообщение:

    crackintosh (16.02.2021), Oleg N. Cher (10.10.2019), Rus (19.11.2019), svofski (10.10.2019)

  16. #40
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,119
    Спасибо Благодарностей отдано 
    800
    Спасибо Благодарностей получено 
    661
    Поблагодарили
    406 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не оффтоп ни разу.
    Надо для Вектора эмуляцию 8088.
    Больше игр нет

  17. Этот пользователь поблагодарил svofski за это полезное сообщение:

    crackintosh (16.02.2021)

Страница 4 из 23 ПерваяПервая 12345678 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Архивирование, сжатие, упаковка.
    от GriV в разделе Программирование
    Ответов: 30
    Последнее: 22.07.2019, 17:25
  2. Существует ли идеальное сжатие без потери данных?
    от CodeMaster в разделе Программирование
    Ответов: 35
    Последнее: 06.10.2017, 00:15
  3. RLE сжатие (покритикуйте)
    от Vladson в разделе Программирование
    Ответов: 12
    Последнее: 16.03.2008, 12:29
  4. Ответов: 18
    Последнее: 18.06.2006, 16:50

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •