Основные команды ОС DSDOS
Итак, продолжим.
Система команд ОС DSDOS
Команды однобуквенные (латинские заглавные, установка по-умолчанию при загрузке ОС), вводятся сразу после промпта (имя текущего устройства и значёк ">") без пробела. Параметры команд отделяются пробелами (их кол-во может быть любым). Если используются ключи-модификаторы, то они также разделяются пробелами, предваряются символом "/" и могут следовать в произвольном порядке. Для выполнения команды, после набора всех необходимых параметров нужно нажать клавишу "ВК" (Enter).
При наборе команды доступны следующие средства редактирования:
"←" / "→" - перемещение по символам;
"УС" (Ctrl) + "←" / "→" - перемещение по словам
"TAB" - на четыре символа вперёд;
"УС" (Ctrl) + "TAB" - на восемь символов вперёд;
"⌐" (Home) - переход в начало строки;
"ПС" (End) - переход в конец строки;
"СТР" (Cls) - очистка содержимого всей строки;
"АР2" (Esc) - отмена ввода строки;
"ЗБ" (BackSpace) - удаление символа слева от курсора;
"УС" (Ctrl) + "ЗБ" (BackSpace) - удаление строки слева от курсора;
"F2" (Del) - удаление символа в позиции курсора;
"УС" (Ctrl) + "F2" - удаление строки правее курсора;
"F3" (Ins) - переключение режима вставка/замена (также изменяется вид курсора);
"↑" - восстановление содержимого строки предыдущего ввода (замещение текущих данных предыдущими);
"↓" - добавление содержимого строки предыдущего ввода в конец текущей строки (добавление предыдущих данных к текущим).
Все вышеперечисленные возможности редактирования доступны в любых программах написанных под ОС DSDOS и использующих строчный ввод данных.
Также всегда, когда на экране присутствует мигающий курсор модуля ввода-вывода DSDOS, работают следующие команды:
"РУС/ЛАТ" (Caps Lock) - переключение раскладки (Лат/Рус);
"РУС/ЛАТ" (Caps Lock) + "Shift" - переключение регистра (Заглавные/Строчные);
"Shift" + символ - ввод символа в альтернативном регистре;
"Shift" + "F1" - вызов сервисного меню пользователя (также доступно при опросе клавиатуры через п/п ПЗУ "Монитор");
"Ctrl" + "Shift" + "F4" - "холодная" перезагрузка ПРК.
*
Сообщения об ошибках в ОС DSDOS
Возможные ошибки при выполнении команд ОС DSDOS
01h - Error I/O DIR: <d>*
Ошибка при выполнении операции чтения/записи каталога
02h - Out of DIR: <d>
Переполнение каталога устройства
(превышение максимально-возможного для данного устройства количества файлов)
03h - Out of disk: <d>
При записи: переполнение памяти устройства;
При чтении: нарушение структуры данных файла
04h - Not found file: <filename>*
Файл не найден
05h - Error I/O file: <filename>
Ошибка при выполнении операции чтения/записи "тела" файла
06h - Read only file: <filename>
Файл доступен только для чтения (установлен атрибут защиты)
07h - Replace name: <filename>
Повторное имя файла (попытка переименовать имя файла в имя, уже имеющееся на данном устройстве)
08h - Replace file: <filename>
Повторное имя файла (попытка записи или копирования файла с именем, уже имеющимся на данном устройстве)
09h - Out of memory
Считываемый файл выходит за верхнюю границу ОЗУ пользователя и может испортить область системы и/или резидентных программ
0Ah - No access to drive: <d>
Попытка выбора недоступного устройства
(доступ устройств определяется при конфигурации системы)
0Bh - Invalid drive: <d>
Попытка выбора несуществующего устройства
(разрешены устройства: A, B, C, D, E, F, G, H)
0Ch - Incorrect call batch
Некорректный вызов пакетного файла (попытка вызова из пакетного файла или запрещён вызов программно)
1Bh - Terminated!
Выполнение операции прервано нажатием клавиши "АР2" (Esc)
40h - Write protect drive: <d>
Устройство защищено от выполнения операций записи/удаления
80h - Not ready drive: <d>
Устройство не готово к записи/чтению данных (например: не закрыт дисковод)
FFh - Invalid command
Попытка выполнить несуществующую в данной версии DSDOS команду
__________________________________________________ __________________________________________________ _____________
* <d> - символ имени устройства (A, B, C, ...), при операции с которым произошла ошибка
* <filename> - имя файла, при операции с которым произошла ошибка
Пакетная обработка команд ОС DSDOS
В DSDOS есть возможность выполнять команды ОС в автоматическом режиме (пакетная обработка). Для её реализации необходимо в любом редакторе создать текстовый файл со списком команд ОС DSDOS, имя этого файла должно содержать символ "%". При запуске такого файла командой "L", ОС DSDOS будет поочерёдно исполнять все команды от начала списка до конца. Команды должны быть указаны полностью, со всеми необходимыми параметрами их вызова. Неверно записанная команда приведёт к выводу сообщения об ошибке, и будет продолжено выполнение остальных команд в списке.
Т.о. если результат выполнения какой-либо команды зависит от предыдущей в списке, то необходимо заранее принять меры по контролю возможных ошибочных ситуаций.
Также нужно понимать, что пакетный файл может быть запущен на исполнение с любого устройства, которое для пакета будет текущим диском, поэтому если используются команды без явного указания имён дисков, то следует принять меры по избежанию некорректного исполнения пакета.
При обработке пакетных файлов есть некоторые отличия и некоторые дополнения в системе команд.
Не обрабатываются следующие команды ОС DSDOS: "?", "T" и "ВК" (Enter).
Инструкция "?" вместо вывода информации о текущем диске, используется для вывода текстовых сообщений в процессе исполнения пакетного файла. Т.о. любая последовательность символов после "?" будет немедленно выведена на экран при обработке данной строки, а в конце будет выполнен перевод строки.
Введённая пустая строка не приведёт к выводу каталога текущего диска, а просто будет игнорирована при обработке. Для вывода на экран кода перевода строки нужно указать строку из одного символа "?".
Команда "T" просто игнорируется, это связано с тем, что она для своей работы использует ту же область, что и буфер обработчика пакетных файлов.
Для указания комментариев используется инструкция ";", после которой может следовать любая последовательность символов до конца строки.
Для приостановки исполнения используется инструкция "W" (работает только при пакетной обработке!), на экран выводится мигающий курсор и по нажатию любой клавиши продолжается дальнейшее исполнение команд.
Прервать исполнение команд можно нажатием клавиши "АР2" (Esc), проверка на нажатие которой производится при интерпретации очередной команды.
Для вызова запускаемых программ необходимо пользоваться командой "B" вместо команды "L", в этом случае при выходе из программы будет продолжено выполнение остальных команд пакета.
Во время обработки команд пакетного файла запрещается вызов других пакетных файлов, т.е. нельзя вызывать пакетный файл из пакетного!
Сервисное меню пользователя ОС DSDOS
Сервисное меню пользователя ОС DSDOS
В DSDOS существует возможность пользоваться некоторыми средствами ОС прямо из программ пользователя. Эта возможность реализована в виде сервисного меню, которое вызывается одновременным нажатием клавиш «Shift+F1» в любой момент, когда на экране присутствует мигающий курсор. Меню выводится в самой верхней строке экрана, при это затёртая информация сохраняется во временный буфер и при выходе из меню восстанавливается. Для отмены меню необходимо нажать клавишу «АР2» (Esc), выбор нужного пункта осуществляется клавишами «←», «→» и «ВК» (Enter).
http://www.denn.ru/8bit/orion/soft/dsdos/09-servmnu.gif
Меню содержит следующие опции:
Load - загрузка файла
Save - сохранение участка памяти в файл
Code - ввод кода ASCII (00h…FFh)
View - просмотр альтернативного экрана
Curs - выбор вида курсора
Exit - выход в ОС DSDOS
Этот небольшой набор опций позволяет облегчить процесс отладки программ, а также упрощает адаптацию программ не рассчитанных на работу в ОС DSDOS.
1. Загрузка файла (Load)
Данная опция позволяет, находясь в программе пользователя производить загрузку файлов данных, знакогенераторов, а также производить запуск других программ пользователя. Опция аналогична команде «L» ОС DSDOS с тем отличием, что запрещена обработка пакетных файлов и саму команду вводить не нужно - сразу вводится имя файла (можно с указанием диска, через двоеточие) и, если необходимо, параметры его вызова.
2. Сохранение участка памяти в файл (Save)
Данная опция позволяет, находясь в программе пользователя, производить сохранение участка памяти в файл. В том числе позволяет без использования специальных резидентных программ создавать "снимок" экрана. Опция аналогична команде «S» ОС DSDOS, только саму команду уже вводить не нужно - сразу вводятся параметры: имя файла (можно с указанием диска, через двоеточие), адрес начала, длина.
3. Ввод кода ASCII (Code)
Данная опция позволяет в любой момент, когда на экране присутствует мигающий курсор, вводить любой код ASCII путём набора его шестнадцатиричного значения (00h…FFh). Т.о. возможен ввод абсолютно любых символов, в т.ч. тех, которых нет на клавиатуре (например, рамок, стрелок и т.п.).
4. Просмотр альтернативного экрана (View)
Данная опция позволяет в любой момент просмотреть содержимое альтернативного экрана. Альтернативным экраном для "основного" считается "теневой" и наоборот. "Теневой" экран используют некоторые программы, чтобы не изменять содержимого "основного" экрана.
5. Выбор вида курсора (Curs)
Данная опция позволяет в любой момент изменить вид курсора процедуры ввода-вывода ОС DSDOS. В системе зарезервировано 32 вида курсоров, плюс 224 символа основного знакогенератора ОС DSDOS, которые тоже могут быть задействованы в качестве курсора.
6. Выход в ОС DSDOS (Exit)
Данная опция позволяет в любой момент, когда на экране присутствует мигающий курсор, осуществить выход из программы пользователя в ОС DSDOS. Опция необходима для программ, не имеющих выхода или делающими выход некорректно.
*
Оболочка ОС DSDOS (файл-менеджер)
Оболочка ОС DSDOS (файл-менеджер)
DSDOS-Commander (далее - DC) представляет собой оболочку ОС DSDOS и предназначен для значительного облегчения выполнения операций с файлами. Интерфейс программы построен по принципу аналогичных программ (NC$ - для ПК "Орион-128", Norton Commander - для IBM PC и т.д.). После запуска программа создает на устройстве начальной загрузки ОС DSDOS (по-умолчанию диск «B:») файл самозапуска (EXT$) оболочки при передаче управления ОС (например после завершения программы пользователя или после горячей перезагрузки ОС), причём автозагрузчик "помнит" с какого устройства был запущен DC и все последующие самозапуски будут производиться именно с этого устройства (обычно диск «A:»).
http://www.denn.ru/8bit/orion/soft/dsdos/08-filemgr.gif
При чтении/запуске файла или при выполнении какой-либо команды ОС DSDOS оболочка сохраняет на том же устройстве (где и файл самозапуска) свой конфигурационный файл «DC.INI». Файл конфигурации содержит информацию о панелях: выбранные диски, положения указателей, цвет, формат вывода размеров файлов; образец шаблона выделения файлов; последние данные, вводимые в командную строку из-под оболочки. Для своей работы DC использует область ОЗУ пользователя (0-я страница):
9000..97FFh - каталог диска левой панели
9800..9FFFh - каталог диска правой панели
A000..B27Fh - собственно оболочка DC
При выполнении команд ОС DSDOS и при запуске программ пользователя DC полностью освобождает ОЗУ пользователя, но также необходимо помнить, что при выходе в ОС область 9000..B27Fh будет затерта оболочкой, т.е. не следует располагать в этой области каких-либо драйверов или резидентных программ. Если же, всё-таки необходимо использовать вышеуказанную область ОЗУ под драйвер/резидент, то необходимо завершить работу с оболочкой DC (команда «Q») и далее осуществлять диалог с DSDOS штатными средствами ОС через интерфейс командной строки (см. подсказку по команде «H» ОС DSDOS). При завершении работы с DC, автоматически удаляются файлы «EXT$» и «DC.INI» с соответствующего диска и пользователь попадает в диалог процессора команд ОС DSDOS.
В DC имеется также возможность исполнения одно буквенных команд ОС DSDOS через встроенные средства поддержки командной строки. для перехода в командную строку DC необходимо нажать клавишу «СТР», причём, если при этом удерживать клавишу «Ctrl», то в командную строку будет вставлено имя текущего выбранного файла. При выполнении всех команд ОС DSDOS, не связанных с запуском файлов на исполнение, возврат осуществляется в диалог командного процессора ОС, и для возврата в оболочку необходимо нажать клавишу «F4» или «АР2» (Esc). Возврат из программ пользователя всегда осуществляется в оболочку. Если необходимо запретить выход в оболочку (например требуется посмотреть результаты работы утилиты), то при выходе из утилиты/программы необходимо удержать клавишу «Shift» до появления промпта ОС DSDOS. Возврат в оболочку в этом случае делается аналогично - по «F4» или «АР2» (Esc). При редактировании командной строки действуют все стандартные средства редактирования строк ОС DSDOS.
Операции выбора дисков и файлов
Для выбора нужного диска необходимо нажать соответственно для левой панели клавишу «F1» или «1», а для правой панели - клавишу «F2» или «2». В результате на соответствующей панели появится окно диалога выбора диска.
http://www.denn.ru/8bit/orion/soft/dsdos/10-dc_drvs.gif
Далее необходимо нажать на клавишу с буквой нужного диска или нажать «АР2» (Esc) в случае отказа. Нажатия на клавиши с буквами несуществующих в системе дисков будут игнорироваться. Если произошла ошибка чтения каталога выбранного диска, то будет выведено сообщение о причине ошибки и пользователь снова попадет в диалог выбора диска, где можно повторить процедуру чтения каталога, нажав клавишу «ВК» (Enter), либо выбрать другой диск, либо отказаться от выбора, нажав клавишу «АР2» (Esc). Для обновления каталога текущей панели необходимо нажать клавишу «D» или комбинацию клавиш: Ctrl+«R». При нажатии на клавишу «N» будет произведено обновление каталогов обеих панелей.
Для выбора текущей панели служат клавиши: ←, →, ТАБ - они все осуществляют активизацию противоположенной панели. Панели можно поменять местами, нажав: Ctrl+«W».
Для выбора файла на текущей панели существуют следующие команды:
«↓» / «↑» - переход к следующему / предыдущему файлу;
«Home» / «ПС» - в начало / конец текущей страницы;
Ctrl + «↓» / «↑» - на страницу вверх / вниз;
Ctrl + «Home» / «ПС» - в начало / конец всего списка.
По нажатию клавиши «F» осуществляет изменение формата отображения длин файлов (шестнадцатеричный / десятичный) на обеих панелях.
http://www.denn.ru/8bit/orion/soft/dsdos/11-dc_fmtf.gif
Нажав клавишу «?» можно получить информацию о текущем диске аналогично соответствующей команде ОС DSDOS (занято/свободно/всего места на диске), а также адрес верхней границы ОЗУ пользователя, размер и код типа данных в буфере обмена.
http://www.denn.ru/8bit/orion/soft/dsdos/12-dc_info.gif
Операции загрузки файлов
Загрузка файлов в ОЗУ, а также запуск на исполнение командных файлов осуществляется нажатием клавиши «ВК» (Enter) на выбранном файле. При этом механизм загрузки/запуска файлов полностью аналогичен команде «L» ОС DSDOS. Для запуска программы с параметрами необходимо нажать «L» или Ctrl+«Enter», при этом под панелями откроется диалог редактирования командной строки со вставленной командой:
http://www.denn.ru/8bit/orion/soft/dsdos/22-dc_load.gif
Далее пользователь может ввести параметры запуска и нажать клавишу «Enter», или отказаться и вернуться к обзору панелей, нажав клавишу «АР2» (Esc) или «F4». Загрузка файлов в ОЗУ пользователя по конкретному адресу осуществляется нажатием клавиши «I» на выбранном файле. Далее механизм аналогичен вышеописанному для команды запуска с параметрами, только в качестве параметра необходимо указать адрес загрузки файла в ОЗУ. Команда полностью аналогична соответствующей команде ОС DSDOS.
Операции выделения файлов в группу, шаблоны
Некоторые операции (копирование, удаление) могут быть выполнены не только над отдельным файлом, но и над группой файлов. Далее рассмотрены команды выделения файлов в группу:
«*» - выделение/снятие выделения текущего файла панели;
«_» (пробел) – выделение/снятие выделения текущего файла панели со смещением указателя вниз на одну позицию;
Ctrl + «.» - инвертировать выделение файлов;
«S» (+) - выделение файлов по шаблону;
«U» (-) - отмена выделения файлов.
Выделенный файл на панели помечается слева символом «>».
http://www.denn.ru/8bit/orion/soft/dsdos/13-dc_hdlt.gif
Выделение файлов снимается после обновления содержимого панели(ей), после выполнения операций копирования и удаления файлов, а также после выхода из DC (запуска программ, сброс ПРК).
При выборе выделения по шаблону (команда «S») появляется окно ввода/редактирования шаблона по которому будет производиться выделение файлов, причем в строку будет подставлен последний введенный шаблон (по-умолчанию «*»), который можно отредактировать стандартными средствами редактирования строк ОС DSDOS.
http://www.denn.ru/8bit/orion/soft/dsdos/14-dc_sel.gif
Нельзя ввести в качестве шаблона пустую строку. При вводе допустимы любые комбинации символов, причём символы «*», «?» выполняют специальные функции:
«*» - означает любое кол-во любых символов;
«?» - означает один любой символ.
Например: шаблон «*.TXT» выделит все текстовые файлы на текущей панели, а шаблон «FL??.TMP» выделит все файлы с именами начинающимися на "FL", с расширением ".TMP" и имеющие в середине любые два символа.
Копирование файлов
Для копирования файла необходимо выбрать его на какой-либо панели и нажать клавишу «C» («F5» или «5»). Далее откроется окно диалога, где пользователю будут предложены диск противоположенной панели и имя файла назначения, разделенные символом «:».
http://www.denn.ru/8bit/orion/soft/dsdos/15-dc_copy.gif
При необходимости пользователь может их изменить, пользуясь стандартными средствами редактирования строк ОС DSDOS или принять без изменений, сразу нажав «ВК» (Enter). Если же на текущей панели есть выделенные файлы, то будет произведено их немедленное копирование на диск противоположенной панели. В процессе копирования в окне будет отображаться ход событий (имена копируемых файлов, их номер в очереди).
http://www.denn.ru/8bit/orion/soft/dsdos/16-dc_copy.gif
Если в процессе копирования на диске назначения будет обнаружен файл с аналогичным именем, то пользователю будет предложено: записать поверх «Yes», пропустить «No», а также произвести аналогичные действия со всеми остальными повторяющимися файлами без дополнительного подтверждения («for All» = «Yes», «Skip for all» = «No»). Заглавными выделены буквы, нажатие которых инициирует соответствующие операции.
http://www.denn.ru/8bit/orion/soft/dsdos/17-dc_copy.gif
Пользователь также может нажать клавишу «АР2» (Esc) для отмены дальнейшего копирования. Если при выборе режима перезаписи поверх встретится файл, защищенный от удаления, то пользователю будет предложено подтвердить перезапись, подтвердить для всех последующих, пропустить, пропустить для всех последующих или прервать выполнение копирования.
Примечание: оболочка DC не позволяет копировать файлы больших размеров (более 9000h), что связано с ограничением буфера копирования из-за присутствия «тела» DC в основной странице ОЗУ. Для копирования больших файлов надо использовать команду «C» ОС DSDOS. Если в процессе копирования группы файлов встретится файл, превышающий вышеуказанный размер, то пользователю будет предложено либо пропустить этот файл, либо прервать процесс копирования.
+++ продолжение на следующей странице +++