Серия "Библиотечка пользователя IS-DOS" Выпуск 1. Елисеев В. А. "IS-DOS - первое знакомство" (С) PENCRAFT 1995 (С) ISKRASOFT 1995 Scan, OCR & spellcheck by NUK Содержание Что такое IS-DOS? Начальная загрузка. Файловая оболочка. Список системных утилит. Работа с панелями. Основные управляющие клавиши. Системные утилиты. 1 - HELP 2 - USER 3 - VIEW 4 - EDIT 5 - COPY 6 - RENAME 7 - CRDIR 8 - DELETE 9 - MENU 0 - MASK Управляющие клавиши оболочки Рекомендуемое содержание файла EXTKEY.TXT Интерпретатор командной строки Управляющие клавиши монитора Командные BAT-файлы Составление USER-меню. Управляющие символы Ключи USER-меню Заключение. Приложение. Краткий путеводитель по системному диску IS-DOS. Что такое IS-DOS? "Операционная система персонального компьютера, - это комплекс программ, предназначенный для управления процессом обработки данных в компьютере." "Основы компьютерной грамоты." В традиционной модели ZX Spectrum, не имевшей, как известно, дисководов, роль операционной системы выполнял встроенный интерпретатор языка BASIC. Но вот, наконец, появился Beta-disk interface, и многочисленные владельцы Speccy получили возможность работать с флоппи-дисками. Нет нужды описывать преимущества работы в дисковой системе, по сравнению с магнитофонной, однако, скоро было замечено многими, что дисковая операционная система TR-DOS, зашитая в ПЗУ Beta-disk interface, организует работу с диском далеко не лучшим образом. Среди главных недостатков системы были отмечены такие, как невозможность создания файлов размером более 256 блоков, невозможность создать на диске более 128 файлов, отсутствие встроенной оболочки для организации диалога с пользователем, а уж невозможность использования места, освободившегося при удалении файлов до тех пор, пока не будет выполнена команда MOVE, это было просто ужасно. Короче говоря, настал момент, когда традиционная TR-DOS перестала удовлетворять растущие потребности пользователей, она просто морально устарела. Возникла острая необходимость в создании новой более совершенной DOS, свободной от всех недостатков традиционной. Такой новой альтернативной операционной системой для ZX Spectrum стала система IS-DOS, созданная в 1992 году Санкт-Петербургской фирмой Iskra-Soft. При ее разработке использовалась привычная многим пользователям и неплохо себя зарекомендовавшая идеология системы MS- DOS, применяемая в компьютерах фирмы IBM. Внешнее оформление встроенной оболочки системы строилось по образу и подобию широко известной IBM-овской оболочки Norton Commander. Такая преемственность, помимо всего, позволяла максимально приблизить работу на ZX Spectrum к работе на более мощных персональных компьютерах и обеспечить более легкий переход пользователя с домашнего ПК на профессиональный. Одним из главных преимуществ новой системы явилось то, что она была загружаемой с дискеты и не требовала никаких аппаратных доработок в схеме компьютера. Это позволяло легко перейти на новый уровень, не потеряв совместимости с TR-DOS. Новая операционная система не сразу нашла свой путь к потребителю. Малое количество прикладных программ, неустойчивость работы ранних версий, недостаточная реклама и жесткая система защиты от копирования долгое время сдерживали распространение IS-DOS, однако, в последнее время ситуация резко изменилась. Появились интересные прикладные программы, система обросла большим количеством утилит и внешних команд, общими усилиями программистов и пользователей было выловлено подавляющее большинство ошибок, да и условия распространения системы стали более мягкими. Так что сейчас детище фирмы Iskra-Soft успешно завоевывает рынок и составляет серьезную конкуренцию системе TR-DOS. Цель этой книги - прежде всего, помочь неподготовленному пользователю преодолеть естественный психологический барьер и овладеть первыми навыками работы в операционной системе IS-DOS. Однако, информация, приведенная в книге, несомненно заинтересует и более опытных пользователей, давно работающих в среде IS-DOS, так как система эта, до сих пор слабо освещавшаяся в печати, имеет некоторые свои секреты и тонкости, часто ускользающие от внимания и требующие специальных пояснений. В этой книге описывается версия IS-DOS, выпущенная фирмой Iskra- Soft в мае 1994 года, однако многое будет справедливо и для более ранних версий. В тех случаях, когда работа разных версий системы будет иметь принципиальные отличия, это будет специально оговорено. При этом в тексте будут приведены ссылка дату создания системы, или номер версии. Итак, мы начинаем! Начальная загрузка. Одной из замечательных особенностей системы IS-DOS, как уже было сказано, является легкость ее установки на любой Spectrum-совместимый компьютер. Для начала работы в среде IS-DOS достаточно вставить дискету с системой, купленную обязательно у представителя фирмы или официального распространителя, в дисковод и запустить ее. Предупреждение, кстати, далеко не случайное, так как несанкционированные копии системы действительно могут работать неустойчиво, а также преподносить некоторые весьма неприятные сюрпризы, впрочем об этом чуть позже, а пока напомню, что за плохую работу "пиратских" копий фирма Iskra-Soft ответственности не несет. Если у вас ZX Spectrum 48 с дисководом (не такая уж и редкость даже в наше время), достаточно нажать RESET, и система запустится, если Spectrum 128 или Scorpion - вставьте дискету и выйдите в TR-DOS, если же у Вас Spectrum PROFI 2+ - сначала выйдите в TR-DOS 128, а потом вставляйте дискету, иначе ваш компьютер попытается загрузить дискету IS-DOS как СР/М'овскую. Кстати, никогда не покупайте пиратские платы и компьютеры сомнительного происхождения, лично мне встречались экземпляры, на которых IS-DOS вообще невозможно было запустить, хотя на машинах в авторском исполнении система работала прекрасно. Если Вы к моменту начала работы уже находитесь в TR-DOS и созерцаете на экране заставку Technology Research Ltd., или хотя бы курсор TR-DOS, дело обстоит еще проще: для запуска IS-DOS достаточно набрать ЛЮБУЮ команду обращения к диску, кроме разве что команды FORMAT, например: CAT, LIST, LOAD, RUN и тогда... впрочем, об этом стоит рассказать отдельно. Файловая оболочка. В момент начальной загрузки IS-DOS в памяти компьютера происходит масса интересных событий. Пока нам достаточно знать, что системный загрузчик находит на диске специальный файл, в котором содержится тело системы и загружает его в старшие адреса ОЗУ. После этого управление передается уже системе IS-DOS. Первое, что делает IS-DOS после старта - это находит в корневом каталоге загрузочного диска файл с именем autoexec.bat (ну прямо как в IBM PC) и выполняет последовательность команд, заданную в этом файле. Файл autoexec.bat обычно пишется пользователем и содержит команды, которые будут выполняться всегда при старте системы. Его можно использовать, например, для установки конфигурации системы, установки текущей даты, резидентных программ и т.п. По окончании отработки autoexec.bat, а также при его отсутствии, вы попадаете в файловую оболочку IS-DOS. Она обеспечивает основной режим работы системы - работу с файлами. Внешне файловая оболочка IS-DOS очень напоминает Norton Commander - те же две панели с файлами, строчка меню вверху экрана, прямоугольный курсор. При ближайшем рассмотрении сходство становится еще более полным. Вообще, если Вам приходилось когда-либо работать на IBM PC, то в течение всего сеанса работы в IS-DOS Вас не будет покидать это чувство знакомости. Если Вы никогда не видели Norton Commander, не огорчайтесь - файловая оболочка IS-DOS настолько проста и дружественна, что Вы быстро освоитесь и запомните все, что сможет Вам пригодиться в будущем. Кроме того, если Вам придется впоследствии работать на IBM-совместимой машине, опыт работы в IS-DOS несомненно облегчит Вам ее освоение и даст Вам значительное преимущество в работе по сравнению с теми, кто ранее не работал в среде IS-DOS. Самая верхняя строка - меню системных утилит. Они вызываются при нажатии соответствующих цифровых клавиш (от 1 до 9 и 0). Когда Вы нажимаете одну из вышеупомянутых клавиш, соответствующая ей системная утилита запускается на исполнение, при этом ее название в верхней строке выделяется более ярким цветом. Внешний вид файловой оболочки показан на рис. 1. ┌──────────────────────────────────────────┐ │HelpUserViewEditCopyRenameDirDeletMenuMask│ │15.11.93 1024 0 0 │ │╔══ A:IsDos3.5 ══╗╔══ A:IsDos3.5 ══╗│ │║ █SHELL███████████ ║║ SHELL ║│ │║ UTIL ║║ UTIL ║│ │║ RES ║║ RES ║│ │║ SERVICE ║║ SERVICE ║│ │║ EDIT ║║ EDIT ║│ │║ HELP ║║ HELP ║│ │║ PRINT ║║ PRINT ║│ │║ MSDOS ║║ MSDOS ║│ │║ РЕКЛАМА ║║ РЕКЛАМА ║│ │║ autoexec bat 1 ║║ autoexec bat 1 ║│ │║ menu mnu 2 ║║ menu mnu 2 ║│ │║ extent txt 2 ║║ extent txt 2 ║│ │║ treecat txt 8 ║║ treecat txt 8 ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │╚═══════════════════╝╚═══════════════════╝│ └──────────────────────────────────────────┘ Рис.1 Список системных утилит. 1 HELP - подсказка, оперативная помощь 2 USER - вызов меню пользователя 3 VIEW - просмотр файла 4 EDIT - редактирование файла 5 COPY - копирование файлов 6 RENAME - переименование файла, каталога 7 crDIR - создание подкаталога 8 DELETE - удаление файлов 9 MENU - меню блочных устройств 0 MASK - установка маски для вывода файлов на панель На оставшемся пространстве экрана располагаются две файловые панели - левая и правая. При этом одна из них, в которой находится курсор, называется текущей, а другая - альтернативной. В верхней строке каждой панели указывается логическое имя устройства, (в данном случае дисковода), имя диска или отображаемого в данный момент каталога. Имя диска выводится в том случае, если на панели отображается содержимое основного - корневого каталога диска. Имя диска состоит из 8 символов и отделяется от логического имени устройства двоеточием. Если же на панели изображен один из подкаталогов, то после двоеточия печатается его имя, причем количество точек перед ним показывает уровень его вложенности. Поясним на примере. Пусть каталог SHELL является подкаталогом корневого каталога устройства А с именем ISDOS, а каталог HELP является подкаталогом каталога SHELL, тогда при отображении на панели корневого каталога в верхней строке будет напечатано: A:ISDOS Если на панель вывести содержимое каталога A:SHELL, то надпись изменится на: A:.\SHELL Если же войти в каталог A:SHELL\HELP, то появится: A:..\HELP Количество точек в данном случае показывает то, что подкаталог HELP является "подкаталогом подкаталога" корневого каталога диска, т. е. имеет уровень вложенности 2. Всего в IS-DOS допустимы 6 уровней вложенности. Вообще-то систему подкаталогов IS-DOS удобно представлять в виде дерева, для этого даже имеются специальные программы (tree, treecat, treefile), но об этом - чуть позже. Теперь рассмотрим более подробно информацию, располагающуюся внутри окон-панелей. Каждая строчка этого окна состоит из трех областей: области имени файла, области расширения имени файла и служебной области. Имя файла, как и в TR-DOS, состоит из 8 символов, однако требования к составу символов более жесткие, соответствующие стандарту профессиональных компьютеров. Так в именах файлов в IS-DOS нельзя использовать следующие символы: ! @ % ' ( ) | \ { } ^ < > [ ] ; " : ? / * . , а также символ с десятичным кодом 127. Некоторые из этих символов имеют специальное назначение и будут рассмотрены позднее. В системе IS- DOS допускается использовать в именах файлов символы кириллицы, что очень удобно для русскоязычных пользователей. Расширение (extent) имени файла состоит из трех символов и содержит информацию о типе данного файла. В TR-DOS оно приблизительно соответствует символу типа файла. Расширение имени - вещь достаточно произвольная, однако существуют некоторые стандартные расширения (например com, или res), используемые системой, а также некоторые традиционные расширения, которых следует придерживаться при создании собственных файлов (например txt). Кроме вышеперечисленных пользователь может создавать файлы и со своими собственными расширениями, описывая их при конфигурации системы однако во избежание путаницы и разночтений советую придерживаться общепринятого соглашения. Итак, основные рекомендуемые расширения имен файлов для IS-DOS суть следующие: com - запускаемый файл, программа bat - командный текстовый файл res - резидентная программа key - драйвер клавиатуры typ - драйвер дисплея blk - драйвер дискового устройства lpr - драйвер принтера txt - текстовый файл hlp - текстовый файл подсказки wet - рабочий файл текстового редактора as - текст программы на Ассемблере obj - объектный файл sys системный файл scr - файл экрана cod - прочие файлы в кодах Кроме того, некоторые прикладные программы используют свои специфические расширения, что позволяет легко отличать созданные ими файлы от других. И, наконец, в служебной области строки панели помещается специальная информация, чаще всего - длина файла в блоках, напоминаю, что длина блока - минимального элемента логической структуры диска - в системе IS-DOS составляет 256 байт, в то время как размер сектора диска 1024 байта. Теперь необходимо сделать небольшое отступление и пояснить весьма существенную разницу между физической логической структурой диска. В системе TR-DOS эти два понятия практически идентичны, и размер логического блока равен размеру физического сектора. В профессиональных операционных системах это не всегда так. В частности одна дорожка диска, отформатированного в системе IS-DOS состоит из 5 секторов, объемом по 1024 байта каждый, следовательно, каждый сектор вмещает в себя 4 блока. Увеличение размера блока до размера сектора приводит к неоправданному расходу дискового пространства, т. к. даже самый маленький файл не может занимать менее 1 сектора. а уменьшение размеров сектора до 256 байт при сохранении общего размера дорожки 5 Кбайт вообще невозможно из-за резкого увеличения служебной информации - представьте себе 20 секторов на одной дорожке! Поэтому был выбран оптимальный вариант, оказавшийся наиболее удобным во всех отношениях. Теперь, когда содержимое экрана Вашего компьютера наконец-то перестало производить впечатление "китайской грамоты", мы можем приступить к практическим занятиям. Работа с панелями. Первым делом обратите внимание на то, что одна из строк на панелях отличается по цвету от остальных. Это - панельный курсор, его можно свободно передвигать по панелям при помощи управляющих клавиш. Управляется курсор следующими клавишами: Q или CS+7 - движение вверх А или CS+6 - движение вниз О или CS+5 - переход на левую панель Р или CS+8 - переход на правую панель Файловая панель состоит из 19 строк. Если реальное количество файлов в каталоге больше 19, содержимое панели сдвигается при достижении курсором границы окна, открывая следующий файл. При переходе на альтернативную панель позиция курсора на старой панели сохраняется, т. о. при возврате Вы попадете именно на тот файл, с которого ушли. Для того, чтобы войти в подкаталог необходимо установить на него курсор и нажать ENTER. После этого файловая панель будет показывать файлы этого подкаталога, причем верхняя строка, состоящая из точек, число которых соответствует уровню вложенности подкаталога служит для возврата в предыдущий каталог. Если Вы давно блуждаете в дебрях подкаталогов и Вам лень выбираться обратно, можете воспользоваться специальными клавишами для быстрого возврата в корневой каталог CS+O - выход в корневой каталог левой панели CS+P - выход в корневой каталог правой панели CS+ENTER - то же в текущей панели Кроме того, Вы можете воспользоваться комбинациями клавиш для быстрого перемещения внутри каталога: CS+Q, SS+Q - переход в начало каталога CS+A - переход в конец каталога Ну а если Вы вдруг захотите, чтобы на альтернативной панели было то же, что и на текущей - к Вашим услугам клавиша: SS+CS - дублирование содержимого текущей панели на альтернативную с переходом курсора на нее Если Вам необходимо перечитать каталог диска, сменить диск или выбрать другой дисковод, воспользуйтесь клавишами: CS+1 - выбор устройства на левой панели CS+2 - выбор устройства на правой панели При нажатии любой из этих клавиш будет выведено специальное меню (см. рис. 2), в котором Вам будет предложено выбрать одно из доступных в данный момент устройств. ┌──────────────────────────────────────────┐ │HelpUserViewEditCopyRenameDirDeletMenuMask│ │15.11.93 1024 0 0 │ │╔══ A:IsDos3.5 ══╗╔══ A:IsDos3.5 ══╗│ │║ SHELL ║║ SHELL ║│ │║ UTIL ║║ UTIL ║│ │┌──────────────────┐║║ RES ║│ ││ Choose Drive: │║║ SERVICE ║│ ││┌────────────────┐│║║ EDIT ║│ │││A B C D E F││║║ HELP ║│ ││└────────────────┘│║║ PRINT ║│ │└──────────────────┘║║ MSDOS ║│ │║ autoexec bat 1 ║║ autoexec bat 1 ║│ │║ menu mnu 2 ║║ menu mnu 2 ║│ │║ extent txt 2 ║║ extent txt 2 ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │╚═══════════════════╝╚═══════════════════╝│ └──────────────────────────────────────────┘ Рис. 2. В системе IS-DOS роль этих устройств могут играть не только дисководы, но и другие накопители информации - жесткий диск, виртуальный диск, организуемый в ОЗУ компьютера и т. п. Причем все они, благодаря соответствующим драйверам, обслуживаются с точки зрения пользователя совершенно одинаково. Поэтому предпочтительнее и говорить о логических устройствах, а не только о дисководах. Устройство можно выбрать при помощи курсорных клавиш (CS+5 или О - влево, CS+8 или Р - вправо), нажатие ENTER фиксирует выбор и возвращает в оболочку. Если же Вы почему-то раздумали менять устройство - нажмите SS+A или SPACE, и Вы вернетесь в оболочку без изменений. Запуск программ производится клавишей ENTER. При этом курсор должен быть установлен на имя необходимого файла. Не забывайте, что в системе IS-DOS запускаемые файлы имеют расширение com. Однако, это не значит, что при нажатии ENTER на других файлах ничего не произойдет. Оболочка позволяет программировать реакцию на нажатие клавиши ENTER для файлов с различными расширениями. Для этого существует специальный текстовый файл extent.txt, который содержит список объявленных расширений и описание команды, которая автоматически вызывается при нажатии ENTER. Команда отделяется от расширения двоеточием. Примерное содержание стандартного файла extent.txt приведено в табл. 1: Таблица 1. Состав файла extent.txt ┌───────────────────────┬──────────────────────────────────┐ │ Содержимое extent.txt │ Реакция на ENTER │ ├───────────────────────┼──────────────────────────────────┤ │ com: │ запуск com-файла │ │ bat:Q:SHELL\exebat │ интерпретатор bat-файлов │ │ scr:Q:SHELL\exescr /w │ просмотр экранного файла │ │ txt:Q:SHELL\tv │ просмотр текстового файла │ │ hlp:Q:SHELL\tv │ просмотр текстового файла │ │ wet:Q:EDIT\edit │ редактирование файла │ │ lpr:Q:RES\set │ загрузка драйвера принтера │ │ typ:Q:RES\set │ загрузка драйвера дисплея │ │ res:Q:RES\set │ загрузка резидентной программы │ │ blk:Q:RES\set │ загрузка драйвера │ │ bas:@bas │ интерпретатор BASIC │ │ mnu:Q:SHELL\menu │ вывод USER-меню │ │ pac:Q:SHELL\exepac │ распаковка кодового блока │ │ img:Q:SERVICE\image │ распаковка образа диска из файла │ └───────────────────────┴──────────────────────────────────┘ Кроме вышеперечисленных Вы можете задавать любые реакции на другие расширения, например для работы в Ассемблере: as :Q:ASSM\as /auto obj:Q:ASSM\link Для запуска редактора шрифтов: fnt:Q: FONT \f_e_unit Для запуска рекламного интерпретатора SHOW: shw:Q:SHOW\exeshow Для графического редактора PICASSO: pic:Q:PICASSO\picasso.com Разумеется, все вызываемые программы должны присутствовать на диске в указанных каталогах, иначе будет выдано сообщение об ошибке "No имя файла". И наконец, еще одна операция, доступная в файловой оболочке IS-DOS - это отметка файлов. Дело в том, что некоторые операции, например копирование или удаление файлов, удобнее проводить сразу с несколькими файлами. Для этого Вы можете отметить эти файлы на панели нажатием клавиши SPACE. После нажатия SPACE строка с именем отмеченного файла изменит свой цвет, а курсор сместится на одну позицию в том же направлении, в котором он двигался до сих пор. Таким образом можно отмечать несколько файлов подряд, нажимая только на SPACE. При достижении конца или начала каталога курсор изменит направление движения на противоположное. Повторное нажатие SPACE на уже отмеченном файле вызывает снятие отметки. Отметка файлов сохраняется при перемещении панельного курсора на альтернативную панель, но при входе в подкаталог и выходе из подкаталога все отметки сбрасываются. Также в панелях IS-DOS невозможно отметить целый подкаталог, или группу подкаталогов. Если Вам понадобится произвести какую-либо операцию над всеми файлами подкаталога - войдите в него и пометьте все файлы. Несколько забегая вперед, могу сказать, что для таких целей можно пользоваться утилитой mark.com, которая находится в каталоге UTIL\ и позволяет отметить группу файлов по указанной маске. И в заключение позволю себе для обобщения всей вышеизложенной информации еще раз привести список управляющих клавиш файловых панелей: Основные управляющие клавиши. Q или CS+7 - движение вверх А или CS+6 - движение вниз О или CS+5 - переход на левую панель Р или CS+8 - переход на правую панель ENTER - вход в подкаталог, запуск программ по extent.txt CS+ENTER - выход в корневой каталог текущей панели CS+O - выход в корневой каталог левой панели CS+P - выход в корневой каталог правой панели CS+Q, SS+Q - переход в начало каталога CS+A - переход в конец каталога CS+SS - переход на альтернативную панель с дублированием CS+1 - выбор устройства на левой панели CS+2 - выбор устройства на правой панели SPACE - отметка файла Системные утилиты. В предыдущей главе мы подробно рассмотрели управляющие клавиши файловых панелей. Теперь, когда Вы освоили это, можно смело переходить к следующей достаточно обширной теме - системным утилитам, перечисленным в верхней строке экрана и вызываемым цифровыми клавишами. Всего этих утилит десять, рассмотрим подробно каждую из них. 1 - HELP Клавиша 1 вызывает утилиту help.com, находящуюся в каталоге SHELL\ (до 05.95 - UTIL\). Эта утилита позволяет вывести на дисплей текстовый файл-подсказку к файлу, на который указывает курсор. Для этого необходимо, чтобы в каталоге, в котором находится интересующий Вас файл был подкаталог HELP\, в котором содержатся текстовые файлы описаний-подсказок к файлам этого каталога. Файлы описаний имеют расширение hlp. Кроме того, имя файла-подсказки должно совпадать с именем самого файла, например, если у Вас имеется файл copy.com в каталоге A:UTIL\, то help-файл к нему должен называться copy.hlp и находиться в каталоге A:UTIL\HELP\. В базовый комплект IS-DOS обычно входят help-файлы ко всем основным командам и файлам. Если же на Вашей дискете не оказалось соответствующего описания, нажатие клавиши 1 вызовет справку по работе с файловой оболочкой IS-DOS. Этот файл называется shelhelp.hlp и находится в подкаталоге HELP\ корневого каталога. Недостающие help-файлы, а также описания Ваших собственных файлов Вы можете набрать самостоятельно в текстовом редакторе и поместить в подкаталог HELP\ того каталога, в котором находится описываемый файл. 2 - USER Клавиша 2 запускает утилиту menu.com, находящуюся также в каталоге SHELL\ (до 05.95 - UTIL\). Эта утилита позволяет работать с так называемым "меню пользователя" -User menu. Меню пользователя можно использовать для вызова часто используемых программ, запуска Ваших командных файлов, прикладных пакетов и т.п. Внешний вид основного USER-меню базового комплекта IS-DOS показан на рис. 3 ┌──────────────────────────────────────────┐ │╔═════════════════╗yRenameDirDeletMenuMask│ │║****User menu****║ 0 │ │║-----------------║ ╗╔══ A:IsDos3.5 ══╗│ │║ РАБОТА С ДИСКОМ ║ ║║ SHELL ║│ │║ РЕЗИДЕНТЫ ║ ║║ UTIL ║│ │║ РАБОТА С TR-DOS ║ ║║ RES ║│ │║ РАБОТА С MS-DOS ║ ║║ SERVICE ║│ │║ДЕРЕВО КАТАЛОГОВ ║ ║║ EDIT ║│ │║ УВИДЕТЬ ФАЙЛЫ ║ ║║ HELP ║│ │║ СПРЯТАТЬ ФАЙЛЫ ║ ║║ PRINT ║│ │║ isBASIC ║ ║║ MSDOS ║│ │║ ВЫХОД В SHELL ║ ║║ autoexec bat 1 ║│ │╚═════════════════╝ ║║ menu mnu 2 ║│ │║ ║║ extent txt 2 ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │╚═══════════════════╝╚═══════════════════╝│ └──────────────────────────────────────────┘ Рис. 3. Утилита menu.com выводит на экран окно со списком выполняемых команд, комментариями, текстовой информацией и т.п. Перемещая курсор по строкам окна можно выбрать нужную программу и запустить ее нажатием ENTER. Выход из меню возможен по нажатию SS+A, или через специально предусмотренную строку. User menu могут быть вложенными, т. е. каждая строка основного меню может содержать команду для вызова другого меню. Именно так организована система User menu в базовом комплекте IS-DOS. Конфигурацию меню утилита menu.com считывает из текстового файла menu.txt (в версии от 10.06.95 - menu.mnu). B момент нажатия клавиши 2 она осуществляет поиск этого файла сначала в текущем каталоге, а затем, при его отсутствии, в каталоге SHELL\ Таким образом, в каждом каталоге диска можно создать свое меню, но основным меню будет то, которое находится в каталоге SHELL\ Как уже было сказано выше, система IS-DOS поставляется с комплектом уже готовых User menu для вызова наиболее важных системных утилит, однако, основное назначение утилиты menu.com - использование Ваших собственных менюшек. Для этого Вам необходимо создать Ваш собственный текстовый файл menu.txt, описав в нем конфигурацию меню. О том, как это сделать читайте в соответствующей главе этой брошюры. 3 - VIEW Клавиша 3 позволяет просмотреть на экране содержимое файлов. Естественно, что для просмотра текстовых файлов требуется программа, выводящая их в символьном виде, для экранов - в графическом, а для кодовых блоков - в виде 16-ричного дампа. Для этого в системе предусмотрен специальный текстовый файл extview.txt, описывающий реакцию системы на нажатие клавиши 3. Не правда ли это что-то напоминает? Например extent.txt. Такой подход позволяет легко модернизировать систему и расширить ее возможности, так как файл extview.txt Вы также можете редактировать по своему усмотрению. Чаще всего приходится просматривать текстовые файлы. Для этого вызывается утилита tv.com находящаяся в каталоге SHELL\. Кстати, это ее услугами пользуется вышеописанная команда help.com для вывода на экран файла-подсказки. Для просмотра экранных файлов вызывается утилита exescr.com из того же каталога, а для кодовых блоков предпочтительнее 16-ричный монитор demon.com из каталога SERVICE\. Пример стандартного файла extview.txt приводится в табл. 2 Таблица 2. Пример файла extview.txt ┌────────────────────────┬───────────────────────────┐ │ Содержимое extview.txt │ Реакция на клавишу 3 │ ├────────────────────────┼───────────────────────────┤ │ scr:Q:SHELL\exescr /w │ просмотр экранного файла │ │ txt:Q:SHELL\tv │ просмотр текста │ │ mnu:Q:SHELL\tv │ просмотр текста │ │ bat:Q:SHELL\tv │ просмотр текста │ │ wet:Q:SHELL\tv │ просмотр текста │ │ hlp:Q:SHELL\tv │ просмотр текста │ │ as :Q:SHELL\tv │ просмотр текста │ │ cod:Q:SERVICE\demon │ 16-ричный просмотр │ │ obj:Q:SERVICE\demon │ 16-ричный просмотр │ │ com:Q:SERVICE\demon │ 16-ричный просмотр │ └────────────────────────┴───────────────────────────┘ Описание программ просмотра файлов будет опубликовано в одной из следующих статей нашей рубрики. 4 - EDIT Нажатие клавиши 4 запускает встроенный в IS-DOS текстовый редактор. Это довольно большая и сложная программа с поистине огромными возможностями для создания и редактирования текстовых файлов. Описанию текстового редактора можно посвятить отдельную брошюру, что и будет сделано в ближайшее время. А пока могу дать некоторые элементарные пояснения, которые помогут Вам выполнить самые неотложные задачи, как-то: написание собственных командных файлов, редактирование файлов extent.txt, extkey.txt, extview.txt, создание User menu и т.п. Итак, нажатие клавиши 4 вызывает текстовый редактор. При этом редактируется тот файл, на котором стоял курсор в момент вызова. Естественно, что редактировать с его помощью можно только текстовые файлы. Список расширений файлов, считающихся текстовыми содержится в текстовом файле ed_ext.txt. Содержимое этого файла Вы можете дополнять и редактировать по своему усмотрению, однако, помните, что первые два байта первой строки должны быть зарезервированы для системы и их лучше не трогать, а следующие три обязательно должны содержать "wet" - стандартное расширение для рабочего файла редактора. Остальные расширения описываются в строках, начиная со второй, по одному в строке. Основные рекомендуемые расширения для текстовых файлов приведены в табл. 3 Таблица 3. Расширения текстовых файлов. ┌─────────────────────┬─────────────────────────┐ │ Расширение │ Назначение файла │ ├─────────────────────┼─────────────────────────┤ │ txt │ текстовый файл (общее) │ │ hlp │ help-файл │ │ doc │ документ │ │ bat │ командный файл │ │ as │ ассемблерный текст │ │ bak │ резервная копия текста │ │ mnu │ текст USER-menu │ └─────────────────────┴─────────────────────────┘ Если в момент нажатия клавиши 4 курсор находился на имени файла с расширением, описанным в файле ed_ext.txt, то на экран будет выведено входное меню редактора (см. рис.4). ┌──────────────────────────────────────────┐ │HelpUserViewEditCopyRenameDirDeletMenuMask│ │15. 2.95 340 0 0 │ │╔══ A:IsDos3.5 ══╗╔══ A:IsDos3.5 ══╗│ │║ SHELL ║║ SHELL ║│ │║ UTIL ┌──────┐ ║║ UTIL ║│ │║ RES │ EDIT │ ║║ RES ║│ │║ SERVI└──────┘ ║║ SERVICE ║│ │║ EDIT ║║ EDIT ║│ │║ HELP ║║ HELP ║│ │┌───────────────────┐║ PRINT ║│ ││ EDIT extent txt │║ MSDOS ║│ ││ CREATE NEW FILE │║ autoexec bat 1 ║│ ││ bak N │║ menu mnu 2 ║│ ││ CANCEL │║ extent txt 2 ║│ │└───────────────────┘║ ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │╚═══════════════════╝╚═══════════════════╝│ └──────────────────────────────────────────┘ Рис. 4. Первая строка означает переход к редактированию файла, на котором стоял курсор (имя этого файла показывается в строке после слова EDIT). Вторая строка - не трогать текущий файл, а создать новый (при выборе этой опции Вам предложат ввести имя вновь создаваемого файла и его расширение). Третья строка - указатель режима создания резервной копии редактируемого файла. Эта опция позволяет сохранить нетронутым исходный файл перед началом редактирования, чтобы потом можно было при необходимости вернуться к нему. Если в этой строке установить "Y", то исходный файл будет сохранен в файле с таким же именем, но с расширением bak. Теперь, если результаты редактирования покажутся Вам неутешительными. Вы имеете возможность стереть отредактированный файл и, заменив у резервной копии расширение bak на то, что было раньше, восстановить status quo. С четвертой строкой меню вообще все просто - это отказ от редактирования и выход в оболочку, т. е. то же, что и SS+A. Если при нажатии клавиши 4 расширение файла под курсором не будет опознано редактором, то в меню будут только две строки: CREATE NEW FILE и CANCEL. Однако, это еще не все. Входное меню редактора имеет свой собственный настройщик параметров, вызываемый клавишами SS+SP, но описание его мы пока отложим до лучших времен. Итак, выбрав во входном меню EDIT, Вы приступаете к редактированию файла. Редактор в системе IS-DOS обладает поистине огромными возможностями, описание которых может занять достаточно много места. Поэтому в этой брошюре Вы найдете только самое основное, а полное описание редактора, как уже было сказано выше Вы сможете найти в одном из следующих наших изданий. Для начала Вам достаточно знать лишь некоторые управляющие клавиши: CS+1 - Режимы Pyc/Lat CS+2 - Режимы Заглавные/Строчные CS+3 - Режимы Вставка/Замена CS+4 - курсор в начало строки CS+5 - на символ влево CS+6 - на строку вниз CS+7 - на строку вверх CS+8 - на символ вправо CS+9 - в конец строки CS+0 - удалить символ слева от курсора SS+W - удалить символ справа от курсора SS+E - вставить пробел в текущую позицию SS+Q - на экран вверх SS+A - на экран вниз Кроме того доступны: CS+ENTER - табуляция SS+ENTER - выход в меню блочных операций SS+SPACE - выход в меню команд CS+SS - выход в режим МАКРО В заключение разговора о редакторе - несколько крайне необходимых команд из командного режима, вызываемого при помощи SS+SPACE: 9 - Режимы Текст/Псевдографика D - удалить строку U - восстановить удаленную строку Е - Выход из редактора В меню выхода из редактора возможны три варианта: DRY EXIT - полное окончание редактирования и сохранение всех изменений в файле, WET EXIT - выход с созданием рабочего файла с расширением wet, в котором сохраняются все основные параметры, как-то: позиция курсора, режимы, поля, отмеченные блоки и т. п., и LEAVE - выход с отказом от последних изменений. Опцией LEAVE злоупотреблять не рекомендуется, так как результат ее работы зависит от многих внешних причин (степени заполненности кэш-памяти, например) и часто трудно предсказуем. 5 - COPY Клавиша 5 в оболочке IS-DOS вызывает программу копирования обычно это программа filecopy.com из каталога SHELL\ (до 05.95 - UTIL\). Внешний вид этой программы показан на рис. 5. ┌──────────────────────────────────────────┐ │HelpUserViewEditCopyRenameDirDeletMenuMask│ │21. 5.94 7 5 29 LAT OVR │ │╔══ A:.\UTIL ══╗╔══ A:IsDos3.5 ══╗│ │║ . ║║ SHELL ║│ │║ HELP ║║ UTIL ║│ │║ COPIERS ┌────────┐S ║│ │║ CLOCK │ COPY │RVICE ║│ │┌───────────────│ │───────────────┐│ ││ └────────┘ ││ ││ ┌───────────────┐ ┌───────────────┐ ││ ││ │ cd+ com │ │ cd+ com │ ││ ││ └───────────────┘ └───────────────┘ ││ ││ ┌──────┐ ┌──────────────┐ ┌──────┐ ││ ││ │ 5 │ │ DESTINATION │ │ 5 │ ││ ││ └──────┘ └──────────────┘ └──────┘ ││ ││ ┌──────────────────────────────────┐ ││ ││ │ B:UTIL\ │ ││ ││ │ │ ││ ││ └──────────────────────────────────┘ ││ ││ ││ │└────────────────────────────────────────┘│ └──────────────────────────────────────────┘ Рис. 5 В самых общих чертах, она копирует все отмеченные файлы на текущей панели в каталог, открытый на альтернативной панели. При этом, если на обеих панелях открыто одно устройство (например "А" при работе с одним дисководом и двумя дискетами), программа сама запрашивает какой из дисков должен быть вставлен в дисковод. При отсутствии отмеченных файлов копируется тот файл, на котором стоит курсор. Если вдруг Вы обнаружите, что забыли перед вызовом filecopy.com открыть на альтернативной панели каталог назначения, - не беда, программа позволяет откорректировать путь для копирования файлов в специальном окне. При копировании в левом окне отображается считываемый в данный момент файл, а в правом - последний записанный файл. Программа filecopy.com обладает целым рядом полезных возможностей, о которых Вы сможете узнать из ее описания, а сейчас позволю себе только заметить, что программа эта достаточно "умная" - если Вы, например, попытаетесь скопировать файл на диск, на котором уже есть файл с таким именем, программа переспросит Вас надо ли это делать. 6 - RENAME Клавиша 6 вызывает программу переименования файлов (обычно rename.com), которая позволяет изменить имя файла, или каталога, на котором в данный момент стоит курсор. Программа rename.com кроме того позволяет редактировать и другую информацию, содержащуюся в описателе файла или каталога, например - дату создания, наличие защиты от записи и т. п. Включается редактирование этой информации клавишами SS+SPACE. При нажатии этой клавиши на месте альтернативной панели появляется большое окно, в котором перечислены все доступные параметры. Внешний вид окна редактирования этих параметров, иначе называемых атрибутами файла показан на рис. 6. ┌──────────────────────────────────────────┐ │HelpUserViewEditCopyRenameDirDeletMenuMask│ │ 4.10.94 59 0 0 lat ovr │ │╔══ A:IsDos3.5 ══╗╔═ A:IsDos3.5 ═╗│ │║ SHELL ║╔══════════════════╗║│ │║ UTIL ║║ Save ║║│ │║ RES ║║ Dec ovr ║║│ │║ SERVICE ║║ Name:autoexec bat║║│ │║ EDIT ║║ File Segmented ║║│ │║ HELP ║║ Visible ║║│ │║ PRINT ║║ Unprotect ║║│ │║ MSDOS ║║ Address: 0 ║║│ │║ autoexec bat 1 ║║ Length: 59 ║║│ │║ menu mnu 2 ║║ Fil_pos: 118 ║║│ │║ extent txt 2 ║║ Special: 0 ║║│ │║ ║║ Word_20: 0 ║║│ │║ ║║ Word_22: 0 ║║│ │║ ║║ Word_24: 0 ║║│ │║ ║║ Checksum: 60745 ║║│ │║ ║║ Word_28: 1 ║║│ │║ ║║ Date: 4-Oct-94 ║║│ │║ ║║ Exit ║║│ │║ ║╚══════════════════╝║│ │╚═══════════════════╝╚═══════════════════╝│ └──────────────────────────────────────────┘ Рис. 6. Более подробную информацию о работе программы rename.com и назначении атрибутов файла можно получить, ознакомившись с описанием этой программы, а у нас с Вами на очереди следующая системная утилита, которой Вы также будете пользоваться достаточно часто: 7 - crDIR Как Вы уже наверное догадались, crDIR - это не что иное, как создание каталога. Действительно, для того, чтобы создать каталог Вам достаточно нажать на клавишу 7 и ввести в появившемся окне имя создаваемого каталога (рис. 7). Каталог, который Вы создаете будет являться подкаталогом того каталога, в котором Вы находились в момент нажатия клавиши 7. ┌──────────────────────────────────────────┐ │HelpUserViewEditCopyRenameDirDeletMenuMask│ │ 4.10.94 59 0 0 LAT OVR │ │╔══ A:IsDos3.5 ══╗╔══ A:IsDos3.5 ══╗│ │║ SHELL ║║ SHELL ║│ │║ UTIL ║║ UTIL ║│ │║ RES ║║ RES ║│ │║ SERVICE ║║ SERVICE ║│ │║ ╔═════════════╗ ║║ EDIT ║│ │║ ║ Create ║ ║║ HELP ║│ │║ ║ Directory: ║ ║║ PRINT ║│ │║ ║ TEXT ║ ║║ MSDOS ║│ │║ ╚═════════════╝ 1 ║║ autoexec bat 1 ║│ │║ menu mnu 2 ║║ menu mnu 2 ║│ │║ extent txt 2 ║║ extent txt 2 ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │╚═══════════════════╝╚═══════════════════╝│ └──────────────────────────────────────────┘ Рис. 7 Когда-то процедура создания каталога входила в ядро IS-DOS, однако, теперь для этих целей служит резидентная программа mkdir.res, которая и вызывается клавишей 7. Естественно, что если Вы в процессе работы сняли эту программу из памяти (для экономии места в ОЗУ, например), вызывать будет нечего, и система выдаст ошибку: Error 37 - отсутствие резидентной программы. В этом случае верните mkdir.res на место командой Q:RES\set Q:RES\mkdir.res или воспользуйтесь аналогичной программой mkdir.com из каталога SHELL\. 8 - DELETE Клавиша 8 - удаление файлов. Файлы удаляются при помощи утилиты delete.com. Как и filecopy.com, она работает с отмеченными файлами, а при отсутствии отметки - удаляет текущий файл. Первая строка меню - самая главная. Если Вы случайно нажали клавишу 8 - смело выбирайте ее и Ваши файлы останутся целы. Аналогичного эффекта можно добиться и нажимая клавиши SS+A. В последней строке окна после слова Select выводится число файлов, подлежащих удалению, а в нижнем окне - имя первого из них. Если Вы окончательно решили уничтожить все выбранные файлы - используйте опцию Delete, а если еще сомневаетесь - используйте Ask Delete, и программа перед удалением каждого файла выведет дополнительный запрос "Delete Y/N" и удалит его только в случае Вашего положительного ответа на поставленный вопрос. Файлы, защищенные от записи программа delete.com не удаляет (на то они и защищенные),а выдает сообщение "Protected file". Каталоги также можно уничтожать, но при условии, что в них нет ни одного файла. В противном случае Вы рискуете получить сообщение "Catalog not empty". И в заключение напомню, что программа delete.com, как ей и положено, не стирает с диска файл, а просто помечает его как удаленный. Поэтому большинство файлов после удаления можно восстановить, например утилитой qu.com, но только при условии, что на диск после удаления файлов ни разу не производилась запись. Внешний вид программы delete.com изображен на рис. 8. ┌──────────────────────────────────────────┐ │HelpUserViewEditCopyRenameDirDeletMenuMask│ │ 4.10.94 59 0 0 LAT OVR │ │╔══ A:IsDos3.5 ══╗╔══ A:IsDos3.5 ══╗│ │║ SHELL ║║ SHELL ║│ │║ UTIL ║║ UTIL ║│ │║ RES ║║ RES ║│ │║ SERVICE ║║ SERVICE ║│ │║ EDIT ║║ EDIT ║│ │║ HELP ║║ HELP ║│ │║ P┌────────────┐ ║║ PRINT ║│ │║ M│ Quit │ ║║ MSDOS ║│ │║ a│ Ask Delete │1 ║║ autoexec bat 1 ║│ │║ m│ Delete │2 ║║ menu mnu 2 ║│ │║ e│ Select: 1 │2 ║║ extent txt 2 ║│ │║ └────────────┘ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │╚═══════════════════╝╚═══════════════════╝│ └──────────────────────────────────────────┘ Рис. 8 9 - MENU Клавиша 9, как и клавиша 7, вызывает резидентную программу (в данном случае - gmen.res), которая должна быть установлена в системе. Если Вы получили вместо нее "Error 37" - установите резидентную программу командой Q:RES\set Q:RES\gmen.res, или воспользуйтесь com'овским аналогом. Программа gmen предназначена для оперативного назначения устройств в системе IS-DOS. Всего в системе IS-DOS можно использовать до 6 логических устройств; ими могут быть дисководы, виртуальный RAM-диск, винчестер и т. п. При этом все они, независимо от аппаратной реализации, воспринимаются системой одинаково, а нейтрализация физических различий между ними остаются на совести драйверов. Некоторые из используемых Вами устройств однако можно наделить специальными полномочиями. Всего в IS-DOS возможны три специальных устройства: SYSTEM - системное, QUICK - быстрое и CURRENT - текущее. При указании путей к файлам в командной строке они обозначаются, соответственно, буквами S, Q, и Т. Таким образом достигается некоторая универсальность в указании путей к файлам. Поясню на примере. Допустим, у Вас два дисковода, а у Вашего приятеля - три (поверьте, такое бывает). Если он напишет в командном файле, например, так: A:UTIL\copy B:SHELL\*.com C:SHELL то вам это не подойдет ни в коем случае - ведь у Вас нет дисковода C. Если же Ваш знакомый назначит дисковод А как быстрый, В - как системный, а C - как текущий, то можно будет записать вышеприведенную команду так: Q:UTIL\copy S:SHELL\*.com T:SHELL что позволит и Вам пользоваться этим командным файлом, достаточно только будет назначить один дисковод, как быстрый и системный одновременно, а второй дисковод - как текущий. Кроме того эти три устройства имеют особое предназначение: При запуске любого файла, если не указан путь, система ищет его сначала на быстром диске, а если не находит, то на системном. Это позволяет, например, скопировать самые часто требуемые файлы на RAM-диск, отличающийся, как известно, высокой скоростью доступа, объявив его "быстрым", а все редко используемые утилиты оставить на дискете, объявив дисковод "системным". Это особенно актуально для Spectrum 128 с электронным диском всего 80К. Многие программы в системе IS-DOS, сами загружаясь с быстрого или системного дисков, рабочие файлы создают на текущем, что позволяет в частности хранить рабочие файлы отдельно от программ на других дискетах. Итак, при помощи клавиши 9 Вы можете объявить системным, быстрым или текущим любое из имеющихся у Вас устройств, причем одно устройство вполне может совмещать две или все три функции, это уж как Вам будет угодно. Внешний вид утилиты gmen показан на рис. 9. ┌──────────────────────────────────────────┐ │HelpUserViewEditCopyRenameDirDeletMenuMask│ │ 9. 1.94 459 0 0 LAT OVR │ │╔══ A:IsDos3.5 ══╗╔══ A:IsDos3.5 ══╗│ │║ SHELL ║║ SHELL┌──────────┐║│ │║ UTIL ║║ UTIL │ System A│║│ │║ RES ║║ RES │ Quick A│║│ │║ SERVICE ║║ SERVI│ Current A│║│ │║ EDIT ║║ EDIT │ Exit A│║│ │║ HELP ║║ HELP └──────────┘║│ │║ PRINT ║║ PRINT ║│ │║ MSDOS ║║ MSDOS ║│ │║ autoexec bat 1 ║║ autoexec bat 1 ║│ │║ menu mnu 2 ║║ menu mnu 2 ║│ │║ extent txt 2 ║║ extent txt 2 ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │╚═══════════════════╝╚═══════════════════╝│ └──────────────────────────────────────────┘ Рис. 9. И наконец, последнее: 0 - MASK Клавиша 0 вызывает утилиту mask.com, в обязанности которой входит следить за форматом вывода информации в файловых панелях (см. рис. 10). С помощью этой утилиты можно задать маску для любой из файловых панелей, что позволяет отображать только файлы, соответствующие определенному образцу, кроме того, она позволяет выбрать информацию, отображаемую в строках файловой панели справа от расширения имени файла. По умолчанию всегда отображается длина файла в блоках, напоминаю, что размер блока в IS-DOS равен 256 байт. Если Вы нажмете ENTER на строке LENGTH, ситуация изменится и в правой части панели будут отображаться т. н. атрибуты файла - символ "р" если файл защищен от записи и символ "с" если файл непрерывный. В меню при этом на месте надписи LENGTH появится надпись STATUS. Повторное нажатие ENTER восстановит режим вывода длины файла в блоках. ┌──────────────────────────────────────────┐ │HelpUserViewEditCopyRenameDirDeletMenuMask│ │15.11.93 1024 0 0 │ │╔══ A:IsDos3.5 ══╗╔══ A:IsDos3.5 ══╗│ │║ SHELL ║║ SHELL ║│ │║ UTIL ║║ UTIL ║│ │║ R┌─────────────┐ ║║ RES ║│ │║ S│ Panel state │ ║║ SERVICE ║│ │║ E│ *.* │ ║║ EDIT ║│ │║ H│ LENGTH │ ║║ HELP ║│ │║ P│ Pattern │ ║║ PRINT ║│ │║ M└─────────────┘ ║║ MSDOS ║│ │║ autoexec bat 1 ║║ autoexec bat 1 ║│ │║ menu mnu 2 ║║ menu mnu 2 ║│ │║ extent txt 2 ║║ extent txt 2 ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │╚═══════════════════╝╚═══════════════════╝│ └──────────────────────────────────────────┘ Рис. 10 В верхней строке меню можно задать образец-маску, согласно которому оболочка будет выводить на экран содержимое каталогов. Маска задается в виде имени файла и расширения, причем можно применять т. н. неявные имена. Для этого существуют специальные обозначения: * - любое количество произвольных символов в имени и/или расширении ? - один произвольный символ в имени и/или расширении. При этом возможны любые сочетания, например: *.* - показать все файлы (по умолчанию) *.com - показать все com-файлы a*.txt - все текстовые файлы, имена которых начинаются с "а" ??ed*.a?m - показать файлы, в именах которых второй и третий символы "ed", а в расширении первый -"а", а третий - "m" copy.com - показать только файл с именем сору и расширением com сору *.* - показать все файлы, имена которых начинаются с сору Поэкспериментируйте самостоятельно с этой опцией, и Вы сразу все поймете. Нижняя строка меню позволяет выбрать режим работы с маской по отношению к каталогам. Возможны два варианта: показывать все подкаталоги, независимо от маски, а маску отнести только к файлам (режим Patern+CAT), или показывать только подкаталоги, подходящие по маске со всеми файлами, подходящими по этой же маске (Pattern), что позволяет организовать поиск и вывод по маске подкаталогов. Однако, следует напомнить, что имена подкаталогов состоят из заглавных букв, а имена файлов - обычно из строчных, поэтому в режиме Pattern с маской для подкаталога Вы, скорее всего, увидите одни только подкаталоги без файлов. Так что, или поиск каталогов, или поиск файлов, -одно из двух. Итак, теперь мы с Вами кратко ознакомились с основными системными утилитами, названия которых вынесены в верхнюю строку основного экрана файловой оболочки IS-DOS. Однако, это не значит, что сервисные возможности системы ограничиваются этими десятью командами. Количество системных утилит, и внешних команд в IS-DOS чрезвычайно велико, и многие из них очень важны для пользователя. К сожалению, рамки этой книги не позволяют рассмотреть их все, однако, в последующих выпусках мы обязательно вернемся к этому вопросу и подробно рассмотрим важнейшие команды, которые придают среде IS-DOS ту комфортность и удобство, за которые Вы ее так любите. В предыдущих главах книги уже шла речь об основных управляющих клавишах файловой оболочки IS-DOS. Однако, система управляющих клавиш IS-DOS, как Вы уже наверное догадались, этим не ограничивается. Концепции управляющих клавиш системы IS-DOS и посвящена следующая глава. Управляющие клавиши оболочки В системе IS-DOS при работе с файловой оболочкой принято различать два вида управляющих клавиш -клавиши, зарезервированные для оболочки и клавиши, определяемые пользователем. К первому типу относятся клавиши: Q и CS+7 - движение вверх А и CS+6 - движение вниз О и CS+5 - переход на левую панель Р и CS+8 - переход на правую панель ENTER - вход в подкаталог, запуск программ по extent.txt CS+ENTER - выход в корневой каталог текущей панели CS+O - то же для левой панели CS+P - то же для правой панели CS+Q, SS+Q - переход в начало каталога CS+A - переход в конец каталога SS+CS - переход на альтернативную с дублированием CS+1 - выбор устройства на левой панели CS+2 - выбор устройства на правой панели SPACE - отметка файла Кроме того, для системных утилит зарезервированы и цифровые клавиши от 0 до 9, однако только три из них не подлежат переопределению, это: 3 VIEW - просмотр файлов 7 crDIR - создание подкаталога 9 MENU - меню блочных устройств Клавиши 7 и 9 всегда жестко привязаны к установленным в системе резидентным программам mkdir.res и gmen.res соответственно, при этом сами программы можно модифицировать, но имена их должны оставаться стандартными. Клавиша 3 всегда будет вызывать программы просмотра файлов согласно содержимому текстового файла extview.txt. Назначение остальных цифровых клавиш можно изменять по Вашему желанию, однако рекомендую придерживаться расположения, принятого в верхней строке экрана. Из оставшихся клавиш зарезервирована только клавиша h. Она предназначена для запуска процедур печати и действует аналогично клавише 3. Список программ печати применяемых для файлов с различными расширениями содержится в файле extprint.txt, который помещается также в каталоге SHELL. Принцип его построения такой же, как и у файла extview.txt. Примерное содержание файла extprint.txt приводится в табл. 4 Таблица 4. Пример файла extprint.txt ┌─────────────────────┬─────────────────────────┐ │ Содержимое │ Реакция на клавишу h │ │ extprint.txt │ │ ├─────────────────────┼─────────────────────────┤ │ scr:Q:PRINT\PL\ps │ печать экранного файла │ │ as:Q:PRINT\print │ печать текста │ │ bat:Q:PRINT\print │ печать текста │ │ doc:Q:PRINT\print │ печать текста │ │ txt:Q:PRINT\print │ печать текста │ │ hlp:Q:PRINT\print │ печать текста │ │ wet:Q:PRINT\print │ печать текста │ │ mnu:Q:PRINT\print │ печать текста │ └─────────────────────┴─────────────────────────┘ Все клавиши, кроме вышеперечисленных можно запрограммировать на вызов часто применяемых системных утилит и прикладных программ. Какую из программ закрепить за той или иной клавишей оболочки - решать Вам, однако за годы существования IS-DOS сложился своего рода неофициальный стандарт, окончательно сформировавшийся в версии 3.0. Этот стандарт наиболее универсален и потому я рекомендую придерживаться его в своей работе во избежание разночтений и т. п. неудобств. Как Вы уже наверное догадались, соответствие клавиш вызываемым программам определяется содержимым текстового файла, который называется extkey.txt. Наличие этого файла является обязательным для системы, так как без него не будет работать большинство клавиш оболочки. Файл extkey.txt находится в каталоге SHELL\ и составляется следующим образом. Первый символ каждой строки - символ, получаемый при нажатии определяемой клавиши. При использовании клавиш, при помощи которых ввод символа в редакторе затруднен (некоторые комбинации с SS), можно использовать десятичный код клавиши, записав его после символа "'" (апостроф). Десятичный код клавиши можно определить при помощи специальной утилиты ktest.com, которую Вы сможете найти в базовом комплекте IS-DOS 3.0 и выше в каталоге Q:RES\KEY\. Рекомендуемое содержание файла extkey.txt [Все комментарии, заключенные в квадратные скобки не являются составной частью файла extkey.txt и приводятся исключительно в учебных целях.] [Системные утилиты - цифровые клавиши согласно верхней строке экрана] 1 Q:SHELL\help 2 Q:SHELL\menu 4 Q:EDIT\editor 5 Q:SHELL\filecopy 6 Q:SHELL\rename 8 Q:SHELL\delete 0 Q:SHELL\mask [3-зарезервирована под просмотр файлов] [7-зарезервировано под mkdir.res] [9-зарезервировано под gmen.res] [SS+цифровые клавиши - рекомендуется для дополнительных функций, и функций, альтернативных системным утилитам] @ SHEL\menu.mnu [SS+2 Вызов основного меню из любого каталога] & Q:UTIL\renam [SS+6 Быстрое переименование файлов] '39 Q:SHELL\mkdir [SS+7 Вызов mkdir.com] ( Q:UTIL\qu [SS+8 Восстановление стертых файлов]) Q:SHELL\gmen [SS+9 Вызов gmen.com] [SS+1, SS+3, SS+4, SS+5, SS+0) - пока свободны] [Буквенные клавиши, кроме зарезервированных для системы и их комбинации с CS и SS. Предпочтительнее использовать комбинации основных клавиш с CS и SS для обработки задач, близких по значению к действию основной клавиши] [клавиши а, и А - зарезервированы для системы] b Q:UTIL\sort /n [Упорядочивание файлов по имени] В Q:UTIL\sort /е [Упорядочивание файлов по расширению] * Q:UTIL\sort /d [Упорядочивание файлов по дате создания] с Q:UTIL\cd+ [Сравнение двух каталогов] С Q:UTIL\calcul [Программа-калькулятор] ? Q:UTIL\copytune [Настройка параметров копировщиков] d Q:UTIL\date [Установка текущей даты] D Q:SERVICE\demon [Просмотр файлов в 16-ричном формате] \ Q:SERVICE\dump [Программа для вывода 16-ричного дампа файлов] е Q:UTIL\eliminat [Удаление из памяти резидентных программ и драйверов в интерактивном режиме] Е Q:UTIL\eliminat /r [Удаление из памяти всех резидентных программ] '20 [свободна (SS+e)] f Q:UTIL\from_trd [Чтение файлов с дисков в системе TR-DOS] F Q:MSDOS\from_msd [Чтение файлов с дисков в системе MS-DOS] { Q:UTIL\find [Поиск файла] g Q:UTIL\tree [Показать дерево каталогов диска] G [свободна] } [свободна] [h - зарезервирована для процедур печати] Н [свободна] ^ [SS+h свободна] i Q:SERVICE\image [Копирование образа диска из файла] I Q:SERVICE\sv_image [Копирование целого диска в файл] ' [SS+i свободна] j [свободна] J [свободна] [SS+j свободна] k Q:SHELL\coca [Копирование каталога со всеми подкаталогами] К [свободна] + [SS+k свободна] l Q:UTIL\free [Вывод количества свободных блоков на диске] L Q:UTIL\SPEED\freenew [Распечатка карты занятости блоков диска] = Q:UTIL\SPEED\freen Q:UTIL\SPEED\freenew [Зарезервировано под расширенную программу вывода карты занятости блоков диска (в базовый комплект не входит)] m @mon [Вызов резидентного монитора командной строки] M Q:UTIL\mon [ Монитор-интерпретатop командной строки] . Q:UTIL\mark [Программа поиска и отметки файлов по маске] n Q:SHELL\pan /#4F [Поиск на другом устройстве каталога, аналогичного текущему] N Q:SHELL\move [Перенос файлов из каталога в каталог] , Q:UTIL\SPEED\speed [Зарезервировано под программу оптимизации дискового пространства (в базовый комплект не входит)] [о, О, р, Р, q, Q и SS+q - клавиши зарезервированы для системы] [SS+O и SS+P - свободны] r Q:SHELL\remote [Удаление каталога вместе со всем содержимым] R Q:UTIL\fdir [Поиск и считывание файлов из испорченных каталогов] < [SS+r свободна] s [свободна] S Q:UTIL\show [Программа вывода системной информации на дисплей] | [свободна] t Q:UTIL\to_trdos [Запись файлов на диски в системе TR-DOS Т Q:MSDOS\to_msdos [Запись файлов на диски в системе MS-DOS] [свободна] u Q:UTIL\unicolor [Утилита для настройки цветов в программах] [U и SS+u свободны] v S:FONT\f_e_unit [Зарезервирована под редактор шрифтов (в базовый комплект не входит)] V S:LOTUS\s_f_tran [Зарезервирована под конвертор экранных файлов пакета LOTUS (в базовый комплект не входит)] / [свободна] w Q:UTIL\abba [Копировщики для дублирования дисков с А на В] W Q:UTIL\copy_all [To же на одном дисководе] '19 Q:UTlL\acca [To же с А на С] [х, X, SS+x, у, Y, SS+y, свободны] z Q:UTIL\arzt [Программа коррекции битовой карты диска, рекомендуется всегда запускать после remote.com] Z Q:UTIL\exhumer [Программа для считывания информации с испорченного диска] Q:UTIL\arzt+ [Программа уплотнения дискового пространства] [Некоторые специальные комбинации клавиш, доступные для определения пользователем] '4 [свободна (CS+3)] '5 [свободна (CS+4)] '12 [свободна (CS+0)] '15 [свободна (CS+9)] '17 [свободна (SS+ENTER)] '18 [свободна (SS+SPACE)] '22 [свободна (CS+SPACE)] '16 [также свободна (SS+A), но поскольку в большинстве программ она используется как клавиша отказа, во избежание путаницы использовать не рекомендуется.] Интерпретатор командной строки В предыдущей части мы с Вами изучили один из важнейших способов вызова наиболее часто используемых утилит и команд IS-DOS - вызов по специальным клавишам. Однако, далеко не всегда есть смысл определять клавишу для той или иной команды, ведь некоторые команды бывают нужны довольно редко, а под все утилиты со всеми возможными комбинациями параметров клавиш просто не хватит. Поэтому для организации оперативного обращения к системе в ней предусмотрен т. н. интерпретатор командной строки, в обязанности которого входит считывание и передача системе команд, вводимых пользователем в специальную область памяти, называемую "буфером командной строки". Ввод команд в этот буфер осуществляется при помощи специальной программы - монитора командной строки, которая называется mon.com и запускается обычно клавишей CS+m (в IS-DOS 2.0 и ниже - m). Существует также резидентный вариант монитора - mon.res, вызываемый клавишей m и обладающий рядом дополнительных возможностей, о которых пойдет речь чуть позже. Монитор командной строки открывает специальную область экрана - окно монитора, занимающее три верхних строки. В левом верхнем углу этой области находится мигающий курсор, такой же, как и в редакторе текстов. Вообще, монитор командной строки представляет собой текстовый редактор в миниатюре, только созданный текст не сохраняется в виде файла, а передается в буфер командной строки, где и обрабатывается интерпретатором. Управляющие клавиши монитора: CS+5 - курсор влево CS+6 - курсор вниз CS+7 - курсор вверх CS+8 - курсор вправо CS+0 - удалить символ слева SS+W - удалить символ под курсором SS+E - вставить пробел CS+1 - режимы Pyc/Lat CS+2 - режимы Заглавные/Строчные CS+3 - режимы Вставка/Замена ENTER - завершение ввода и выполнение строки CS+9, SS+ENTER, SS+CS, SS+A, SS+SPACE - выход из монитора без выполнения строки, содержимое буфера не сохраняется Как Вы уже поняли, Нажатие клавиши ENTER приводит к завершению ввода команды и запускает интерпретатор командной строки. По окончании работы команды, как правило, Вы возвращаетесь обратно в монитор. При этом, если команда выполнена успешно, окно редактирования очищается и курсор устанавливается в левый верхний угол. Если в командной строке допущена синтаксическая ошибка, например неправильно заданы параметры, командная строка сохраняется на экране, а курсор устанавливается в конец строки, после чего Вы получаете возможность исправить ошибку и вновь попытаться выполнить команду, нажав ENTER, если у Вас и после этого ничего не получится - нажмите одну из клавиш выхода и внимательно прочтите help-файл к необходимой Вам программе. Если при выполнении Вашей команды произойдет системная ошибка - интерпретатор сообщит об этом в специальном окне в нижней половине экрана, (расшифровку номеров системных ошибок см. в файле S:HELP\error.txt), после чего, нажав любую клавишу, Вы сможете выйти в оболочку IS-DOS и поразмышлять о причинах такого печального результата. В случае, если система не может найти на диске нужный Вам файл, в окне ошибок появится надпись "No filename". Если Вы вдруг получите такое сообщение -помните, что оно не всегда означает, что данного файла нет на диске вообще, просто укажите полный путь к нему, т. е. в каком подкаталоге его следует искать. При работе в мониторе командной строки, в отличие от текстового редактора основные режимы (Pyc/Lat, Заглавные/Строчные, Вставка/Замена) не индицируются на экране, что создает некоторые трудности, однако проблема эта легко разрешается при помощи специальной резидентной программы indi.res. Установите и запустите ее командами Q:RES\set Q:RES\indi.res и @hidi, и Вы увидите в правом нижнем углу окна редактирования стандартную индикацию режимов: lat - латинские символы, рус - русские, ins - режим вставки, ovr - режим замены, индикация режимов заглавными буквами сигнализирует о включении режима заглавных букв. Резидентный монитор командной строки mon.res, о котором уже упоминалось выше, выполняет те же функции, что и mon.com, однако обладает рядом дополнительных возможностей, значительно облегчающих работу с командной строкой. Внутри резидентного монитора имеется специальный буфер, размером 256 байт, в котором запоминаются команды, введенные нажатием ENTER. Это избавляет Вас от необходимости заново набирать текст команды, которую необходимо вызвать несколько раз. Кроме того, Вы можете отредактировать текст команды даже в случае системной ошибки, или ошибки "No filename". B случае выхода по клавишам отказа, команда не запоминается и содержимое буфера остается неизменным. Команды в буфере резидентного монитора располагаются в порядке их ввода, образуя подобие кольцевого стека. Для перемещения по нему в поисках нужной команды Вы можете использовать следующие клавиши: SS+SPACE - перейти к предыдущей команде SS+CS, CS+9 - перейти к следующей команде Таким образом, для вызова последней введенной команды необходимо нажать SS+SPACE, а для вывода самой ранней из сохранившихся в буфере - SS+CS. По мере заполнения буфера, более старые команды стираются, содержимое стека смещается на одну строку и новая команда записывается на его вершину. Максимальное количество запоминаемых команд зависит от их длины и обычно составляет около 20. Внешний вид монитора с установленной программой индикации режимов показан на рис. 11: ┌──────────────────────────────────────────┐ │ │ │A:UTIL\date ins ovr │ │╔══ A:IsDos3.5 ══╗╔══ A:IsDos3.5 ══╗│ │║ SHELL ║║ SHELL ║│ │║ UTIL ║║ UTIL ║│ │║ RES ║║ RES ║│ │║ SERVICE ║║ SERVICE ║│ │║ EDIT ║║ EDIT ║│ │║ HELP ║║ HELP ║│ │║ PRINT ║║ PRINT ║│ │║ MSDOS ║║ MSDOS ║│ │║ autoexec bat 1 ║║ autoexec bat 1 ║│ │║ menu mnu 2 ║║ menu mnu 2 ║│ │║ extent txt 2 ║║ extent txt 2 ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │║ ║║ ║│ │╚═══════════════════╝╚═══════════════════╝│ └──────────────────────────────────────────┘ Рис. 11. Резидентный монитор имеет еще одну полезную особенность - при нажатии клавиши SS+ENTER в текущую позицию курсора переносится имя файла или каталога, на котором перед вызовом монитора находился курсор файловой панели. Выход из монитора с отказом от выполнения строки, ввиду занятости остальных клавиш осуществляется только при помощи SS+A. Программа индикации режимов indi.res работает с резидентным монитором так же, как и с com'овским. Позволю себе напомнить, что при работе с резидентным монитором категорически запрещается удалять резиденты и драйверы, установленные раньше, чем сам mon.res, это обязательно вызовет перемещение в памяти самого монитора и приведет к гарантированному сбою в работе. В таких случаях пользуйтесь программой mon.com. Теперь поговорим более подробно о командах в системе IS-DOS. Команды бывают внутренние и внешние. Внутренними называются команды, расположенные в теле системы. Таких команд всего пять: L_S /n - назначить устройство n системным, L_Q /n - назначить устройство n быстрым, L_T /n - назначить устройство n текущим, CAT s - сделать текущим подкаталог, описанный в строке s, @m - запустить резидентную программу m где n - символьное обозначение устройства (как явные -А, В, С, D, Е, F, так и условные - S, Q, Т), s - полный путь к необходимому подкаталогу (например: Q;RES\TRANS\HELP\), m - имя, под которым установлена резидентная программа. Примеры внутренних команд IS-DOS: L_S /А [назначить устройство А системным] L_Q /S [назначить быстрым то же устройство, которое назначено как системное] CAT S:UTIL\HELP [открыть (сделать текущим) каталог S:UTIL\HELP] @indi - запустить резидентную программу, установленную под именем indi Разумеется, перед вызовом команды @ необходимо, чтобы резидентная программа была установлена утилитой set.com. Внешними командами в IS-DOS называются команды, подгружаемые с диска на время их исполнения. По сути любой com'овский файл может считаться внешней командой. Для того, чтобы вызвать любую внешнюю команду необходимо в командной строке набрать имя этой команды со всеми необходимыми параметрами, не забыв указать полный путь к ней. Если команда вызывается из текущего каталога, путь указывать не обязательно. Примеры вызова внешних команд: Q:UTIL\diskname [вызов команды изменения имени диска] Q:SHELL\exebat T:SERVICE\BLK\raml28.bat [вызов интерпретатора bat-файлов и исполнение файла raml28.bat] Q:RES\set Q:RES\mon.res /e [удаление резидентной программы mon.res] set mon.res /е[то же, если на текущей панели открыт каталог RES\] Q:UTIL\date [вызов программы установки текущей даты] date [то же, если на текущей панели открыт каталог UTIL\] Командные bat-файлы Работать в мониторе командной строки, как уже говорилось выше, хорошо, если команду нужно вызвать один - два раза. Если же Вам необходимо часто использовать какую-либо последовательность команд, особенно если она достаточно велика, то лучше создать т. н. командный файл, который позволит запускать эти команды неограниченное количество раз. Командные файлы в системе IS-DOS представляют собой специальные текстовые файлы с расширением bat. B этих файлах содержатся тексты команд, которые необходимо выполнить. Формат задания команд в файлах такой же, как и в мониторе командной строки - по сути каждая строка bat-файла - это обычная командная строка. Интерпретацией bat-файлов в системе IS-DOS занимается специальная программа, которая называется exebat.com и располагается в каталоге SHELL. Она считывает из файла очередную строку и помещает ее в специально отведенную область памяти, где ей уже занимается интерпретатор командной строки системы. Командные файлы могут быть вложенными, т. е. один командный файл может вызывать другой командный файл. Максимальная глубина вложения составляет 120 файлов. По окончании отработки каждого из вложенных файлов управление передается вызвавшему его файлу. Работу вложенных командных bat-файлов проще всего представить на конкретном примере, изобразив графически последовательность исполнения команд. Например, если у нас в каталоге SHELL есть четыре вот таких bat- файла: [main.bat] Q:UTIL\eliminat /r g:SHELL\exebat Q:SHELL\checksum.bat Q:SHELL\exebat Q:SHELL\restres.bat [checksum.bat] Q:RES\set Q:RES\univ.res Q:RES\set Q:RES\calc.res Q:RES\set Q:RES\univ.res /e Q:RES\set Q:RES\calc.res /e [restres.bat] CAT Q:RES set gmen.res set mkdir.res set date+3.res ebat Q:SHELL\setmon.bat [setmon.bat] set mon.res set indi.res то последовательность команд при их выполнении будет следующей: [начало работы main.bat] Q:UTIL\eliminat /r [начало работы checksum.bat] Q:RES\set Q:RES\univ.res Q:RES\set Q:RES\calc.res Q:RES\set Q:RES\univ.res /e Q:RES\set Q:RES\calc.res /e [конец работы checksum.bat] [начало работы restres.bat] CAT Q:RES set gmen.res set mkdir.res set date+3.res mon.bat] set mon.res set indi.res .bat] [конец работы restres.bat] [конец работы main.bat] B системе IS-DOS существует еще одна программа для работы с bat- файлами - bat.res. Это резидентная программа, которую удобно использовать при работе с большим числом bat-файлов, чтобы не вызывать каждый раз exebat.com. Программа bat-res устанавливается в систему при помощи команды Q:RES\set Q:RES\bat.res, после чего для вызова bat- файла достаточно ввести команду @bat, или даже просто @, указав имя вызываемого файла. Например: @ main.bat или @bat main.bat При этом имя файла должно отделяться от символа "@" или команды "@bat" пробелом, иначе система воспримет его как имя резидентной программы. Также обязательно указывать расширение bat. Программа bat.res имеет три дополнительных команды, начинающиеся с символа "*": *L+ - выполняемые командные строки выводятся на дисплей в верхней части экрана. *L- - выполняемые строки не выводятся на дисплей. *Е - специальная команда, которая служит для выхода из цепочки вложенных bat-файлов. Она ставится в начале командной строки, после исполнения которой происходит выход в оболочку с восстановлением программного стека. Команды можно набирать как прописными, так и строчными буквами. Используя программу bat.res, не забывайте о том, что во время ее работы опасно перемещать резидентные программы, удалять резидентные программы и драйверы, так как это может вызвать сброс системы из-за перемещения самой программы bat.res. Если командами eliminat или set удалить резидентную программу, установленную раньше, чем bat.res, то последствия могут быть непредсказуемыми. В таких случаях лучше все- таки воспользоваться услугами exebat.com. Составление USER-меню. Система USER-меню IS-DOS позволяет заранее запрограммировать вызов каких-либо часто используемых Вами утилит или программ, оформив для этого специальное окно со списком этих программ, курсором для выбора и краткими комментариями. В этой главе речь пойдет о том, как правильно самому написать USER-меню к использовать его для своих целей. USER-меню представляет собой специальное определяемое пользователем окно, состоящее из произвольного числа строк. Строки в USER-меню бывают двух видов - текстовые строки, содержащие заголовки меню, разделительные линии и другую полезную информацию и рабочие строки, по которым перемещается курсор меню - горизонтальная линия, отмечающая выбранную в данный момент строку. Курсор меню перемещается при помощи курсорных клавиш вверх и вниз, нажатие ENTER на одной из рабочих строк вызывает выполнение командной строки, закрепленной за этой рабочей строкой меню. Выход из USER-меню может быть осуществлен в любой момент нажатием стандартной комбинации клавиш SS+A. Конфигурация, внешний вид и список вызываемых команд для USER-меню содержится в текстовом файле в специальном формате, который будет описан чуть позже. Интерпретацией этого файла занимается программа menu.com, находящаяся обычно в каталоге SHELL (до 06.95 - UTIL). Программа menu.com при вызове из bat-файла или командной строки без параметров ищет в текущем каталоге файл с именем menu.mnu (до 06.95 - menu.txt), содержащий описание меню, а не найдя его в текущем каталоге, ищет файл с таким же именем в каталоге SHELL. Это позволяет создавать практически в любом каталоге свои локальные USER-меню, а общее, универсальное меню, вызываемое при отсутствии локального, держать в каталоге SHELL. Кроме того при вызове из bat-файла, или командной строки программе menu.com может быть задано конкретное имя файла, содержащего описание необходимого меню. Это позволяет, в частности, закрепить вызов конкретного USER-меню за какой-либо клавишей в файле extkey.txt, или организовать вызов одного меню из другого. Вызов команды menu.com с параметром позволяет также держать в одном каталоге более одного файла меню. По неофициальному стандарту, все файлы с описаниями USER-меню имеют расширение mnu. На базовой дискете IS-DOS все файлы USER-меню, за исключением локальных, собраны в специальный каталог SHELL\MNU\. Содержание в одном каталоге файлов вложенных меню позволяет ускорить переход из одного меню в другое, так как при этом не надо будет переходить из каталога в каталог. Теперь рассмотрим более подробно структуру текстового файла, содержащего описание USER-меню. Как и любой другой текстовый файл, он должен состоять из текстовых строк, содержащих необходимую информацию. Первый символ каждой строки считается управляющим и информирует программу menu.com о том, какая именно информация содержится в данной строке. Управляющие символы всегда набираются в латинском регистре, если же вместо латинского "Р" вы наберете русское "Р", следующая за ним строка будет проигнорирована. Управляющие символы: К - строка, содержащая служебную информацию и параметры окна меню (описание формата см. далее) Р - строка для внутренних команд DOS, вызываемых при входе в меню Т - командная строка, выполняемая при нажатии клавиши SS+A (отказ) а - текстовые строки меню, не обрабатываемые курсором А - рабочие строки меню, обрабатываемые курсором С - командные строки, содержащие команды, выполняемые при нажатии ENTER на соответствующей рабочей строке меню с - командные строки, предназначенные для вызова больших программ с адресом загрузки ниже 25000 Z - строки для внутренних команд DOS, вызываемых при нажатии ENTER перед выполнением соответствующей командной строки Н - строки текстов-подсказок, которые могут выводиться на экран при установке курсора на соответствующую рабочую строку Если в командной строке после управляющего символа С, с или Т стоит символ "*", то имя файла, на котором находился панельный курсор в момент вызова USER-меню, передается в качестве параметра вызываемой команде. Поясним на примере: Допустим, что в момент вызова меню панельный курсор указывает на имя файла prise.txt, тогда командная строка вида C*Q:SHELL\delete вызовет выполнение команды Q:SHELL\delete prise.txt Строки К, Р и Т определяют параметры и команды для всего меню в целом, поэтому в каждом меню не может быть более одной строки К, строки Р и строки Т. Строки К, Р, Т, Н и Z не являются обязательными, при отсутствии строки К устанавливаются параметры по умолчанию (см. далее). Положение строк К, Р и Т в тексте значения не имеет, в каком бы месте файла Вы их ни поместили - система все равно их найдет. Строки А и а располагаются в том порядке, в котором они должны быть выведены в окне меню. Связанные с ними строки Z, Н, С и c должны располагаться после соответствующей им строки А. Такая особенность позволяет использовать одну строку команд или подсказок для нескольких строк меню, но требует более внимательного отношения к тексту. Поясним на примере: Допустим, мы имеем файл menu.mnu следующего содержания: а Работа с MS-DOS а А ВЫХОД В SHELL АПИСАТЬ НА MS-DOS ДИСКИ НЗапись отмеченных файлов CQ:MSDOS\to_msdos.com АЧИТАТЬ ИЗ MS-DOS ДИСКА НЧтение дисков MS-DOS CQ:MSDOS\from_msd.com Этот файл содержит две серьезных ошибки: 1. При установке курсора на строку "ВЫХОД В SHELL" система выведет подсказку, относящуюся к следующей строке, так как соответствующая этой строке подсказка отсутствует. 2. При нажатии ENTER на той же строке будет исполнена командная строка, относящаяся к следующей строке меню, так как соответствующая командная строка отсутствует. Эту проблему можно решить как минимум двумя способами: Вариант 1 - задать для первой строки А пустые строки С и Н, тогда текст меню будет иметь вид: а Работа с MS-DOS а А ВЫХОД В SHELL Н С АПИСАТЬ НА MS-DOS ДИСКИ НЗапись отмеченных файлов CQ:MSDOS\to_msdos.com АЧИТАТЬ ИЗ MS-DOS ДИСКА НЧтение дисков MS-DOS CQ:MSDOS\from_msd.com Пустые строки Н, Z, С и с можно опустить, если в Вашем меню нет ни одной такой строки. Вариант 2 - перенести строку "ВЫХОД В SHELL" в конец файла и дописать строку подсказки для нее: а Работа с MS-DOS а НАПИСАТЬ НА MS-DOS ДИСКИ Запись отмеченных файлов CQ:MSDOS\to_msdos.com АЧИТАТЬ ИЗ MS-DOS ДИСКА НЧтение дисков MS-DOS CQ:MSDOS\from_msd.com А ВЫХОД В SHELL Н Выход в оболочку Поскольку строка "ВЫХОД В SHELL" оказалась в конце текста, при ее выборе ничего не происходит и отработка меню завершается с выходом в оболочку. Формат строки ключей К: Строка К в описании USER-меню имеет вид: К/символ число / символ число ... Числа можно записывать в десятичном формате (по умолчанию), например, 255; в 16-ричном с префиксом #, например, #1F; в октальном с префиксом о, например, о12; а также в двоичном с префиксом %, например, %01100011. Разделять ключи пробелами не требуется, так как ключи и так отделены друг от друга символом "/". Строка К интерпретируется до тех пор, пока не будет встречен символ пере- вода строки, поэтому разбивать ее на несколько строк нельзя. Также в одном тексте меню не должно быть более одной строки К, в противном случае интерпретируется только первая из них. Ключи USER-меню: А - байт конфигурации меню. бит 1 - вид окна меню, "0" - без тени, "1" - с тенью, бит 2 - реакция на ENTER, "0" - интерпретируются строки с, С и Z, после отработки осуществляется выход в оболочку, "1" - выполняются только строки внутренних команд Z, после чего происходит возврат в меню. бит 3 - рамка окна, "0" - одинарная, "1" - двойная, бит 4 - отработка строки Р при входе в меню, "0" - выполнить, "1" - игнорировать. биты 5 - 8 - не используются и могут содержать любые значения. Все эти режимы удобно задавать десятичными числами 1, 2, 4 и 8 соответственно, при этом суммарные значения включают несколько режимов одновременно, например: /А5 - окно с тенью и двойной рамкой. В - второй байт конфигурации, биты 1 и 2 - не используются. бит 3 - вид курсора, "0" - курсор выводится на всю ширину окна, "1" - курсор выводится на внутреннюю область окна, не затрагивая область рамки, бит 4 - не используется. бит 5 - вид окна подсказки, "0" - с рамкой, "1"- без рамки. биты 6 и 7 - не используются. Эти значения также удобно задавать десятичными числами (4 и 16 соответственно), также возможно суммирование значений, например: /В20 - окно подсказки без рамки, курсор внутри рамки окна. Е - Х-координата окна меню в знакоместах 8*8 пикселей. D - Y- координата окна меню в строках. Размеры окна система устанавливает автоматически в соответствии с количеством строк в меню и максимальной длиной строки. Н - Х-координата окна подсказки в знакоместах 8*8 пикселей. G - Y-координата окна подсказки в строках. N - высота подсказки в строках. С - ширина окна подсказки в знакоместах 6*8 пикселей. F - номер строки, на которой располагается курсор при вызове меню. К - цвета окна меню Т - цвета тени окна меню J - цвета курсора меню О - цвета рабочего курсора меню I - цвета окна подсказки Цвета задаются в стандартном формате: биты 0 - 2 - цвет чернил биты 3 - 5 - цвет бумаги бит 6 - яркость бит 7 - мерцание Для байта цветов тени биты 6 и 7 игнорируются. Как уже было сказано выше, при отсутствии строки К параметры устанавливаются по умолчанию. Значения параметров по умолчанию приводятся в табл. 5. Таблица 5. Значения параметров меню по умолчанию. ┌─────────────┬────────────────────────┐ │ Параметр │ Значение по умолчанию │ ├─────────────┼────────────────────────┤ │ А │ 0 │ │ В │ 16 │ │ Е │ Центровка по X │ │ D │ Центровка по Y │ │ Н │ 0 │ │ G │ 0 │ │ N │ 1 │ │ С │ 32 │ │ К │ %00001111 │ │ Т │ 0 │ │ J │ %00111001 │ │ О │ %00100000 │ │ I │ %00001111 │ └─────────────┴────────────────────────┘ Пример USER-меню: ТСАТ Q:SHELL\ РСАТ Q: K/N3/BO/A5/G1/EO/D4/T%00000001/K%00101000/J 00001110/О%01001110/С38 a USER MENU а А РАБОТА С ДИСКОМ Н Дисковые утилиты, работа с файлами CQ:SHELL\menu Q:SHELL\MNU\disk.mnu ZCAT Q:UTIL\ А РЕЗИДЕНТЫ CQ:SHELL\menu Q:SHELL\MNU\res.mnu Н Установка драйверов; и резидентов А РАБОТА С TR-DOS CQ:SHELL\menu Q:SHELL\MNU \tr_dos.mnu Н Обмен файлами с системой TR-DOS А РАБОТА С MS-DOS CQ:SHELL\menu Q:SHELL\MNU\ms_dos.mnu Н Обмен файлами с системой MS-DOS АДЕРЕВО КАТАЛОГОВ CQ:UTIL\tree Н Вывод дерева каталогов текущего диска А СПРЯТАТЬ ФАЙЛЫ Н Установка атрибутов "Скрытый файл" CQ:SHELL\exebat Q:RES\attrh.bat А УВИДЕТЬ ФАЙЛЫ Н Снятие атрибута "Скрытый файл" CQ:SHELL\exebat Q:RES\attr.bat А ВЫХОД В SHELL Н Выход в оболочку IS-DOS Заключение. Итак, на этом я завершаю первую книгу из серии "Библиотечка пользователя IS-DOS" и надеюсь, что Вы, уважаемые читатели прочли ее если не с удовольствием, то по крайней мере с интересом. Еще раз хочу напомнить, что эта книга ни в коей мере не претендует на всеохватность и содержит, в основном, первоначальные сведения, необходимые для успешного и быстрого освоения системы и приобретение практических навыков работы с программами в среде IS-DOS. В следующих выпусках планируется выпуск подробного описание текстового редактора IS-EDIT, признанного самым мощным и удобным на сегодняшний день текстовым редактором для ZX-совместимых компьютеров, на очереди также подробное описание утилит IS-DOS, практическое пособие по конфигурации и настройке системы, описание программ печати и просмотра файлов и многое другое. Все Ваши пожелания и замечания по этой книге и по другим материалам, касающимся IS-DOS Вы можете высказать автору лично по телефону 245-00-91 (с 10.00 до 16.00 по рабочим дням, спросить Программный отдел), по этому же телефону Вы можете получить оперативную консультацию по всем вопросам, касающимся системы IS-DOS и прикладных программ, работающих в ее среде. Звоните в Iskra Soft - там Вам всегда будут рады! С уважением, автор. Санкт-Петербург 1995 г. Приложение. Краткий путеводитель по системному диску IS-DOS. Данный путеводитель содержит список всех файлов, составляющих базовый комплект IS-DOS с краткими пояснениями к каждому файлу. Файлы в списке располагаются в алфавитном порядке имен и сгруппированы в разделы, соответствующие каталогам диска, что позволяет быстро найти информацию по любому интересующему Вас файлу. Путеводитель не претендует на роль описания и содержит только обзорную информацию по файлам и командам базового диска. Каталог SHELL содержит, в основном, системные утилиты и программы файловой оболочки: cache.com - программа для обслуживания кэш-памяти в системе IS-DOS (пересоздание, изменение размера). coca.com - программа для копирования каталога со всеми входящими в него файлами и подкаталогами. copy.com - быстрый копировщик файлов, копирует файлы по маске из командной строки. copy25.com - копировщик файлов по маске, автоматически вызывается программой coca.com, но может быть использован и самостоятельно. delete.com - программа для удаления файлов. exebat.com - интерпретатор командных bat-файлов. exepac.com - программа для распаковки кодовых блоков, обработанных утилитой cdpacker.com (необходима для запуска программы печати экранных файлов ps.com. exescr.com - программа для вывода на дисплей экранных файлов. extkey.txt - текстовый файл с описанием реакции системы на нажатие "горячих клавиш". extprint.txt - текстовый файл, определяющий программы печати различных файлов. extview.txt - текстовый файл, определяющий программы просмотра различных файлов. filecopy.com - основной многофункциональный копировщик файлов. flush.com - утилита для управления режимом работы кэш- памяти. gmen.com - программа назначения устройств (быстрого, системного и текущего). help.com - программа вывода файла-подсказки. mask.com - программа для работы с файловыми панелями по маске- шаблону. menu.com интерпретатор USER-меню. menu.mnu - текстовый файл с описанием основного меню. mkdir.com - программа для создания каталогов. move.com - программа для копирования файла с уничтожением файла- источника (перенос). remote.com - программа для быстрого удаления файлов и каталогов со всеми входящими в них файлами и подкаталогами, в том числе и защищенными (после ее применения необходимо использовать утилиту arzt.com для коррекции карты занятости блоков диска). rename.com - переименование файлов и изменение атрибутов файла в каталоге. tv.com - программа для просмотра текстовых файлов. viewtune.com - программа для настройки параметров tv.com. wait.com - программа для эмуляции двух логических устройств на одном дисководе (необходима для работы англо-русского словаря). Кроме вышеперечисленных файлов каталог SHELL содержит два подкаталога: HELP и MNU. Подкаталог HELP содержит help-файлы по всем программам, расположенным в каталоге SHELL, а подкаталог MNU содержит 5 файлов с описаниями USER-меню, входящих в состав базового комплекта. B этот каталог также рекомендуется помещать все ваши файлы USER-меню, кроме, естественно, локальных. По умолчанию в подкаталоге MNU содержатся файлы: disk.mnu - меню "Работа с диском". ms_dos.mnu - меню "Работа с MS-DOS". res.mnu - меню "Резидентные программы". rkey.mnu - меню "Расположение русских клавиш". tr_dos.mnu - меню "Работа с TR-DOS". Каталог UTIL содержит утилиты общего назначения: abba.com - дублирующий копировщик, с устройства А на В, с С на D и обратно, рекомендуется для создания рабочих копий системы. acca.com - вариант копировщика, работающий с устройства А на С, с В на D и обратно. adbc.com - вариант копировщика, работающий с устройства А на D, с В на С и обратно. arzt.com - программа для поиска на диске "потерянных" блоков и автоматического исправления карты занятости диска. arzt+.com - программа для заполнения пустых пространств на диске, оставшихся после удаления файлов, переносит последние файлы на свободные места в середине диска. blk_tune.com - программа настройки драйверов блочных устройств. calcul.com - программа-калькулятор. calculat.com - калькулятор с дополнительными возможностями. cd+.com - программа для сравнения каталогов на текущей и альтернативной панелях. cls.com - утилита для очистки экрана, полезна для bat-файлов. cmp.com - побитовое сравнение двух файлов. copy_all.com - дублирующий копировщик для создания рабочих копий системы на одном дисководе. copytune.com - программа для настройки параметров копировщиков filecopy.com, copy.com и др. date.com - программа для установки и индикации текущей даты, рекомендуется вставить ее вызов в autoexec.bat для установки даты при загрузке системы. dev.com - установка логических имен устройств, обслуживаемых различными драйверами. diskname.com - программа для установки метки-имени диска. eliminat.com - программа для удаления из памяти резидентных программ и драйверов. exhumer.com - программа для считывания текстовой информации с "убитых" дисков. fdir.com - программа, позволяющая получить доступ к подкаталогам и файлам уничтоженного каталога. fileshow.com - программа для вывода на дисплей карты занятости диска и изображения на ней локализации текущего файла. find.com - поиск заданного файла на диске. free.com - определение количества свободного места на диске. freenew.com - отображение на дисплее карты занятости диска. from_trd.com - копировщик файлов с дисков TR-DOS на диски IS-DOS. mark.com - поиск и отметка файлов по шаблону-маске. mon.com - монитор командной строки. path.com - программа установки путей поиска файлов. path.txt - список путей для поиска файлов. qu.com - восстановление стертых файлов. renam.com - программа для переименования файлов. run.com - запуск программы, задаваемой в качестве параметра по запросу "Run ? Y/N", применяется обычно в bat-файлах. show.com - программа вывода системной информации. sort.com - сортировка файлов в каталоге. to_trdos.com - копировщик файлов с дискет IS-DOS на TR-DOS. tree.com - вывод на дисплей "Дерева каталогов" и быстрый переход в нужный каталог. treecat.com - программа для составления "Дерева каталогов". treefile.com - программа формирует список всех файлов на диске по каталогам с указанием даты создания и размера в блоках. unicolor.com - универсальная утилита настройки цветов в программах IS-DOS. wait_ent.com - программа останавливает выполнение командного файла, ожидая нажатия клавиши ENTER. Каталог UTIL имеет всего один подкаталог HELP, содержащий описания файлов каталога UTIL. Каталог RES содержит резидентные программы и драйверы некоторых устройств: attr.bat - командный файл для автоматического снятия атрибута "скрытый" у всех файлов в текущем каталоге. attrh.bat - командный файл- для установки атрибута "скрытый" у отмеченных файлов. bat.res - резидентный интерпретатор bat-файлов. calc.bat - командный файл для подсчета контрольной суммы файлов. calc.com - программа для подсчета контрольной суммы файла. calc.res - резидентная программа для подсчета контрольных сумм файлов. ch.bat - командный файл для проверки контрольной суммы файлов. ch.com - программа для проверки контрольной суммы файла. ch.res - резидентная программа для проверки контрольной суммы файла. choose.com - расширенная программа выбора устройств, позволяет работать с восемью устройствами вместо шести. choose.res - резидентный вариант программы выбора устройств. clock.res - программа эмуляции часов, отображающая текущее время в правом верхнем углу дисплея. clockset.bat - командный файл для запуска эмулятора часов и установки текущего времени. clockset.com - утилита для установки текущего времени. coder.res - программа-перекодировщик текстов, переводит файлы из IBM-формата в IS-DOS, а также из wet-формата в обычный. contig.res - программа для преобразования сегментированных файлов в непрерывные. cpfil.res - программа для побайтного сравнения двух файлов. date+3.res - программа выводит на дисплей в специальной строке файловой оболочки дату создания текущего файла и другую полезную информацию. del.res - удаление группы файлов, может работать по маске из командной строки. dry.bat - командный файл для преобразования текстовых файлов из wet-формата с обычный (используется в USER-меню "Работа с диском". dump.com - программа для вывода 16-ричного дампа текущего файла в текстовый файл. dump.res - резидентный вариант программы dump. gmen.res - программа для назначения устройств (системного, быстрого и текущего). indi.res - программма индикации регистров клавиатуры для монитора командной строки, junc.com - утилита для обслуживания программ-перекодировщиков, а также драйверов символьных устройств ввода-вывода, позволяет подключить к файлу символьную таблицу перекодировки. mkdir.res - программа для создания каталога. mon.res - резидентный монитор командной строки. ren.res - программа для переименования файлов и изменения атрибутов, работающая из командной строки по маске. scan.res - утилита для обслуживания резидентных программ, осуществляет поиск и подбор файлов по маске. set.com - программа для загрузки резидентных программ. standart.bat - командный файл для загрузки стандартною набора резидентных программ, устанавливаемых в системе по умолчанию, полезен после удаления резидентов командой eliminat.com с ключом /т. star.bat - командный файл для запуска программы "Звездное небо". star.res - резидентная программа "Звездное, небо" для гашения экрана в паузах во время работы. svres.com - программа для сохранения резидентной программы или драйвера, установленного в памяти на диске, полезна при модификации драйверов или резидентных программ. univ.res - утилита для обслуживания резидентных программ, осуществляет поиск и подбор файлов по маске или отметке для других резидентных программ. Каталог RES содержит еще 4 подкаталога: HELP, в котором собраны файлы описаний программ, TRANS, содержащий набор программ- перекодировщиков на все случай жизни, TYP с драйверами дисплея на 42 и 64 символа в строке и KEY с драйверами клавиатуры. Подкаталог TRANS содержит следующие программы: bas_is.com, bas_is.res - перекодировщики из формата SPECTRUM-BASIC в текстовый формат IS-DOS. cc_is.com - перекодировщик из формата HiSoft С Compiler в текстовый формат IS-DOS. convert.com, convert.res - перекодировщики из формата TLW2M (производства МОА с нестандартной кодировкой). from_tlw.com - перекодировщик из формата TLW2+ (производства ф. Кордиал с кодировкой КОИ7). gens_is.com, gens_is.res - перекодировщики из формата ассемблера GENS в текстовый формат IS-DOS. ibm_is.com, ibm_is.res - перекодировщики из формата IBM в текстовый формат IS-DOS (убирает второй байт перевода строки). inv.com - сервисная программа для переключения таблиц кодовых таблиц на обратную перекодировку. is_cc.com - перекодировщик из текстового формата IS-DOS в формат HiSoft С Compiler. is_gens.com, is_gens.res - перекодировщик из текстового формата IS- DOS в формат ассемблера GENS. is_ibm.com, is_ibm.res - перекодировщик из текстового формата IS- DOS в формат IBM (вставляет второй байт перевода строки). is_pas.com - перекодировщик из текстового формата IS-DOS в формат HiSoft PASCAL. pas_is - перекодировщик из формата HiSoft PASCAL ф текстовый формат IS-DOS. tasw.com, tasw.res - перекодировщики из формата текстового редактора TASWORD в текстовый формат IS-DOS. tran.res - универсальный перекодировщик, работающий с кодовыми таблицами, присоединяемыми утилитой junc.com (файлы таблиц собраны в каталоге Q:RES\TRANS\TABL). Подкаталог TABL каталога TRANS содержит разнообразные таблицы для перевода текстов из разных форматов в формат IS-DOS. При необходимости можно создать при помощи утилиты inv.com таблицы и для обратной перекодировки. Список таблиц: bulg_alt.cod - Болгарская кодировка koi8_alt.cod - КОИ8 main_alt.cod - Основная ГОСТ tasw_alt.cod - TASWORD tlwlms.cod, tlw2ms.tab - TLW2M с нестандартной кодировкой МОА Подкаталог TYP каталога RES содержит обычно три драйвера дисплея с командными файлами, необходимыми для их установки: ty42.typ - стандартный драйвер дисплея 42 символа в строке. ty42_f.typ - расширенный драйвер дисплея, позволяющий выводить также графические образы символов с кодами меньше 20Н (полезен при отладке программ печати). ty64.typ - дополнительный драйвер 64 символа в строке, применяется в текстовом редакторе и программе просмотра текстовых файлов tv.com. Подкаталог KEY каталога RES содержит обычно драйвер стандартной клавиатуры ZX SPECTRUM и набор таблиц, позволяющих выбрать различные варианты раскладки русских символов на клавиатуре. С июля 1995 г. выпущен новый, расширенный драйвер клавиатуры также с набором таблиц. Он позволяет более удобно организовать работу в текстовом редакторе за счет увеличения числа функциональных клавиш. Итак, содержимое подкаталога KEY: ktest.com - утилита для вывода на дисплей кода нажатой клавиши, полезна при составлении файла extkey.txt и разработке своих программ в среде IS-DOS. ttyin.key - стандартный драйвер клавиатуры ZX SPECTRUM. йцукен.tab, цукенг.tab, яверты.tab - различные варианты раскладки русских символов. йцукен.bat, цукенг.bat, яверты.bat - командные файлы для установки различных раскладок русских символов. Каталог SERVICE содержит, главным образом, системные файлы и утилиты, необходимые для настройки, конфигурации и обслуживания системы: atomizer.com (в версиях до 3.0 - atom.com) - утилита для подключения к оболочке ink-файла, содержащего измененные цвета. bad.com - утилита для автоматического поиска и исключения из карты занятости диска дефектных блоков. boot.com - утилита для формирования области системного загрузчика при создании новой системной загрузочной дискеты. check.com - утилита для управления режимом автоматической проверки контрольных сумм com-файлов при их запуске. con.com - утилита для присоединения измененного системного файла к загрузочной области диска (применяется после перенастройки системы и сохранения новой конфигурации программой sv. com). connect.bat - командный файл, осуществляющий подключение системных файлов и формирующий загрузочный диск. create.com - программа высокоуровневого форматирования устройств для IS-DOS (формирует структуру каталогов). demon.com - монитор для просмотра содержимого диска в 16-ричном, или символьном виде с возможностью дизассемблирования (по типу программы DOCTOR Н. Родионова). doctor.com - утилита для тестирования и восстановления дискет в формате IS-DOS 800K. doctor_2.com - утилита для тестирования и восстановления дискет в формате TR-DOS 630K. format.com - утилита для низкоуровневого форматирования дискет в формате IS-DOS. image.com - программа для распаковки образа блочного устройства, предварительно сохраненного в файле программой sv_image.com, полезна для быстрой инсталляции электронного RAM-диска. is_dos.sys - основной системный файл, содержащий ядро системы IS- DOS, а также драйверы и резидентные программы, устанавливаемые в системе по умолчанию. is_tune - утилита для настройки цветов в программах format.com, doctor.com и др. isrld.com - программа для быстрой перезагрузки системных файлов, полезна при необходимости оперативного изменения конфигурации. shell.com - рестарт файловой оболочки. shelltune.com - программа для настройки цветов файловой оболочки и сохранения их в ink-файле для последующего подключения утилитой atomizer.com. sv.com - программа для сохранения в системном файле копии текущей системы со всеми установленными драйверами и резидентными программами, применяется при пользовательской настройке системы. sv_image.com - программа для создания образа блочного устройства в файле для последующего использования программой image.com. Помимо традиционного подкаталога HELP, каталог SERVICE содержит также подкаталог BLK, в котором размещаются драйверы блочных устройств. Обычно это драйверы электронного RAM-диска, позволяющие организовать в страничной памяти Spectrum 128, 256, 512, 1024 и т. п. виртуальный диск, отличающийся очень высокой скоростью передачи данных. С февраля 1995 г. подкаталог BLK пополнился драйверами дисков TR-DOS, позволяющими работать (правда пока только по чтению) с дисками TR-DOS прямо в файловых панелях без применения копировщиков. Итак, содержимое подкаталога BLK: ed_*.blk - один из драйверов RAM-диска в зависимости от типа компьютера, по умолчанию система поставляется с драйвером ed_128.blk для Spectrum 128, или с драйвером ed_scorp.blk для компьютера SCORPION 256. menu.mnu - текст локального USER-меню для загрузки блочных драйверов. ram*.bat - один или несколько командных файлов, предназначенных для создания RAM-дисков различной конфигурации. tr-dos.blk, tr-dos0.blk - драйверы дисков TR-DOS. В подкаталоге HELP каталога BLK помимо прочих содержится текстовый файл ed_blk.hlp, в котором содержится список всех существующих блочных драйверов с краткими аннотациями к каждому из них. Каталог EDIT содержит все файлы, необходимые для работы текстового редактора IS-DOS: coder.com - преобразователь текстовых файлов из wet-формата в обычный. cut.com - утилита для разрезания длинных строк на строки заданной длины. dry.com - служебная подпрограмма редактора. ed*.ovr - оверлеи редактора. ed_copy.com - подпрограмма создания резервной копии редактируемого файла. ed_ext.txt - список расширений файлов, допускающих редактирование в текстовом редакторе. ed_mac.txt - описание макросов редактора. edit.com - основной рабочий модуль редактора. edit_aux.wet - временный файл-буфер редактора. editor.com - подпрограмма запуска редактора (начальное меню). segm80.res - специальная резидентная программа, отслеживающая степень сегментированности файла и позволяющая более устойчиво работать с файлами очень большой длины (сотни килобайт). tab.com, wet.com - служебные подпрограммы редактора. В каталоге EDIT также содержится подкаталог KRYPTON, в котором помещается пакет программ для шифровки текстовых файлов при помощи индивидуального кода-пароля. Программа полезна при необходимости защиты текстов от посторонних глаз. Каталог PRINT содержит файлы, относящиеся к программам печати, драйверы устройств печати и некоторые служебные файлы. dump.lpr - эмулятор устройства печати, предназначенный для отладки программы печати, пользовательских драйверов и позволяет вывести на дисплей 16-ричный дамп печатаемого файла, включая все управляющие коды, байты инициализации и т. п. inilp+.com - программа инициализации нестандартных устройств печати. При запуске она пересылает в порт принтера содержимое текстового файла inilp+.txt, который и содержит все необходимые коды для настройки. inilp+.com - текстовый файл, содержащий команды для инициализации принтера командой inilp.com. print.com - запускающая процедура для программы печати. print.txt - текстовый файл, содержащий описание директив управления печатью с таблицей кодов управления пользовательским принтером. Такая система позволяет использовать для печати текстов принтеры с нестандартной системой команд. printune.com - настройка программы печати текстов. prt.com - основной рабочий файл программы печати текстов. prt_menu.com - дополнительный рабочий файл программы печати, организующий интерфейс с пользователем. window+.lpr - эмулятор устройства печати, позволяющий вывести на дисплей всю печатаемую информацию, в том числе и управляющие коды, ч символьном виде. Может применяться при отладке программ печати и драйверов совместно с расширенным драйвером дисплея ty42_f.typ. В подкаталоге HELP каталога PRINT находятся текстовые файлы с описаниями программы печати текстов, а также текстовый файл prt.txt с подробным описанием точек входа и переменных процедуры печати текстов для самостоятельного использования. Подкаталог DRIVE содержит комплект драйверов принтера для организации печати на EPSON-совместимых принтерах с различными вариантами кодировок. В комплект входят обычно 10 вариантов драйвера для принтеров с различными кодировками, первые 1 или 2 символа имени драйвера (до знака подчеркивания) обозначают тип кодировки, остальные - тип интерфейса. В этом же подкаталоге содержится текстовый файл lpr.txt с техническим описанием большинства специальных драйверов устройств печати, созданных специалистами Iskra Soft для тех или иных вариантов подключения принтера. Стандартный комплект IS-DOS содержит комплект драйверов для типовой схемы подключения принтера ZX LPRINT III или специальный комплект драйверов для компьютера SCORPION. Кроме того в подкаталоге PL каталога PRINT обычно содержится программа печати графических изображений ps.com со всеми необходимыми файлами: $Grafprn.pac - упакованный блок рабочих процедур программы печати графических изображений. *.tab - различные варианты таблиц перекодировки для принтеров с нестандартными графическими режимами. *.scr - примеры экранных файлов. lptb.com - программа для точной настройки программы печати картинок, позволяет выставить размеры полей и т. д. ps.com - запускающий файл программы печати графических изображений. Каталог HELP, находящийся в корневом каталоге системного диска содержит следующие файлы: autoexec.hlp - описание командного файла autoexec.bat, автоматически вызываемого при загрузке системы. error.txt - список системных ошибок с указанием кодов, выводимых системой на дисплей. extent.txt - описание файла extent.txt main.hlp - описание USER-меню, автоматически вызываемого при загрузке системы. shelhelp.hlp - краткая справка по файловой оболочке IS-DOS, выводимая на дисплей командой HELP (клавиша "1" оболочки). Каталог MSDOS содержит программы, позволяющие организовать связь на уровне дискет с компьютерами IBM PC, работающими в среде MS-DOS. Он содержит следующие файлы: form_msd.com - программа форматирования дискет в формате MS-DOS 720K. from_msd.com - копировщик файлов с дискет MS-DOS на дискеты IS- DOS. msdos.com - эмулятор файловой оболочки MS-DOS, позволяющий переименовывать и удалять файлы на дискетах MS-DOS, создавать новые подкаталоги и просматривать оглавление диска. to_msdos.com - копировщик файлов с дискет IS-DOS на дискеты MS- DOS. И, наконец, последний каталог, впервые появившийся на системном диске IS-DOS версии 3.0, называется РЕКЛАМА и обычно содержит прайс- лист фирмы Iskra Soft с перечнем всех имеющихся в наличии программ в среде IS-DOS и другую рекламную информацию. В заключение, остается только добавить, что корневой каталог диска содержит еще три очень важных файла, а именно: autoexec.bat - командный файл, содержащий команды, выполняемые автоматически при загрузке системы. extent.txt - текстовый файл, содержащий описание реакции системы по нажатию клавиши ENTER на файлы с различными расширениями. main.mnu - текст начального меню, вызываемого после загрузки системы из файла autoexec.bat. Дополнительно в корневом каталоге может находиться файл treecat.txt, представляющий собой специальный текстовый файл, используемый утилитой tree.com для осуществления быстрого перехода в любой каталог любого уровня вложенности.