(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
байтов, которые не попадаются в
них ни разу.
Я поделился лишь идеей, и мо-
жет быть, она кому-нибудь помо-
жет. Приводить получившуюся у
меня программу я не стал, так
как она далека от совершенства,
да и декомпрессор слишком медли-
телен.
* * *