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

User Tag List

Страница 7 из 8 ПерваяПервая ... 345678 ПоследняяПоследняя
Показано с 61 по 70 из 77

Тема: Архиватор с самым быстрым распаковщиком

  1. #61
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,560
    Спасибо Благодарностей отдано 
    1,223
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от shurik-ua Посмотреть сообщение
    в первом варианте у нас гарантированно установлен 1-ый бит, во втором же случае такой уверенности нет.

    P.S.и я бы XOR заменил на OR чтобы более наглядно было видно что нужно именно установить определённый бит, а не проинвертировать.
    Первый бит установлен. Это будет понятно, если внимательно посмотреть исходник, и комментарии.

    XOR ставился специально для запутывания)

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

  3. #62
    Banned
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    XOR ставился специально для запутывания)
    лол запутать одним лишь ксором?

  4. #63
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,560
    Спасибо Благодарностей отдано 
    1,223
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от psb Посмотреть сообщение
    лол запутать одним лишь ксором?
    Конечно) Но не одним) Там их было два)

    Просто мелкое запутывание между делом) Так, для развлечения, можно сказать)

  5. #64
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,560
    Спасибо Благодарностей отдано 
    1,223
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Не исключено, что ниббловый метод - это как раз не устаревший метод, который я потом выкинул, а наоборот дополнительный метод, который написал в депакере, а в пакере еще не поддержал.

    Суть этого метода, что, если на отрезке данных присутствует постоянная составляющая, вокруг которой колеблятся данные в диапазоне 0..15, то каждый такой байт кодируется всего 4 битами. В коде такое встретить сложно, а вот во всевозможных блоках данных, таблицах - вполне. Таким образом подобный участок данных сжимается сразу в два раза (плюс байт на константу постоянки), чем если б он был просто переброшен методом простого копирования.

    Скорость распаковки этого метода вполне высока - 48.5 тактов на байт, что тоже лишь в 2.3 раза медленнее LDIR.
    Последний раз редактировалось Titus; 19.09.2013 в 11:49.

  6. #65
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,560
    Спасибо Благодарностей отдано 
    1,223
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию ProTurboCruncher 3.0

    Для релиза Dizzy Extended Edition пришлось поднять исходники моего старого компрессора, обсуждаемого в этой ветке. Напомню, я его написал в 1995 году специально для Great Codemasters Collection. Цель тогда была добиться максимальной скорости распаковки и приемлемого качества упаковки.

    Так как упаковщик был написан на Спектруме, и имел ограничения по длине упаковываемого файла (исходный плюс упакованный файлы не должны были превышать 48Кб), пришлось побыстрому набросать на Си упаковщик. При этом удалось улучшить качество упаковки, и даже немного оптимизировать распаковщик.

    Выкладываю чисто для тестов, потому что вполне возможно, что упаковщик где-то сыроват, т.к. написан на скорую руку. Но для проверки упакованный файл внутри распаковывается и сравнивается с оригиналом. Если будет расхождение, то он напишет об ошибке. Исходный файл ограничен 64Кб (это естественно для Спектрума).
    Использовать в консольном окне, скормив ему имя файла для упаковки.
    Вложения Вложения

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

    Black Cat / Era CG (24.02.2021), drbars (24.02.2021), Evgeny Muchkin (24.02.2021), Oleg N. Cher (24.02.2021), SoftLight (24.02.2021), Urguk (06.09.2021), Verm-V (24.02.2021)

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

    По умолчанию

    С исторической точки зрения интересно, но если без скидок, то сейчас LZSA(1) чемпион в лиге быстрых распаковщиков (и он сжимает сильнее и есть более компактный распаковщик). У lzsa нет упаковщика для z80, возможно эта ниша для ProTurboCruncher.

  9. #67
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,560
    Спасибо Благодарностей отдано 
    1,223
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    С исторической точки зрения интересно, но если без скидок, то сейчас LZSA(1) чемпион в лиге быстрых распаковщиков
    Есть ли пример кода с этим распаковщиком? По твоей ссылке есть исходник, но у меня не чем его скомпилировать.

  10. #68
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,842
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,814
    Поблагодарили
    1,043 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    lzsa_win32_1.3.6.zip и lzsa_win64_1.3.6.zip - это архивы с exeшниками

  11. #69
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,560
    Спасибо Благодарностей отдано 
    1,223
    Спасибо Благодарностей получено 
    1,754
    Поблагодарили
    683 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    lzsa_win32_1.3.6.zip и lzsa_win64_1.3.6.zip - это архивы с exeшниками
    Это я видел.
    Мне нужен скомпилированный распаковщик под Z80. Ибо исходник в неудобоваримом виде, состоящем из многокомандных строк и макросов.

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Мне нужен скомпилированный распаковщик под Z80
    Под какой стартовый адрес?

Страница 7 из 8 ПерваяПервая ... 345678 ПоследняяПоследняя

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

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

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

Похожие темы

  1. архиватор LZX.COM ( CP/M ).
    от Error404 в разделе Зарубежные компьютеры
    Ответов: 18
    Последнее: 12.11.2009, 15:23

Ваши права

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