*** (c)EmeSoft90 * 13-Sep-94 *** ЕМЕЛЬЯНОВ А.В. (АлтГТУ ОиТСП) ============================== ПРОФЕССИОНАЛЬНАЯ ОБОЛОЧКА ДЛЯ ОС RT-11 ВЕРСИЯ 06.05 (Multiply command execution) (Выполнение множественных команд) (Dual mode working) (Работа в двух режимах) S H A R E W A R E ----------------- СВОБОДНО РАСПРОСТРАНЯЕМЫЙ ПРОГРАММНЫЙ ПРОДУКТ НЕ ДЛЯ КОММЕРЧЕСКОГО ИСПОЛЬЗОВАНИЯ! УБЕДИТЕЛЬНАЯ ПРОСЬБА НЕ МЕНЯТЬ АВТОРСКИХ ТИТУЛОВ И ЛЮБЫХ ДРУГИХ ТЕКСТОВ В ПРОГРАММЕ РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ БАРНАУЛ 1993-1994 А Н Н О Т А Ц И Я ----------------- Данный документ содержит описание экранной профессиональной программы-оболочки (далее -- просто оболочки) RS ("RT-11 profes- sional Shell"). Оболочка состоит из двух взаимосвязанных частей: драйвера-перехватчика RS и самой оболочки RS, - расположенных в одном файле -- RS.Sys. RS является приближенным функциональным аналогом программы NC ("Norton Commander"), использующейся на IBM-совместимых персональных компьютерах, и предназначен, естес- твенно, для того же самого, -- упрощения работы с ЭВМ. Несмотря на наличие слова "профессиональная" в названии, оболочка рассчитана на широкий круг пользователей, в том числе и неквалифицированных (особенно русскоязычные ее модификации), проста в освоении и эксплуатации. Оболочка функционирует под управлением SJ/FB-мониторов ОС RT-11 версий v05.00 и старше (РАФОС-II,ОСДВК V4,ФОДОС-2/3,АДОС); а с "вырезанными" драйвером и некоторыми (ненужными) функциями возможен запуск под TSX и в сетевых вариантах RT-11 для УКНЦ. На настоящий момент имеются следующие реализации оболочки: v06.05 - для терминалов с системой команд VT52; K06.05 - для работы с КЦГД (VT52/VT100 смесь); W06.05 - для терминалов ВТА-2000.15 (VT52/VT100); U06.05 - для ЭВМ "Электроника МС0511" (УКНЦ); S06.05 - "урезанный" вариант для УКНЦ и TSX (Short); A06.05 - для работы под АДОС (VT52, русскоязычная); A06.05k - для работы под АДОС (КЦГД, русскоязычная); A06.05u - для работы под АДОС (УКНЦ, русскоязычная); b06.05[m] - для ЭВМ "Электроника МС0513" (БК-0011[М]). Наличие букв `x' и `s' за идентификатором и номером версии означает, что оболочка рассчитана на работу в восьмибитной среде с кодировкой КОИ-8. Эта возможность на уровне программной эмуля- ции заложена в АДОС; некоторые из имеющихся модификаций монито- ров RT-11 также допускают "прозрачную" передачу кодов КОИ-8. Буква `s' присутствует только в вариантах для КЦГД и говорит о том, что для нормальной работы оболочки необходим "прозрачный" восьмибитный режим работы КЦГД, обеспечиваемый, в частности, программой KCsets.Sav из комплекса "KCGD service (c)EmeSoft90" (эта программа имеется в двух версиях -- для АДОС и для RT-11; она дает возможность работать под обеими системами "восьмибит- ным" программам, причем в RT-11 требуется некоторая модификация резидентного монитора ОС для "пропускания" восьмибитных кодов -- программа KCsets сама модифицирует в памяти RMON операционной системы RT-11 v05.01 RT11es.Sys, сгенерированный автором этих строк). Буква `v' свидетельствует о том, что Вы имеете дело с универсальной версией программы-оболочки, успешно работающей как в восьми-, так и в семибитной среде; а буква `r' означает, что Вы - владелец русскоязычной версии оболочки. Оболочка УСПЕШНО функционирует на микроЭВМ "Электроника-60" и "Электроника МС1212", на ДВК-3/4 ("Квант-4"), на ППЭВМ "Элек- троника МС0585" и проч. Обязательным условием работоспособности оболочки на данных ЭВМ является наличие у процессора набора EIS. Версии для VT52 вполне пригодны и для УКНЦ (например, при рабо- те с "графическим" электронным диском KD); а буква `m' в УКНЦ- реализации свидетельствует о том, что оболочка предназначена для работы под монитором периферийного процессора -- MPS.Sav). Версии оболочки для БК-0011[М] не требуют наличия у процес- сора набора EIS и функционируют в экранном режиме "64 символа в строке" (при запуске программ на БК-0011М оболочка восстанавли- вает 80-символьный режим экрана). ПРИМЕЧАНИЕ: Оболочка RS создана на основе пакета RC, который, в свою очередь, был создан на основе реассемблиро- ванного текста программы SCE (Screen Catalog Editor) версии 3.1. От SCE в оболочке остался практически только экранный интерфейс; сама программа подверлась значительной модификации и переработке. 1. ВВЕДЕНИЕ ----------- Главной целью создания и функционирования RS, вернее, дизассемблирования SCE и модификации RC, (со)автор программы считает удобство работы, повышение скорости и качества операций с каталогами и, что тоже немаловажно, манипуляций программами. Это достигается следующими путями: - ВО-ПЕРВЫХ, при использовании в качестве системных устройств со сравнительно малой скоростью обмена (DX (DY), DZ, MX, MY (BY, MZ, FD)) за счет того, что, в отличие от системных утилит Dir, Dup и Pip, которые загружаются в память перед каждой операцией, программа-оболочка RS РЕЗИДЕНТНА В ПАМЯТИ, примерно в 1,5 раза СОКРАЩАЕТСЯ ВРЕМЯ ВЫПОЛНЕНИЯ ОПЕРАЦИЙ; кроме этого, алгоритмы реализации некоторых файловых и дисковых функций используют МЕНЬШЕЕ, чем системные программы, КОЛИЧЕСТВО ОБРАЩЕНИЙ К УСТРОЙ- СТВАМ (согласитесь, что это тоже немаловажно, особенно при рабо- те только с дискетами); - ВО-ВТОРЫХ, ВРЕМЯ НЕПРОИЗВОДИТЕЛЬНЫХ ПРОСТОЕВ компъютера (когда Вы набираете команды, ищете файлы в каталоге и прочее) СОКРАЩЕНО ДО МИНИМУМА; - В-ТРЕТЬИХ, ИМЕЕТСЯ ВОЗМОЖНОСТЬ при операциях копирования, удаления и пр., ВЫНУТЬ СИСТЕМНЫЙ ДИСК И ЗАМЕНИТЬ ЕГО НЕСИСТЕМНЫМ (пока RS резидентен), что тоже экономит машинное время; но необходимо помнить, что RS будет обращаться к системному диску при определении размеров устройств, а также при загрузке нерези- дентных драйверов при копировании и чтении каталога, поэтому во избежание разрушения системы в памяти перед данными операциями необходимо возвращать системный диск на место; - В-ЧЕТВЕРТЫХ, при работе с большим количеством файлов (например, на жестком диске типа "Винчестер") использование RS ну просто очень удобно: КАТАЛОГ ПОСТОЯННО ПЕРЕД ГЛАЗАМИ и любое изменение сразу же может быть обнаружено и проанализировано. Кроме того, НЕСРАВНЕННЫМ достоинством оболочки следует счи- тать и то, что она при своей компактности (всего лишь 26 блоков) "вмещает" в себя практически все "повседневные" функции систем- ных утилит, а также предоставляет конечному пользователю много- численные дополнительные сервисные возможности (см.ниже). Есть еще одно ВАЖНОЕ отличие программы RS от всех других ее "соперников" и аналогов, как-то: SCE.Sav (с драйвером JS.Sys, почтенного "прародителя" старой программы RC.Sav&RC.Sys), SC.Sav ("Smirnow Commander"), RC.Sys (КЦГД-оболочки для АДОС с ТУРБО- процессором TPA.Sav), а также и прочих других RT-шных Comman- der'ов, -- (со)автор не стал особенно трудиться над "внешней" облицовкой программы и подгонкой ее под НОРТОНовский стиль (хотя и было такое желание), но -- оставив внешнюю простоту экранного интерфейса SCE.Sav и RC.Sav, постарался совместить в одном моду- ле все те функции, которые отсутствуют в вышеперечисленных про- граммах, а тем более в стандартных системных утилитах RT-11. Этого удалось достичь: ВО-ПЕРВЫХ, с помощью реализации в оболоч- ке мульти-командного интерфейса, сделавшего практически ненужным использование командных и UCL-файлов (как и самого UCL-интерфей- са -- это, правда, не относится к "командным гигантам" для тран- сляции программ и командным файлам утилиты Ind.Sav); ВО-ВТОРЫХ, введением еще одного, специального, режима для работы с катало- гами (об этом смотрите ниже). Неотъемлемой составной частью программы-оболочки является драйвер, который после его загрузки в память и активизации по команде Se RS On (или при прямом запуске файла RS.Sys командами Ru Sy:RS.Sys, R RS.Sys или же совсем просто - RS.Sys) производит запуск оболочки (для команды Se RS On) и осуществляет при работе с командами ОС "перехват" программных запросов .Exit. Выход из программ происходит по возможности не в монитор, а в оболочку, причем постоянно выводится каталог устройства, с которым Вы работаете, а маркер (см.ниже) остается на том же файле, на кото- ром он и находился. В RS встроен вызов справочной информации: по команде <Н> (или клавиша <ПМ> для МС7004) на экран выдается краткая справка о управляющих клавишах и командах программы-оболочки. 2. ЗАПУСК И РАБОТА ПРОГРАММЫ ---------------------------- При активизации драйвера RS командой Set RS On им произво- дится запуск и обслуживание программы-оболочки (естественно, файл RS.Sys должен находиться на системном устройстве). Выйти снова в "чистую" среду ОС можно только по запросу программы. Возможно также временное отключение оболочки, например, для "ручного" запуска программ или командных файлов, с последующим быстрым возвратом в оболочку. Если ранее был произведен выход из оболочки с запоминанием текущего состояния, то при ее запуске будет выведен каталог устройства, с которым Вы работали на момент выхода. Автор сего опуса считает, что нет нужды описывать формат экрана, воспроизводимого оболочкой (запустите программу, и Вы все увидите сами), поэтому в данном руководстве он решил ограни- читься лишь необходимыми комментариями и пояснениями. Формат каталога диска, выводимого RS, - стандартный (как и при использовании программы Dir.Sav): имя файла, его расширение, размер в блоках + статус защиты файла, дата его создания и номер блока, с которого он начинается на диске. Здесь, правда, имеется небольшое отличие от стандарта,каса- ющееся статуса защиты. В RT-11 файл, т.е. определенная область на диске, может быть либо свободным (EMPTY) или временным (TENT -- TEmporal ENtry), либо постоянным (PERManent); постоянный файл может быть также защищенным (PROTect). Все другие состояния системой не отрабатываются и не поддерживаются; однако довольно долгий опыт работы автора этих строк с файловой системой RT-11 и многочисленными программами, ее обслуживающими, привел его к выводу, что "здесь где-то зарыта какая-то собака", а проще гово- ря - есть дополнительные особенности организации файловой систе- мы RT-11, которые грех было бы не использовать. Короче, восполь- зовавшись вышеперечисленными комбинациями возможных состояний файлов, оказалось возможным сделать файлы еще и "скрытыми" от системы и других программ (иначе - защищенными, но не постоянны- ми, или просто HIDDEN), и даже просто еще и "нулевыми" (не имею- щими никакого состояния -- ZERO). Все это соответствующим образом отображается программой на экране -- пустые области имеют аббревиатуру "< Unused >" в поле имени (если это временный файл, то он отмечается еще и буквой `Т', буквой `Р' помечается статус защищенности у постоянных файлов; соответственно помечаются скрытые и нулевые файлы - бук- вами `H' и `Z'. Все эти файлы так или иначе находятся на дисках, и поэтому с помощью оболочки с ними можно производить определен- ные манипуляции, причем со спецфайлами можно работать лишь в до- полнительном режиме (об этом смотрите ниже). А теперь - коротко о особенностях программы. Если файлов в каталоге больше, чем помещается на экране, а маркер указывает на нижний файл, то при нажатии клавиши <ВНИЗ> маркер (то есть такая штука, которая постоянно на что-то Вам указывает;в нашем случае - на какой-либо файл) перейдет в начало следующей страницы каталога, и наоборот, если маркер указывает на верхний файл, то при нажатии клавиши <ВВЕРХ> (но не на первой странице) маркер перейдет в конец предыдущей страницы. Текущий файл выделяется на экране с помощью `>'-маркера, (для КЦГД и ВТА - еще и инверсным мерцающим изображением, а для УКНЦ/БК-0011[М] - выделением цветом/инверсией; автор этих строк именует подобное явление файл-курсором). При установке `>'-мар- кера на Unused-область он превращается в знак вопроса `?', а вместо `Unused' высвечивается имя файла, который занимал ранее эту область, что бывает весьма полезно при восстановлении оши- бочно удаленных файлов). В RS имеются функции установки/снятия меток файлов для включения их в групповые операции (смотрите ниже). При установке метки против соответствующего файла устанавливается звездочка `*', а версии оболочки для КЦГД, ВТА, БК и УКНЦ выделяют поме- ченные файлы еще и инверсным изображением строки; при снятии метки звездочка исчезает (для КЦГД/ВТА/БК/УКНЦ яркость строчки становится нормальной; на Unused-области действие данных функций не распространяется). Также имеется возможность установки/снятия меток для групп файлов по маске. Запуск программы также имеет несколько особенностей: - ВО-ПЕРВЫХ, сбрасываются уровень отслеживания ошибок системой (воспроизводится действие команды монитора Set Error None) и IND-режим у KMON'а (Set KMON NoIND), что необходимо учиты- вать при возможных последующих запусках командных файлов; - ВО-ВТОРЫХ, блокируется запуск командных файлов из оболочки, поэтому для работы с ними необходимо по крайней мере времен- но покинуть оболочку; - В-ТРЕТЬИХ, для снижения нагрузки на системный диск (а также для своих внутренних целей) принудительно устанавливаются NoSwap-режимы -- Set USR NoSwap и Set Exit NoSwap, что тоже нужно учитывать при работах с командами монитора,в частности при запуске из оболочки "жадных к памяти" программ (в подоб- ных случаях проще всего воспользоваться мульти-командой вида Se USR NoSwap\Sh M\Run [Dev:]Prog (SHow Memory покажет Вам, действительно ли нет USR)). Используя приведенные ниже описания управляющих клавиш и команд программы-оболочки, можно вносить различные изменения в каталоги (копирование, снятие/установка защиты, удаление/соз- дание файлов, сжатие носителей, а также "сокрытие" файлов от системы/программ/а_также_врагов и обратное их "восстановление"), запускать програмы или их "цепочки" (посредством мульти-команд), вызывать текстовый редактор и др. 3. ОПИСАНИЕ КОМАНД ------------------ В описании функций и команд используются обозначения клавиш блока клавиатуры "Электроника МС7004". Практически все команды вызываются нажатием соответствующей буквенной клавиши. Подчеркнутые символы вводятся пользователем. Программа-оболочка может находиться в одном из 2 глобальных состояний -- включенного или отключенного перехвата программных запросов .Exit драйвером RS, что отображается в поле режима соответственно знаками `+' и `-' (только для тех режимов,в кото- рых значение этого состояния используется по прямому назначению или особо -- для специальной работы с файлами; переключение из одного состояния в другое производится в экранном режиме работы нажатием на <ПРОБЕЛ>). В дальнейшем эти два состояния будут называться просто ПЛЮС и МИНУС. 3.1. <С>opy - КОПИРОВАНИЕ По команде <С> выполняется копирование файлов/устройств. По команде <Префикс><С> (или <ПФ3>) производится установка ключей для копирования (смотрите саму программу - список ключей являет- ся подмножеством ключей команды KMON'а COPy). Невозможно назна- чить одновременно два взаимоисключающих ключа - /NoReplace и /PreDelete. Если установлен ключ "/Device", производится запрос имени выходного устройства и осуществляется копирование "блок-в-блок" одного устройства на другое (чисто "файловые" ключи при этом игнорируются); в этом режиме на выходное устройство можно также скопировать и текущий файл -- для этого программа должна нахо- диться в МИНУС-состоянии. Так как использование режима копиро- вания "блок-в-блок" устройств в некоторых случаях (особенно для малоквалифицированных и рассеянных пользователей) сопряжено с некоторым риском порчи информации на дисках, этот ключ после успешного завершения операции копирования автоматически "сбрасы- вается" самой оболочкой. Если Вы пытаетесь копировать файлы на устройство, на кото- ром уже имеются защищенные одноименные файлы, оболочка просто "поругает" Вас; но если Вы это попробуете сделать в МИНУС-состо- янии, этим защищенным файлам вдобавок ко всему будут присвоены даты создания тех файлов, которые Вы пытались скопировать; иног- да это может оказаться весьма полезным -- как Вы, наверное, заметите (см.ниже и п.3.7), программа-оболочка вообще неравно- душна к "файловым" датам. В противном случае (это относится к режиму "блок-в-блок"), если счетчик помеченных файлов (в дальнейшем - СПФ) равен 0, то выводится имя текущего файла и запрашивается имя выходного файла или устройства; при этом недостающие имя и/или расширение файлов подставляются из входного. Если СПФ не равен 0, то запрашивается выходное устройство для всех помеченных файлов. После этого про- изводится копирование в соответствии с установленными переключа- телями. При копировании оболочка периодически информирует Вас о ходе процесса -- выводит количество оставшихся нескопированных блоков для копируемого файла; у выходного(ых) файла(ов) сохраня- ются исходные даты и статусы защиты. Естественно, копировать скрытые и "нулевые" файлы невозможно; для этого их нужно сначала сделать "видимыми". Пример: From: RT11SJ.SYS to: FD: --- File: FD:RT11SJ.SYS Rest blocks: 00072. Rest blocks: 00016. Rest blocks: 00000. При установленном ключе "/Ignore" автоматически устанавлива- ется ключ "/Slowly". Если происходит ошибка, то оболочка предос- тавляет Вам возможность выбора дальнейших действий: bort - прекратить копирование; etry - повторить операцию; gnore - игнорировать ошибку, продолжить копирование. Для выбора того или иного варианта необходимо нажать клавишу , или соответственно. 3.2. ename - ПЕРЕИМЕНОВАНИЕ По команде выполняется переименование файлов. Если СПФ равен 0, то выводится имя текущего файла и запрашивается имя выходного файла, после чего выполняется переименование. Если же СПФ не равен 0, то операция повторяется для каждого помеченного файла. Недостающие имя и/или расширение файла так же, как и при копировании, подставляются из входных. Пример: From: LP.SYS to: LE -- 3.3. elete - УДАЛЕНИЕ По команде (или <УДАЛ>) выполняется удаление файла(ов) с запросом подтверждения на удаление. Если Вы ответили "Y", то производится удаление файла(ов), иначе - выход в экранный режим. В МИНУС-состоянии программа будет "удалять" файлы только сбросом признака постоянного файла в справочнике диска (для защищенных файлов), делая их таким образом невидимыми для системы и других программ. Для незащищенных файлов удаление будет проводиться корректно, но опять же только сбросом признака постоянного файла и установкой признака незанятой области - временного файла, поэ- тому при необходимости все их или часть можно будет восстановить при условии, что система, другие программы или сама оболочка не проводили никаких манипуляций с каталогом, разрушивших получив- шуюся структуру. 3.4.

rotect/uprotect - УСТАНОВКА/СНЯТИЕ СТАТУСА ЗАЩИТЫ По команде <Р> производится установка статуса защиты от удаления, по команде - снятие статуса защиты для файла или группы файлов, в зависимости от значения СПФ. В МИНУС-режиме команда <Р> делает постоянные файлы скрыты- ми, а команда скрытые файлы "превращает" в постоянные защи- щенные, а "нулевые" - просто в постоянные. Примите к сведению -- "нулевые" файлы оболочка не создает, так как это чревато определенными последствиями, проявляющимися обычно после случайного "сжатия" дисков с такими файлами. 3.5. queeze - СЖАТИЕ НОСИТЕЛЯ По команде производится сжатие носителя (перемещение всех существующих файлов в начало тома) с предварительным запросом подтверждения. Пример: Are you sure (N)? Y - File: SWAP.SYS File: TT.SYS . . . File: DESS.SAV ПРИМЕЧАНИЕ: При сжатии производится вывод имен и расширений текущих (выходных) файлов, а при копировании - еще и имени выходного устройства. В обоих случаях производится вывод остав- шегося количества блоков для перемещаемого/копируемого файла. Б У Д Ь Т Е В Н И М А Т Е Л Ь Н Ы ! ! ! ------------------------------------------ ОПЕРАЦИЮ СЖАТИЯ НЕЛЬЗЯ ПРЕРВАТЬ ДАЖЕ ПО <СУ/С>. "НУЛЕВЫЕ" ФАЙЛЫ ПРИ СЖАТИИ БУДУТ БЕЗВОЗВРАТНО ПОТЕРЯНЫ, А СКРЫТЫЕ "СОЖМУТСЯ" НОРМАЛЬНО. 3.6. ype/vew - ПЕЧАТЬ ТЕКСТА/ДАМПА По команде <Т> производится вывод текстового файла (порция- ми по 22 строки) на экран до первого нулевого байта (при этом имеется довольно любопытная особенность программы RS - она выво- дит текст, начиная не с нулевого блока в файле, а осуществляет поблочный вывод устройства с того места, где начинается файл, поэтому иногда можно "заглянуть" и дальше. Для окончания просмо- тра требуется подать двойное <СУ/С>. По команде производится вывод дампа файла по 256 слов. Формат дампа аналогичен выводимому программой Dess. После вывода 256 слов требуется нажать любую клавишу для просмотра следующих 256 слов. Если файл-курсор установлен на свободной области, то будет выводиться дамп устройства. При нажатии на клавиши , или происходит смена типа текущего дампа (Words, Bytes, Radix); при этом продвижения не происходит. При нажатии клавиши запрашивается номер блока текущего файла/устройства, который будет отображен на экране. 3.7. <К> - СОЗДАНИЕ (вообще-то Create) По команде <К> (или <ВСТ>) производится создание файла на текущем устройстве. После введения ее запрашиваются: стартовый блок, размер и, если файл подходящего размера и с такого блока его возможно создать, - имя файла. По умолчанию любое введенное число - восьмеричное, точка `.' в конце определяет число как десятичное. Ввод <ВК> означает подстановку значений из текущего файла или свободной области. Это удобно применять для восстанов- ления случайно удаленных файлов (если Вы это делаете в МИНУС-со- стоянии, то будет восстановлена и дата!!!). Пример: Size: 19. --- Start block: <ВК> - FileName: DIR.SAV ------- 3.8. - КОПИРОВАНИЕ ЗАГРУЗЧИКА (вообще-то Copy/Boot) По команде запрашиваются имена файлов драйвера и мони- тора. Нажатие <ВК> означает выход в основной режим, иначе произ- водится копирование загрузчика на текущее устройство. Пример: Handler: DW -- Monitor: RT11SJ ------ 3.9. - ЗАГРУЗКА С УСТРОЙСТВА (вообще-то Boot) По команде производится перезагрузка системы с указан- ного Вами в ответ на запрос RS устройства. Пример: Device: FD0: ---- 3.10. initialie - ИНИЦИАЛИЗАЦИЯ По этой команде производится сначала смена имен тома и вла- дельца для текущего устройства, после чего выдается запрос на продолжение -- инициализацию. Если Вы ответите "Y",то после вво- да на запрос оболочки требуемого количества сегментов для ката- лога будет произведена инициализация (с обнулением!) каталога устройства (примите к сведению, что RS, в отличие от системных программ, при сжатии и инициализации всегда убирает "мусор",т.е. ненужные записи, из сегментов каталогов). В этот режим RS автоматически выходит в случае, если посчи- тает, что на устройстве недопустимый каталог. Если на запрос о количестве сегментов Вы введете <ВК> или число, выходящее за указанный диапазон, то RS "выделит" Вам всего один сегмент. Пример: Volume ID : System Disk0 ------------ Owner name : (c)EmeSoft90 ------------ Initialize (N)? Y - Segments (1..31): 3 - 3.11. <^В> - ПРОВЕРКА НА ПЛОХИЕ БЛОКИ По этой команде () осуществляется поблочное чтение текущего файла, или, если файл-курсор указывает на свободную область, проверка всего устройства на плохие блоки (при этом запрашивается номер блока, с которого начнется проверка), - про- изводится вывод номера текущего блока файла и абсолютного номера блока устройства. Если будет ошибка чтения, RS сообщит о ней. Пример: <^B> Start block: 1210. ----- Block number: 01210. Block number: 01211. . . . Bad block at: 01446. . . . Block number: 01599. Press any key ... <ВК> - 3.12. cmmand/o - КОМАНДЫ МОНИТОРА По команде <О> запрашивается команда(ы) для монитора RT-11 с последующим выходом в него для ее/их выполнения; если вводятся несколько команд - мульти-режим -, то они должны разделяться обратной "косой чертой" - `\' (т.называемым "обратным слэшем"). По команде (или <ИСП>) производится запуск текущего файла, если он имеет расширение `Sav', или же вызов текстового редактора, если файл имеет одно из следующих расширений: Bas, C, Com, Doc, Dpr, For, Hlp, Lst, Mac, Pas, Txt (имя программы-реда- ктора -- не более трех букв -- можно легко сменить, скорректиро- вав первый блок файла RS.Sys, например, программой Dess; Вам может попасться программа с одним из следующих "установленных" редакторов: Key; Edk - сокращение от Edik'а; старый, но еще работающий Ned; либо стандартная KMON'овская аббревиатура Edi). После выполнения команды/команд (окончания работы последней программы) произойдет возврат в RS. Однако, если было установле- но МИНУС-состояние или, если Вы прервали выполнение мульти-режи- ма с помощью <СУ/С>, все заботы о возврате в оболочку драйвер RS с легким сердцем перекладывает на Ваши плечи. При прямых запусках одиночных `Sav'-файлов и при вызовах редактора оболочка принудительно устанавливает ПЛЮС-режим. Пример: Command: MAC PROG\LIN PROG,LIB\RU PROG ----------------------------- 3.13. <СУ/W> - СЧИТАТЬ КАТАЛОГ ЗАНОВО По этой команде происходит повторное считывание каталога, обновление экрана и установка ПЛЮС-состояния. Используется при смене дискеты, после сбоев дисплея, или же если Вы "увлекаетесь" подавлением вывода на экран (посредством <СУ/O> для RT-11, <СУ/D> для ФОДОС или же <СУ/Е> для АДОС; а автор использует SJ-монитор собственной генерации, в котором отвел для этих нужд клавишу <СУ/^> -- неплохой набор, не правда ли?). 3.14. <ПРЕФИКС><Е>xit - ВЫХОД В МОНИТОР По данной команде происходит выход в монитор с отключением перехвата, запросом на осуществление запоминания текущего состо- яния (то есть имени текущего устройства и позиции файл-курсора) на диске и выгрузкой драйвера RS из памяти. По команде <ПРЕФИКС>uit произойдет выход в монитор без выгрузки драйвера и запоминания состояния на диске. В обоих слу- чаях RS потребует от Вас подтверждения на прекращение/прерывание работы. Вернуться назад в оболочку можно с помощью команд `[R ]RS.Sys', `Ru Sy:RS.Sys' или же `Se RS On'. 3.15. - СМЕНА УСТРОЙСТВА По команде (или <ВЫБР>) осуществляется выбор устрой- ства, считывание и вывод его каталога. Возможно указание "маски" для файлов, которые должны отображаться на экране монитора. Пример: Device: FD1: ---- 3.16. / - РАБОТА С ЛОГИЧЕСКИМИ ДИСКАМИ Команда <Х> производит связывание логического диска с физическим файлом. Выводится имя файла и запрашивается номер логического диска. Команда отменяет соответствие файла логическому диску. Запрашивается номер логического диска. После этого происходит передача управления драйверу LD, который и делает эту "грязную" работу. Пример: File: WORK.DSK --> LDn: <0> - 3.17. <ПФ4> - ПОИСК ПО МОДЕЛИ По команде <ПФ4> (или <НТ>) запрашивается модель поиска вида `FilNam.Ext', и затем производится поиск этого файла. Если он отсутствует, выводится сообщение об этом, иначе маркер будет установлен на найденный файл. Пример: <ПФ4> Find: CALC.SAV -------- 3.18. elp - ПЕЧАТЬ СПРАВОЧНОЙ ИНФОРМАЦИИ По команде <Н> (или <ПМ>) на экран выводится краткая справ- ка об управляющих клавишах и командах программы-оболочки RS. 3.19. <.>/<0> - УСТАНОВКА/СНЯТИЕ МЕТОК По команде <.> (или <ПФ1><ВПРАВО>) производится установка меток группе файлов, находящхся в каталоге ниже курсора. По команде <0> (или <ПФ1><ВЛЕВО>) - снятие меток группе файлов: по именам, по типам, или при вводе <ВК> - всех файлов.Необходимо помнить, что максимальное количество файлов, которое можно поме- тить, равно 200(10). В МИНУС-режиме можно пометить все скрытые либо все "нулевые" файлы (по запросу). Пример: <.> Select: *.MAC ----- ДОПОЛНИТЕЛЬНЫЕ ЗАМЕЧАНИЯ -------------------------- 1. При выполнении команды загрузки системы RS производит чтение нулевого блока устройства, его перемещение в нулевые же адреса памяти и передачу управления по адресу 000000(8). Упаси Вас Бог указать при загрузке вместо устройства только файловую часть: загрузка при этом осуществится с DK: ! Это же относится ко всем запросам для устройств;так, при указании для "массового" копирования просто имени файла без имени устройства (или с ним) ВСЕ помеченные файлы будут старательно копироваться оболочкой в этот ОДИН файл на DK:. 2. Данная версия RS не работает с дополнительными байтами в каталоге (так же, как и все другие известные автору программы: SCE, RC и прочая, и прочая...) -- это просто ни к чему. 3. Активизация драйвера RS производит прерывание выполнения любого командного файла; это обстоятельство можно использовать для возврата в оболочку, например, после ассемблирования и тран- сляции программ с помощью командных или UCL-файлов (если Вы еще пользуетесь старым добрым Нысовским 4-блочным UCL.Sav). 4. Команды ASsign, CLose, DAte, DEAssign, INStall, LOad, REMove, RESEt, TIme, UNLoad и некоторые другие не генерируют запроса .Exit (Emt 350), так как отрабатыаются самим KMON'ом, поэтому алгоритм работы драйвера RS построен так, что он почти всегда ждет дополнительной активизации для возврата в оболочку (команды `RS.Sys'), не считая прямых либо одиночных запусков программ и вызовов текстового редактора; поэтому, если прерывать выполнение программ или команд монитора с помощью <СУ/C>, то корректного возврата назад в оболочку не будет (смотрите выше описание запуска программ). Кроме этого, параметы, передаваемые запускаемым программам, во избжание всяческих коллизий желатель- но указывать в одной строке с ее вызовом - до "обратного слэша". 5. Команда "сжимает" файлы только внутри сегментов; пере- носа записей о файлах из сегмента в сегмент не производится -- эта привилегия оставлена за системной программой Dup.Sav. 6. Работа программы-оболочки под FB-монитором аналогична рабо- те под SJ, однако следует учесть, что оболочка блокирует USR в памяти с помощью запроса .Lock, поэтому основные и системные задания, нуждающиеся в USR'е, будут напрасно тратить время на ожидание, когда же им дадут поработать (правда, они смогут на- верстать упущенное, если Вы начнете работать с другими програм- мами или с командами монитора). Кроме того, автор проверял обо- лочку только с FB-мониторами версий v05.01 (RT-11). 7. При вводе на запросы некоторых команд (, <.>, <0> и пр.) строки, содержащей `*' (признак групповой операции) корректно обрабатываются только строки вида: *.SAV (или .SAV) - все файлы с расширением `Sav'; AAA.* (или ААА, но не AAA.) - все файлы с именем `ААА'; * (или *.*, или просто <ВК>) - все файлы на устройстве. Практика показывает -- для работы этого вполне хватает. Неуказанное устройство интерпретируется как DK: 8. Настоятельно рекомендуется использование драйвера SL (лучше всего -- V08.00 Сторожевых С.В., т.к. он именно тогда, когда это необходимо, блокирует <СУ/С>). НАЗНАЧЕНИЯ КЛАВИШ ------------------- Клавиши экранного редактирования: (нижние функции - с префиксом) Клавиатура МС 7004: +---------------+ +---------------+ ! ! ! ! ! Help ! ! ! ! ! ! ! ! ПМ ! ! ИСП ! ! ! ! ! ! ! ! ! +---------------+ +---------------+ +---------------+---------------+---------------+ ! ! ! ! ! Find ! CREate ! DELete ! ! ! ! ! ! НТ ! ВСТ ! УДАЛ ! ! ! ! ! ! ! ! ! +---------------+---------------+---------------+ ! Выбор !Вверх на стр-цу! Вниз на стр-цу! ! устройства ! ! ! ! ! ПРЕД ! СЛЕД ! ! ВЫБР ! КАДР ! КАДР ! ! ! ! ! ! !В начало катал.! В конец катал.! +---------------+---------------+---------------+ ! Вверх на файл ! ! . ! ! /!\ ! ! ! ! ! Вверх на ! ! страницу ! +---------------+---------------+---------------+ ! Снять метку ! Вниз на файл ! Метить файл ! ! ! ! ! ! ! <------- ! \!/ ! -------> ! ! ! ' ! ! ! Снять метку ! Вниз на ! Метить группу ! ! группе файлов ! страницу ! файлов ! +---------------+---------------+---------------+ +---------------+---------------+---------------+--------------+ ! Префикс ! Запомнить ! Setup !Задание модели! ! ! позицию ! COPy !поиска и поиск! ! ! ! ! файла (Find) ! ! ПФ1 ! ПФ2 ! ПФ3 ! ! ! ! ! ! ПФ4 ! ! Отмена ! Вернуться ! ! ! +---------------+---------------+---------------+--------------+ ! ! ! ! ! Клавиши без префикса: <;> - пометить файл; <ЗБ> - убрать метку; <О> - выполнить команду/ы RT-11; - запустить программу или текстовый редактор; <Н> - вывести HELP-текст; - выбор устройства; <.> - установить метку группе файлов; <0> - снять метку группе файлов; < > - сменить режим перехвата (ПЛЮС/МИНУС); <СУ/C> - экстренный выход в экранный режим (нажать 1-2 раза); <СУ/W> - считать заново каталог, обновить экран. Клавиши с префиксом: <С> - Установка ключей команды COPy: - установить ключ; - сбросить ключ; - вверх на ключ; - вниз на ключ; xit - выйти в монитор, отключив и выгрузив драйвер RS, а также,возможно, ЗАПОМНИВ текущее состояние на диске; uit - то же самое, только НЕ ЗАПОМИНАЯ текущее состояние и не выгружая драйвера; op - в начало каталога; ottom - в конец каталога; - вверх на страницу; - вниз на страницу; - снять метку группе файлов; - установить метку группе файлов. Клавиши, выполняющие команды монитора, встроенные в RS: <^B> - DIR/BAD; - COPy; - DELete; - DUmp; - CREate; - DISmount; - UNProtect;

- PROtect; - REName; - SQueeze; - TYpe; - BOot; - COPy/BOot; - MOunt; - INIt/VOl. СООБЩЕНИЯ ОБОЛОЧКИ -------------------- System error - Фатальная ошибка системы Bad device - Устройства нет в системе Non-file structure - Устройство нефайловой структуры Directory I/O error - Ошибка чтения/записи каталога File exists or no room - Файл уже есть или нет места Directory overflow - Каталог переполнен Output error - Ошибка вывода Input error - Ошибка ввода Handler File not found - Файл драйвера не найден File not found - Файл по модели не найден Monitor File not found - Файл монитора не найден No boot on volume - На диске нет загрузчика Device full - Устройство заполнено File protected - Файл защищен от удаления I/O error in system area - Ошибка в системной области No boot on handler - В драйвере нет загрузчика Output file exists - Выходной файл уже существует Device size too small - Размер устройства мал (при копировании файла на устройство) Invalid directory, initialize (N)? - Непригодный каталог, инициализировать? КОМАНДЫ SET ДРАЙВЕРА RS --------------------------- Set RS On - загрузить драйвер в память, включить перехват и запустить RS.Sys; Set RS Off - выгрузить драйвер, отключить перехват; Set RS Memo - запомнить текущее состояние на диске; Set RS Reset - сбросить ранее запомненное состояние. При работе в режиме выполнения "множественных" команд монитора (иначе - в мульти-состоянии) драйвер будет тихонечко (зависит от Вашего терминала) "интеллигентно попискивать", получая очередной .Exit. Если Вам это совсем не по душе, то откорректируйте RS.Sys Dess'ом, "забив" ответственный за этот писк участок в драйвере Nop'ами, ну а ради интереса -- можете сидеть и считать, сколько "лишних" .Exit'ов генерируют KMON, USR и RMON (т.е. система), и думать о том, как автор RS.Sys ломал голову над тем, как их "обойти". В Н И М А Н И Е ! ----------------- ЗАПРЕЩАЕТСЯ ВЫГРУЖАТЬ АКТИВНЫЙ ДРАЙВЕР RS ИЗ ПАМЯТИ КОМАНДОЙ МОНИТОРА "UNLoad", ТАК КАК ПРИ ЭТОМ "ПОВИСАЕТ" СИСТЕМНЫЙ ЗАПРОС ОС RT-11 Emt 350, ИСПОЛЬЗУЕМЫЙ ДРАЙВЕРОМ ДЛЯ РЕАЛИЗАЦИИ АЛГОРИТМА ПЕРЕХВАТА. P.S. Автор будет благодарен всем за любую информацию о дополни- тельных "ляпах" и просчетах в программе, поэтому не сочтите за труд сообщить -- получите новую версию. Вы также можете стать зарегистрированным пользователем оболочки RS, если, конечно, Вам не жалко будет выслать в мой адрес почтовый перевод на мизерную сумму -- 2.50$ USA в "деревянных" по курсу. В этом случае я берусь за обновление имеющихся у Вас версий оболочки с возмещением лишь накладных расходов - стоимости магнитного носителя и стоимости пересылки. Адрес: 656031, Россия, Алтайский край, г.Барнаул, ул.Молодежная, д.39, кв.65, Емельянову Александру Васильевичу. ---------------------------------------------------------------- Copyright (C) 1993-1994 -- (c)EmeSoft90 production.