ZX Review #7-8-9-10
08 ноября 1997

Форум - Усовершенствование Art Studio. Идеи относительно компрессии файлов.

(c) Феськов Кузьма, г.Абакан

   Для рубрики "Форум" я предла-
гаю  сегодня совет по усовершен-
ствованию  известной  всем  про-
граммы  ART  STUDIO,  точнее, ее
версии для 128 килобайтов.
   Вспомните, сколько  мучитель-
ных минут вы провели в  попытках
отметить два одинаковых окна. На
мой взгляд, делать движение  ок-
на по пикселям несколько неудач-
ное решение, но из этого положе-
ния есть один простой выход. При
выборе данной опции стрелка  ме-
няется на квадрат, середина  ко-
торого соответствует углу  окна.
Я предлагаю заменить этот  квад-
рат на "+", середина которого  и
будет отправной точкой для окна.
Вид курсора будет таким, как при
редактировании  под  лупой.   Не
пытайтесь  отыскать  спрайт, со-
ответствующий  этому   квадрату,
все несколько  сложнее  (на  мой
взгляд, авторы зря потратили па-
ру десятков  байтов).  Итак, что
же нужно изменить:
   После того, как программа за-
пустилась, надо изменить следую-
щие байты - 57569,16;  57572,16;
57575,16;  57578,254;  57581,16;
57584,16;  57587,16.  Это  можно
сделать, используя встроенные  в
ПЗУ мониторы. Владельцам  других
компьютеров придется искать  ад-
реса самостоятельно.

   Я  хочу  поделиться  с   вами
своими идеями относительно  ком-
прессии файлов.  В  частности, о
методе Хофмана. На данном этапе,
да и вообще для  Спектрума, идея
архивов мне кажется  не  нужной,
поскольку размеры  не  те, да  и
программы сейчас уже  идут  ком-
прессированые авторами. И  нужны
самораспаковывающиеся файлы (ти-
па тех, которые создают компрес-
соры KSA и другие).
  Подбирать для файлов, содержа-
щих данные одного  типа, опреде-
ленное дерево  декомпрессии  мне
кажется несколько неудобным, по-
скольку даже  для  таких  файлов
различие может сильно  колебать-
ся.  Мой метод построения  дере-
ва декомпрессии  построен  очень
просто, правда,  при  этом  ком-
прессия файла занимает некоторое
время (не такое уж  и  большое).
Перед началом компрессии мы дол-
жны  построить  дерево,  относи-
тельно которого  будет  происхо-
дить компрессия, а делается  это
очень  просто - нам  всего  лишь
надо сосчитать количество одина-
ковых  байтов, то  есть  сколько
раз в файле встретился код 0, 1,
2 и так далее (тут имеется в ви-
ду не подряд следующие  байты, а
ВСЕ  встречающиеся).  Далее  нам
следует рассортировать эти  дан-
ные по  убыванию.  Делается  это
довольно просто. Очевидным  дос-
тоинством этого метода  построе-
ния дерева является  возможность
сократить его  размеры.  Это,  в
частности, актуально для тексто-
вых файлов, где  размеры  дерева
уменьшаются иногда на 100, а  то
и 150 байтов, тогда как в  пред-
ложенном  вами  способе   размер
всегда фиксированный. В  простых
программах (даже очень больших),
как  правило, можно  найти  5-10
байтов, которые не попадаются  в
них ни разу.
   Я поделился лишь идеей, и мо-
жет быть, она кому-нибудь  помо-
жет.  Приводить  получившуюся  у
меня программу  я  не  стал, так
как она далека от  совершенства,
да и декомпрессор слишком медли-
телен.

           *   *   *





Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
От редакции - новую еженедельную электронную газету Review of Impart BBS , в которой вы сможете узнать все последние новости, связанные с работой этой станции.
Вуайеризм - О дырочках в заборе и школьном вуайеризме. что зачастую то, что противно привычкам и рефлексии, и возбуждает больше всего.
B.B.S. Новости - О работе B.B.S.'ок.

В этот день...   20 сентября