-=RUS=- | Дата: Воскресенье, 16.11.2014, 12:43 | Сообщение # 1 |
 Генералиссимус
Группа: Администраторы
Сообщений: 352
Статус: Offline
| (DalePACK v1.17.doc)
"This no case to big, too case to small With duty - help just call"
Программа DalePACK V1.17
(файл DalePACK)
Кое-что о ней, и не только...
1. Байки из Клуба. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ - Поступай с людьми так, как хочешь, чтобы они поступали с тобой. Народная мудрость
Dale corp. опять с Вами! Третья разработка выходит в свет. Я временно отказался от темы Бейсика, и на этот раз предлагаю Вам компактный высокоскоростной упаковщик графики. DalePACK - тоже ShareWare: те, кому он понравится, вышлите любую сумму, какую считаете нужным. Я не ограничиваю его копи- рование: во-первых, это глупо, а во-вторых... см. эпиграф. За- прещено только ПЛАТНОЕ распространение! О хронометраже: DalePACK написан за 5 часов непрерывной ра- боты (включая отладку).
Адрес для вопросов и пожеланий: 241047, Брянск 47, а/я 109. Брянский Клуб пользователей БК.
2. Есть у меня шестерка слуг... ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ - Он делает макеты из памят- ников?!! "Chip & Dale, Rescue Rangers"
Большинству владельцев БК'шек знакомы потрясные вещи SMASH и PGC corp. Самое удивительное - обилие графики в их программах, что обусловлено соответствующей ее упаковкой. Весьма несправед- ливо утаивать такое хорошее BrainWare, и я решил исправить воз- никшую ситуацию. Распаковщик я извлек из игры PIPE DREAM, а ал- горитм упаковки оказалось нетрудным написать. Благодаря ему DalePACK в некоторых случаях может дать фору KOMP2 по степени сжатия, а по скорости ему вообще нет равных. Надеюсь, что DalePACK для многих пользователей войдет в "зо- лотой" пакет системных программ: MIRAGE26, MIRAGE66, PAINTER, КЛАВЕСИН, ГРАФРЕД, KOMP2.
3. Итак, работаем вместе! ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ - Если бы у нас не было поез- да, нам бы пришлось тащить золото в руках! "Chip & Dale, Rescue Rangers"
Загрузите DalePACK с кассеты. Авторская версия рассчитана на работу с дреса 1000, и занимает около 1600. После запуска на экране, как обычно, появится заставка с краткой инструкцией. Нажмите любую клавишу, и в ответ на соответствующие запросы наберите имя картинки и имя, под которым будет записан упако- ванный файл. Программа перейдет в режим чтения. Имена найденных файлов не отображаются, чтобы случайно не испортить картинку. Чтобы картинка на экране располагалась так, как Вы запланирова- ли, чтение производится с адреса, записанного на ленте, поэтому не пытайтесь загружать неграфические файлы! В случае ошибки чтение повторяется. Работая с графическим редактором PAINTER Латышева, можно об- ратить внимание на некоторые неприятные эксцессы: картинка на- чинается с адреса 42000, и длина ее по логике должна быть равна 34600. Но автор PAINTERа допустил опечатку (при этом не забыв приделать защиту от изменений), и длина всегда равна 36600. При записи, кроме картинки, прихватывается еще кусок ПЗУ, а во вре- мя чтения из-за него происходит "останов по клавише СТОП". Для устранения влияния PAINTERа введена возможность игнорирования ошибок чтения и остановов - для этого нужно во время считывания нажать клавишу KT. После окончания чтения (успешного или терминированного) ав- томатически начинается сжатие. Через секунду экран очищается, и для контроля запускается только что сформированный упакованный модуль - картинка появляется снова. Теперь нажатием любой кла- виши Вы можете записать копию упакованного файла. Если после загрузки картинки программа возвращается в зас- тавку, это означает, что упакованный файл превышает 36000 - иг- ра не стоит свеч, поищите другой упаковщик... В любой момент выйти в заставку можно, нажав клавишу СТОП.
4. Здесь находится СКАФЕЛЕТ. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ - Только не думай слишком много. Я всегда так делаю. "Chip & Dale, Rescue Rangers"
Этот раздел предназначен для Профессионалов, которых, конеч- но же, интересуют только алгоритм сжатия и формат сжатого фай- ла. Итак, по порядку. Ответ на первый вопрос вынесен в заголовок. Такой алгоритм применяется в... телефаксах! В их систему команд введены специ- альные коды, которые означают: "эта строка такая же, как преды- дущая". Здесь же в файле заведены специальные служебные слова, каждый бит которых отвечает за соответствующее слово на экране. Распаковка производится от конца памяти к началу, соответс- твенно изображение на экране появляется снизу вверх. Файл при этом выглядит так:
[<Изменившиеся слова>]<Служебное слово>[<Изменившиеся слова>] <Служебное слово>...
Каждое служебное слово включает 20 бит, т.е содержит инфор- мацию о половине экранной строки (20 слов). Бит, установленный в "1" означает, что соответствующее экранное слово не совпадает с предыдущим, и при распаковке по текущему адресу записывается слово из списка. Отсюда следует, что в одном списке может быть 0...20 слов. Если же бит равен 0, то список не используется, а берется либо предыдущее слово (если текущий адрес находится в самой нижней строке экрана), либо слово из предыдущей строки (в противном случае). Такой способ по определению оказывается наиболее быстрым.
Жду откликов!
С наилучшими пожеланиями
Bryansk, BITE, 1992. Dale.
|
|
| |