── Упаковщики ──
Придумывать новый раздел я не считаю
нужным, поэтому пусть будет тот, что ис-
пользовался ранее, хотя речь пойдет не об
"упаковщиках", а наоборот, о "распаковщи-
ках".
"Не учась и лаптя не сплетешь."
Пословица.
Казалось бы, ну чего тут сложного?
Ну делов-то - архив раскрыть. Но это толь-
ко с первого взгляда все так просто. На
самом деле раскрытие архивов - дело слож-
ное и ответственное, т.к. от правильности
выполнения этой непростой операции зави-
сит, например, ну хотя бы... Ну хоть почту
читать хотите? Тогда учитесь:
Фишка сия предназначена для раскры-
вания (кому то больше нравится термин
"распаковка") архивов, закрытых (запако-
ванных) PC-ковским ZIP'ом. Что может быть
внутри архивов? - оставим этот вопрос на
совести тех, кто их закрывает...
Теперь о работе:
Максимальный размер файла (как вход-
ного так и выходного) - 16777215 байт.
Раскрытие файлов размером больше чем наз-
ванная цифра дело может, конечно, и захва-
тывающее по продолжительности и количеству
используемых дисков, однако, что произой-
дет в этом случае - науке не ведомо. А ес-
ли и ведомо - то пусть наука лучше промол-
чит - все равно ничего хорошего!
Управление программой осуществляется
клавишами курсора или QAOP, выбор - ENTER
и еще некоторыми кнопочками. Немного тер-
пения и вы их узнаете...
Интеллект программы настолько велик,
что вся работа идет практически в автоном-
ном режиме. Правда, работать с диском пря-
мо из коробки она не сможет. Однако, как
бы не был велик интеллект программы, всег-
да найдется изобретательный идиот, который
сможет завести самый совершенный алгоритм
в тупик. В таких ситуациях программа из-
вестит о встретившемся затруднении и пред-
ложит пути его разрешения. В таких ситуа-
циях вместо Y/N можно смело юзать EN-
TER/SPACE, если они западают.
Раскрываются архивы, содержащие фай-
лы закрытые двумя методами "deflate" и
"store". Другие методы не поддерживаются
ввиду их редкости. О причинах этого - ни-
же.
Раскрытие архива может быть осущест-
влено с пропуском файлов - чтобы активизи-
ровать / дезактивировать эту возможность
надо в файловом меню нажать "F". Соответс-
вующая надпись сообщит неувернным в себе
пользователям о произведенных переключени-
ях. В этом режиме перед раскрытием файла
будет выдана его длинна и имя, после чего
комп грозно спросит о пропуске файла. Если
согласится на пропуск файл раскрыт не бу-
дет и прога перейдет к следующему в архи-
ве...
Раскрытие файла сопровождается мель-
канием hex цифр (для наглядности полная
длина файла выдается радом с мелькающими
цифрами). Поскольку этот процесс отнимает
машинное время в процессе распаковки -
данная фенечка отключаема. Для выключения
достаточно в процессе загрузки держать на-
жатым пробел.
Аналогично, раскрытый файл проверя-
ется на соответствие закрытому путем подс-
чета CRC. Данный процесс отнимает еще
больше времени, и его дезактивация произ-
водится удержанием ентера в процессе заг-
рузки.
Раскрытие может быть произведено с
любого тырдос устройства на любое. Вся ра-
бота с диском осуществлена через #3D13,
так что смело можно запускать на рамдисках
и виртуальных образах дискет на винте...
Выбор входного диска - <S>ourse, выходного
- d<Е>stination. Если раскрытие осущест-
вляется на то же устройство, с которого
начитывается исходный файл - то можно сме-
нить режим один диск - разные диски нажа-
тием кнопки "D". При работе с двумя уст-
ройствами автоматически выбирается режим
"разные диски".
После смены входного устройства его
каталог можно перечитать клавишей "R".
Одновременно на экране видно 100
файлов без удаленных. Файлы, находящиеся в
конце каталога (несчастные 28) раскрыты
быть не могут, ибо выбрать их нельзя.
Унзип работает с трехбайтными расши-
рениями файлов, если оные имеются (остав-
шиеся 2 буквы). Стандарт на длинные файлы
- как в melon'е. т.е куски имеют одинако-
вые имена и различаются по букве расшире-
ния увеличивающейся от файла к файлу. Кус-
ки должны иметь размер кратный сектору -
для последнего куска - необязательно. Еще
условие - файлы-куски должны располагаться
на диске подряд, без пробелов между ними.
если файлы имеют расширение .pkt, то оно
(расширение) будет преобразовано в .Ckt.
Это нужно для почтовых редакторов.
При выборе архива производится его
сканирование и принадлежность к системе
ZIP (с версии 0.6 алгорит проверки на зип-
ность упрощен). После сканирования выво-
дится число файлов в архиве и начинается
процесс раскрытия первого файла. В процес-
се раскрытия может оказаться, что число
созданных файлов меньше числа заявленных.
Дабы отбросить подозрения в нечистоплот-
ности автора "мол, и файлы у них пропада-
ют" скажу, что если вычесть число подката-
логов из полного числа файлов в архиве -
получите недостающие файлы. Кто таким ре-
шением недоволен - может претендовать на
приз - конфетку, если сможет создать под-
каталоги в tr-dos. Для непонятливых скажу,
что файлы из всех подкаталогов будут сва-
лены в одну кучу.
Дисковые ошибки не отлавливаются и
после надписи о неисправности на диске
прога вывалится в главное меню.
Особенного описания заслуживает си-
туация с недостаточным местом на диске при
раскрытии файла - в этом случае процесс
будет приостановлен и пользователю будет
предложено назвать новое устройство для
продолжения раскрытия. Выбор A-D произво-
дится кнопками 1-4. Если будет выбрано
устройство с тем же номером, что и уст-
ройство с исходным архивом, то прога авто-
матически будет считать, что работа идет
на разные диски и будет докучать просьбами
о их смене в процессе распаковки.
Уникальной возможностью программы
является возможность раскрытия образов
спековских дискет прямо на реальный диск.
Встретив файл с расширением .trd прога
спросит способ раскрытия на диск в виде
файла или создания диска из этого образа.
В первом случае созданный файл ничем не
будет отличаться от обычного файла, во
втором будет создан новый диск из образа
эмулятора, при этом вся информация на вы-
ходном диске будет потеряна, так что прог-
рамма сама включит режим "разные диски"
независимо от установленного в меню. Осо-
бенность этого режима работы: раскрываеный
файл должен иметь длинну кратную сектору -
для правильного подсчета контрольной сум-
мы.
Некоторые архивы имеют внутри себя
комментарии. Это не файлы, а составляющие
служебные поля архива. Так вот, прога
встретив в служебных полях архива коммен-
тарий выведет его, но на расширении
512*192. Тем у кого оный режим не реализо-
ван остается только посочувствовать.
(о расширении 512*192 точки читайте в пя-
том номере газеты)
Данный продукт написан на базе ис-
досного депакера by Михаил Кондратьев, за
что ему большое спасибо!
Также спасибо Ренату Мамедову за на-
писание данного текста и Сергею Анискину
за его конкретное исправление.
Связаться с автором данного продукта
можно используя такое нехитрое приспособ-
ление как FidoNet, мой адрес в этом самом
FidoNet: To: Andrey Isaev 2:5026/23.50 aka
2:5026/21.27
Сам unzip смотрите в приложении к
газете.
────────
───────────────────
────────
Other articles: