Орион-128/Радио 11-91/Операционная оболочка ORDOS

Материал из Emuverse
Данный материал защищён авторскими правами!

Использование материала заявлено как добросовестное, исключительно для образовательных некоммерческих целей.

Автор: В. СУГОНЯКО, В. САФРОНОВ

Источник: http://retro.h1.ru/Orion/ORDOS/Shell.php

Пользователи операционной системы «ORDOS» смогли по достоинству оценить преимущество работы с компьютером в операционной среде по сравнению с мониторной, которая используется в других радиолюбительских ПК. И тем не менее даже такой диалог (где взаимодействие с пользователем построено по принципу: пользователь набирает на клавиатуре команду, имена файлов, а затем клавишу [ВК], после чего «ORDOS» выполняет введенную команду), не нагляден и недостаточно удобен.

Именно поэтому у авторов возникло желание видоизменить диалог с операционной системой — создать для нее оболочку. Конечно, на это решение повлияли впечатления от работы с одной из оболочек операционной системы MSDOS — «Norton Commander», которая в настоящее время является непременным атрибутом почти каждого PC-совместимого компьютера.

Вместе с тем, чтобы не навязывать новый диалог с «ORDOS» всем пользователям (вполне возможно, что кому-то по душе работать с операционной системой), авторы решили свою оболочку к «ORDOS» (пусть это будет «ORDOS Commander» или просто «Commander») выполнить в виде отдельного файла, который может размещаться на одном из дисков. Только после инициализации «ORDOS Commander» будет автоматически брать на себя функции процессора консольных команд — ССР, занимая его место в ОЗУ.

Коды программы приведены в табл.1, а контрольные суммы блоков — в табл. 2.

Таблица 2

0000 — 00FF 5D7E
0100 — 01FF 2FAA
0200 — 02FF 058F
0500 — 05FF F41E
0400 — 04FF B2F5
0500 — 05FP 75AB
0600 — 06FF 47CC
0700 — 07FF 24A5
0500 — 08FF C142
0900 — 09FF 57A9
0A00 — 0AFF 52CE

Как их вводить, проверять и заносить в диск (ROM или RAM) вы уже знаете по предыдущим нашим статьям. Рабочая область размещения программы — 0В000-OBAFFH. Итак программа набрана и в виде файла находится на RAM-диске. В последующем, убедившись, что «Commander» работает нормально, можете перенести его в ROM-диск. Несмотря на то, что авторы и называют программу «ORDOS Commander», файл должен иметь имя «NC$». Это зарезервированное сочетание символов, и его недопустимо изменять.

Запустите файл «NC$». На экране должно возникнуть изображение в соответствии с рис.1. Вот только перечень файлов в каталогах будет соответствовать содержимому ваших дисков.

Если к компьютеру подключен цветной монитор, то фон окрасится в синий цвет, а линии изображения будут белыми.

На диске «В» появится новый файл с именем «EXT$». Под этим зарезервированным именем «Commander» автоматически создается служебный файл — перезагрузчик, формируемый при первом запуске. Он служит для перезагрузки «NC$» и передачи ему управления при возврате в операционную систему из программ пользователя (по адресу 0BFFDH), а также при повторном «холодном» запуске операционной системы (после нажатия клавиши «Сброс»). Если вы хотите заблокировать перезапуск программы «NC$», то необходимо уничтожить файл «EXT$» на диске «В». Программа «Commander» рассчитана на работу с «Монитором-2».

Как видно из рис.1, на экран выводятся два прямоугольные окна — панели. В левой панели будет выведен каталог файлов, записанных на диске «А» (ROM-диск), в правом — на диске «В». На одном из имен файлов находится указатель — светлая (инверсная) горизонтальная полоса. Пользуясь клавишами управления курсором («вправо», «влево», «вверх», «вниз»), можно установить указатель на имя любого файла в каталогах панелей. Если количество файлов на диске превышает размер панели, «Commander» переходит в страничный режим. В нижней части панели при этом появляется цифра, указывающая номер текущей страницы. «Листание» страниц осуществляется клавишей [F1].

В верхней части панели выводятся имя диска («А» или «В») и конечный адрес области диска, занятого файлами в десятичном и шестнадцатиричном видах. Каталог диска «А» может выводится в двух режимах: с атрибутами файлов (стартовый адрес, длина файла и т. д.) или без них — только одни имена. Режим отображения команды (за исключением «PRTC» и «TYPE») выводят дополнительное окно диалога. В нижней части экрана выводится строка-памятка с перечнем команд, которые выполняет «Commander» данной версии. Ввод первого символа имени выбранной команды инициализирует ее работу.

Все «Commander» в служебных ячейках сохраняет номер текущей страницы, положение указателя, цвет и т. д. Поэтому после возвращения управления из программы пользователя состояние экрана восстанавливается.

переключается клавишей [СТР].

Рассмотрим более подробно работу команд

L(OAD) — загрузка программы из файла, с именем на котором стоит указатель, в ОЗУ. Если имя файла имеет признак самозапуска — «$» то управление передается на начальный адрес этой программы. Команда «L» имеет два варианта: простая загрузка — установить указатель на нужный файл и нажать [ВК] и загрузка с вводом дополнительной информации в буфер — установить указатель на нужный файл и нажать клавишу «L»). При этом в нижней части экрана появится дополнительное окно для продолжения диалога, рис.2. Далее вы можете нажать [ВК) (при этом отработает первый вариант) либо доввести с клавиатуры в буфер дополнительную информацию и затем нажать клавишу [ВК] рис.3.

Второй вариант применяется в том случае, если запускаемой программе для правильной работы требуется дополнительная информация. Это, к примеру, может быть имя файла, ключи управления и т. д.

S(AVE) — записать на диск (конечно, только «В») содержимое указанной области памяти. Положение указателя при этом не имеет значения. «Commander» выводит дополнительное окно, рис. 4, для продолжения диалога и запрашивает имя файла — «NAME». Введите допустимые символы (согласно синтаксису «ORDOS») для обозначения имени вновь создаваемого файла и нажмите клавишу [ВК]. При этом ниже появится сообщение «ADDR:» (Адрес). Вводятся начальный и конечный адреса (в шестнадцатиричном виде, можно без лидирующих нулей). Нажмите вторично клавишу [ВК]. рис. 5.

R(ENUM) — переименовать файл. Установите указатель на нужный файл и нажмите клавишу с символом «R», на запрос «NAME:» введите новое имя файла и в завершение — клавишу [ВК]. Команда работает только с файлами диска «В».

E(RAS) — уничтожить файл. Как и в предыдущем случае, установите указатель на имя уничтожаемого файла и нажмите клавишу «Е». Цвет указателя станет красным (на черно-белом мониторе исчезнет, так как черно-белое изображение формируется по зеленому цвету), имя файла исчезнет и появится сообщение [ВК]? Если ваше решение уничтожить выбранный файл неслучайно, нажмите клавишу [ВК]. Файл будет — уничтожен. Следует помнить, что уничтоженные файлы не подлежат восстановлению. Команда работает только с файлами диска «В».

T(YPE) — просмотр содержимого файла. Команда предназначена для беглого просмотра содержимого текстовых файлов. Конечно, просматривать можно любые файлы, однако .при этом вывод информации на экран будет происходить непредсказуемо, Приостанавливают вывод информации на экран нажатием любой клавиши.

C(OPY) — создать на диске «В» копию файла с диска «А» или «В». Указатель устанавливают на имя файла, копию которого необходимо иметь на диске «В» и нажимают клавишу «С». При этом выводится дополнительное окно по аналогии с командой «RENUM» где запрашивается ввод имени будущего файла-копии. Напомним, что «ORDOS» не допускает наличия файлов с одинаковыми именами на одном диске.

P(RTC) (Protection) — защита файла на диске «В» от уничтожения средствами «ORDOS». Защищенные файлы помечаются в каталоге звездочкой. Установите указатель на имя файла, который вы намерены защитить от случайного стирания (разумеется, только на диске «В») и нажмите клавишу символа «Р». Команда работает по принципу триггера — у незащищенных файлов устанавливает защиту, у защищенных — снимает.

0(UT) — вывод файла на магнитофон. Установите указатель на имя файла, который вы намерены сохранить. Включите магнитофон на запись, нажмите клавишу — «О». В нижней части экрана появится дополнительное сдвоенное окно, рис. 6. В левой части этого окна команда выведет имя операции «OUT», в правой — имя записываемого на магнитофон файла. По окончании операции записи файла «Commander» переходит а исходное состояние. Файл записывается в стандарте программы «СН$».

I(NPUT) — чтение файла с магнитной ленты. После нажатия клавиши «I» внизу экрана (аналогично команде «OUT») появится сдвоенное дополнительное окно. В левой части окна выводится имя команды, а затем, возможно, и сообщение об ошибках, в правой — имя считываемого файла.

A(UTO) — ввод файла с магнитной ленты с автоматическим определением константы считывания. В строке-подсказке этой команды нет, но вызывается она нажатием клавиши «А». Используется эта команда в основном при чтении «чужих» кассет. Как и в предыдущих командах, работающих с магнитофоном, появятся дополнительное окно с сообщением «[ВК]» и мигающий курсор. Включите магнитофон на воспроизведение, и при появлении звука фонограммы (серия начальных нулей) нажмите клавишу [ВК}. В левом дополнительном окне появится шестнадцатиричное значение вычисленной константы считывания, а в правом — имя файла.

Чтобы прервать работу (за исключением чтения с магнитофона) описанных команд, нажмите клавишу [F4]. Процесс чтения с магнитофона прерывается кратковременной остановкой ленты. При этом команда реинициализируется и переходит в режим поиска начала следующего файла.

В процессе работы «Commander» оперирует цветом экрана — окрашивает фон в окнах и панелях, меняет цвет указателя и т. д" то есть использует область цвета в дополнительной странице (диск «В»). Однако, если при создании новых файлов область занятая на диске «В» превысит адрес 0С000Н, цвет отключается. При освобождении области ОЗУ атрибутов цвета, например при уничтожении файлов, цвет включается автоматически.

В. СУГОНЯКО, В. САФРОНОВ

Московская обл.

Отсканировано с журнала Радио № 2 1991 г.

Отредактировано Лесных Ю. 2001 г.