User Tag List

Страница 15 из 26 ПерваяПервая ... 111213141516171819 ... ПоследняяПоследняя
Показано с 141 по 150 из 252

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

  1. #141

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    parallelno, это было бы разумно так делать, но я просто сделал тупой колбек на каждый символ и печатаю их один за другим. С музыкой то же самое (колбаск следит, когда накопится строка из 16 регистров и выплевывает их в AY). Собственно переделка распаковщика сводится к тому, что по адресу назначения находится циклический буфер 256 байт и inx b заменяется на inr c (и еще пара нюансов связанных с тем же самым). Этот же буфер является окном, поэтому и паковать надо с -w 255.

    Думал про группировку ym по регистрам (это когда сначала все фреймы регистра 0, потом все фреймы регистра 1 итд). RLE там делать нечего, по крайней мере на тех примерах, что у меня. Допустим музон "EA demosong" по строкам с окном 255 упаковывается в 17322 байт, а если он по столбцам -- в 2141 при том же размере окна. Но чтобы таким воспользоваться, надо либо распаковать его целиком, что невозможно (ок, можно в кваз, но это неспортивно совсем), либо запаковывать и распаковывать 14 потоков параллельно. Для 14 параллельных потоков надо 14 буферов в 256 байт, что ну как бы тоже так себе прикол -- получается, что мы сэкономили на сжатии, но потом ту же самую память отжали на распаковку. Но с другой стороны это всего 3584 байта, то есть размер более-менее сопоставимый с плохо рекомпилированным плеером pt2.

    Еще интересный вариант -- использовать микро-окна. Например 16 байт дает 12137 байт, или 32 байта дают 5836 байт. Допустим для окна 32, нужно всего 448 байт на распаковку 14 потоков и собственно данные 5836 байт.

    В принципе этот способ конечно не самый красивый, но мне нравится его универсальность. И для ви53 таким образом тоже можно.

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

  2. #142

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,389
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Насчет 255 это я зря написал, лучше -w256. И я бы особо не рассчитывал на буфер <256 при сжатии сравнительно больших блоков, слишком уж упадет степень сжатия.
    Если ты скачал AY_Emul из альтернативного источника и можешь генерировать psg, то есть еще один подход. Можно сжать спецупаковщиком psg, распаковщик я переводил в 8080, он там простой. Результат упаковки ориентировочно в 3-3.5 раза больше исходного pt3. zx0 с большим окном жмет лучше, с маленьким где-то в этом районе.

  3. #143

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    И я бы особо не рассчитывал на буфер <256 при сжатии сравнительно больших блоков, слишком уж упадет степень сжатия.
    Я написал в прошлом сообщении цифры, полученные на отдельно взятом, но реальном примере. Буфер = 32 -- золотая середина при организации данных по столбцам. Вот если по строкам, разумеется это вообще почти что ничего.

    Вопрос 255 vs 256 меня беспокоил, но время было ближе к 4 утра и я пока оставил его без внимания. Размер выхлопа на этом примере был одинаковый или отличался на пару байт, не стоило того.

    Есть еще такой момент, что в YM есть два столбца для регистров, которых у нас нет, и там все равно нули. Но при сжатии по строкам это удобно, потому что выровнено по 16.

    Жматель PSG интересно.

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

    "Vortex Tracker - в принципе стандартный ProTracker 3.x (размер плэера 1617 байт)"

    Вот тут хочется заплакать. 1617 байт. И в них каждая вторая инструкция не "sta L1234+1 \ L1234 mvi a, 0", вот наверняка.
    Больше игр нет

  4. #144

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,389
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Я написал в прошлом сообщении цифры, полученные на отдельно взятом, но реальном примере. Буфер = 32 -- золотая середина при организации данных по столбцам.
    Если я правильно понял, при 255 - 2141, при 32 - 5836. Если такое соотношение устраивает, то вопросов нет.

  5. #145

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Если я правильно понял, при 255 - 2141, при 32 - 5836. Если такое соотношение устраивает, то вопросов нет.
    Спору-то нет, что 2141 лучше, чем 5836. Но 2141 потребует дополнительных почти 4кб на распаковку. Но зато их проще попробовать.

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

  6. #146

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,389
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Вот тут хочется заплакать. 1617 байт. И в них каждая вторая инструкция не "sta L1234+1 \ L1234 mvi a, 0", вот наверняка.
    На запретном сайте есть, среди прочих, вариант плеера без самомодификаций (PT3PROM). Размер немного> 2 Кб.

  7. #147

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    (Да че-то это malwarebytes дал маху. Жаль, раньше была хорошая штука.)

    Но как pt3prom поможет? Он написан на густом z80 с индексными регистрами, бит тестами и проч. Или я куда-то не туда смотрю?
    Больше игр нет

  8. #148

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,389
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    На тебя не угодишь
    Ты покритиковал тот вариант плеера за самомодифицируемость, а я написал, что плееры есть разные (но тоже, увы, не для 8080).

  9. #149

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сама по себе самомодифицируемость меня в контексте таких вещей вообще не напрягает. Но одно дело, когда это осознанно и автор принял решение, что так будет компактней и быстрее и даже может быть красивше, что на 8080 очень часто случается. Другое дело, когда видно, что автор решения принимал совсем другие и на другой архитектуре, а тут мы имеем просто полуразложившиеся затычки-макроподстановки, которые уже никакой эффективностью и не пахнут.
    Больше игр нет

  10. #150

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,389
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ждем героя, который портирует pt3 на 8080, а пока жмем дампы. Для меня это одна из задач, которую уже много лет собираюсь решить, но продвижения почти нет.

Страница 15 из 26 ПерваяПервая ... 111213141516171819 ... ПоследняяПоследняя

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

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

Эту тему просматривают: 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

Ваши права

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