Радио 07-93/СР/М-80. Операционная система
В предыдущих номерах журнала был описан контроллер дисковода для «Ориона-128» и пришла время рассказать о соответствующем программном обеспечении: ОС СР/М и о некоторых программах-утилитах. Но сначала несколько слое об особенностях установки ОС СР/М на «Орион-128».
Возможны три способа ее размещения в памяти компьютера: в нулевой странице ОЗУ (ниже области основного экрана), в первой страница ОЗУ (в области атрибутов цвета основного экрана) и в одной, из дополнительных страниц ОЗУ, Установка ОС СР/М в дополнительны* страницах ОЗУ требует, естественно, обязательного наличия их а компьютере. Для большинства программ вполне достаточно объема ОЗУ в 128 Кбайт и вводить дополнительные страница толь-до для установки ОС СР/М вряд ли целесообразно,
Объем свободной памяти при размещении ОС СР/М в нулевой странице ОЗУ составляет всего 39-40 Кбайт, а в первой — более 50 Кбайт. Поскольку для работы большинства наиболее интересных и мощных СР/М программ необходимо не менее 40 Кбайт свободной памяти, то напрашивается решение — разместить ее в первой странице ОЗУ. Но при этом накладываются ограничения на работу с цветом, так как включение цвета в основном экране приведет к уничтожению ОС СР/М в памяти компьютера.
Практически во всех СР/М программах, перенесенных на «Орион-128» с других компьютеров, используется монохромный режим работы, то есть необходимость использования атрибутов извета отпадает сама собой. ОС СР/М автоматически включает монохромный режим в «Орионе-128» (светлые символы на темном фона), что и позволяет замаскировать ее расположение в области цветовых атрибутов.
Отметим, что программы, написанные специально для «Ориона-128», могут работать с цветом самостоятельно, включая вместо основного экрана первый или второй. В дальнейшем мы расскажем о двух таким программах: о программе «Lord», используемой для работы с файлами ORDOS, и о программе: «Bridge Panels» — удобной многофункциональной графической оболочке ОС СР/М.
Приведенное ниже описание относится к ОС СР/М версии 2.2 с BIOS версии 3.00 и выше (СР/М V2.2, BIOS V3.00; СР/М V2.2, BIOS V3.10 и др.), разработанных в ПМП «Орион-Сервис». Для получения начальных сведений об ОС СР/М целесообразно предварительно ознакомиться с [1].
BIOS V3.00 был разработан на основе предыдущих версий с учетом всех замечаний и обнаруженных недостатков. Характерными особенностями BIOS V3.00 являются:
- использование внутренних команд, вводимых через клавишу [F1];
- принципиально новый способ вывода курсора на экран;
- «псевдо-аппаратный» ввод с клавиатуры;
- увеличение надежности и скорости выполнения операций чтения-записи;
- встроенный драйвер печати;
- возможность одновременной работы с тремя дисководами;
- возможность работы с квазидиском;
- возможность запуска файлов в пакетном режиме при начальной загрузке системы «холодном» старте.
ВНУТРЕННИЕ КОМАНДЫ
В BIOS V3. 00 реализована возможность использования внутренних команд, вводимых через клавишу [F1] (F1-команды), что позволяет более гибко управлять компьютером, настраивая его на требуемые характеристики работы. Для входа в режим исполнения F1 -команд необходимо нажать клавишу [F1]. В левом верхнем углу экрана появится промпт режима внутренних команд:
СМD>
(сокращение от «COMMAND» — «команда»). Рядом будет мигать курсор. Ввод F1 -команды осуществляется нажатием на одну из следующих клавиш:
- [С] — включение цветного режима;
- [K] — эмуляция кодировки KОИ-8;
- [R] — обслуживание управляющих кодов терминала компьютера Robotron-1715:
- [U] — изменение формы курсора;
- [G] — выход в СР/М по «горячему» старту;
- [M] — выход в МОНИТОР;
- [L] — включение служебной строки.
Клавиша [F1] в СР/М программах используется крайне редко. Поэтому именно она и была выбрана ДЛЯ входа в режим исполнения F1-Команд. Если какая-либо программа все же требует использования клавиши [F1], ее нажимают дважды. При первом нажатии выдается промпт режима F1 команд. При втором — в программу возвращается код клавиши [F1].
Включение цветного режима
Пользователей, привыкших работать с цветным экраном, порадует возможность использования цвета при работе с СР/М. Напомним, что все предыдущие версии были монохромными. Однако при включении цвета необходимо соблюдать некоторую осторожность.
Если Вы работаете в цветном режиме с какой-то программой и цвет экрана неожиданно портится, в этом нет ничего страшного: введите F1-команду «С» (цвет будет выключен) и продолжайте работу. Изменение цвета связано с тем, что в цветном режиме включен экран «Ориона-128», располагающийся с адреса B000H, а некоторые программы используют ату область для своей работы. По этой же причине опасно запускать программы, работающие в области 8000H-0AFFFH в нулевой странице, не выключив предварительно цвет, Примерами таких программ являются программы, самостоятельно выводящие символы на экран {файлы КОI8. СОМ, RLS0.COM и т. п.
При работе в монохромном режиме подобных ограничений на запуск программ нет.
Если находясь в монохромном режиме Вы решили включить цветной ражим, сделать это лучше, когда на экране еьше" ЯШ Промпт СР/М. Включить цвет можно, и работая в какой-либо программе, но в этом случае Вы должны быть уверены! что программа не использует для своей работы область 8000H-AFFFH.
Вывод из всего вышесказанного следующий: если вам вое равно, в каком режима работать, включайте монохромный — он самый безопасный. Если Вы предпочитаете цвет, то придется немного попрактиковаться, чтобы понять, когда можно включать цветной режим, & когда нет.
Эмуляция кодировки КОИ-8
Многие СР/M программы ДЛЯ «Ориона- 123» были перенесены с компьютера «Корвет». Так как на «Корвете» применяется кодировка КОИ-8 (на «Орионе-128» — КОИ-7), работ с этими программами без загрузки дополнительного драйвера затруднена. Использование режима эмуляции кодировки КОИ-8 позволяет работать с указанными программами без загрузки дополнительного драйвера, Для включений режима применяете" F1-команда «К». При этом латинские и русские строчные буквы отображаются соответственно латинскими и русскими прописными буквами.
Отметим, что эмуляция относится только к выводу символов на экран и не обеспечивает ввод с клавиатуры кодов, значение, которых превышает 7FH.
Повторный ввод F1-команды «К» отключает эмуляцию.
Обслуживание управляющих кодов терминала компьютера Robotron-1715
Все большее число программ было взято с компьютера Robotron −1715, Все они используют в качестве управляющих кодов (очистка экрана, установка курсора и т. п.) коды, которые а большинстве своем отличаются от кодов, применяемых на «Орионе».
Применение F1 -команды «R» подключает внутреннюю подпрограмму, обслуживающую управляющие коды терминала компьютера Robotron-1715, что позволяет обойтись без загрузки дополнительного драйвера, как это делалось раньше.
Для отключения режима выполняется повторный ввод F1-команды «R».
Изменение формы курсора
Описываемая версия BIOS позволяет выбрать такую форму курсора, которая вам больше нравится. Каждый ввод F1-команды «U» заменяет форму курсора. Выбранная форма сохраняется до «холодной» загрузим ОС или очередного ввода команды.
Выход в СР/М по «горячему» старту
Очень часто при ознакомлении с новыми программами возникает ситуация, когда пользователь не знает, как вернуться в операционную систему. Обычно для зтих целей используется клавиша [F4] (или [УC]/[C]) однако в некоторых случаях и это не помогает.
Ввод F1-команды «G» позволяет завершить работу с программой без нажатия клавиши [Сброс].
Выход в МОНИТОР
F1 -команда «М» автоматически форматирует диск В: ORDOS и передает управление по стартовому адресу МОНИТОРа (0F800Н). Чтобы вернуться в СР/М, необходимо выполнить «холодную» загрузку системы.
Включение служебной строки
F1-команда «L» позволяет как включить, так и отключить служебную строку.
Служебная строка расположена в первой строке экрана и при включенном цветном режиме выделена цветом. Информация, выводимая в служебную строку, означает:
- «CMD> — включен режим ввода F1-команд;
- „COL“ — включен цветной режим;
- „RBT“ —включен режим обслуживания кодов терминала компьютера; ЙоЫйгол-1715;
- „КОИ“ — включена эмуляция кодировки КОИ-8;
- „РУС“ — включен режим ввода русских букв;
- „LAT“ — включен режим ввода латинских букв.
Информация о режимах выводится только в том случае» если служебная строка включена.
После «холодной» загрузки ОС включены цвет, служебная строка, режим ввода латинских букв,
ВЫВОД КУРСОРА НА ЭКРАН
В ранних версиях ОС при работе со многими СР/М программами курсор просто исчезал и появлялся на экране только в момент нажатия на клавишу. Естественно, такое свойство значительно усложняло работу с этими программами. В версиях СР/М для «Ориона-128», начиная с версии BIOS V2.60, подпрограмма вывода курсора на экран построена таким образом, что курсор присутствует на экране всегда. Правда, при работе с некоторыми программами он перестает мигать, но в любом случае показывает местоположение будущего символа. Отметим, что новый принцип получения курсора практически не снижает скорость вывода информации на экран,
ВВОД С КЛАВИАТУРЫ
Большинство программ в СР/М во время выполнения промежуточных действий опрашивают через BIOS клавиатуру. Это позволяет, не ожидая окончания обработки этих действий, вводить дополнительные команды или выполнять другие операции, связанные с вводом информации с клавиатуры. Для того чтобы вводимая информация не пропала и была в дальнейшем обработана, в BIOS организован специальный буфер для вводимых кодов. Ситуации, когда буфер переполняется, встречаются очень редко. Однако, если это все же произойдет, подпрограмма ввода символа с клавиатуры выдаст предупредительный звуковой сигнал и заблокирует ввод информации с клавиатуры. В этом случае Вам необходимо сделать небольшую паузу, пока программа, с которой Вы работаете, не обработает хотя бы часть символов из буфера, а затем опять продолжить ввод.
Переключение русского и латинского алфавитов осуществляется как с помощью клавиши [Рус/Лат], так и с помощью клавиши [СТР], Хотя эта и может показаться излишеством, но из-за особенностей построений МОНИТОР-2, работающего с клавиатурой MC7007t в некоторых СР/М-программах нажатие клавиши [СТР] — единственная возможность переключения алфавитов. К сожалению, это накладывает определенные ограничения на ее использование в программах. Для того, чтобы программа все же получила код клавиши [CTP], воспользуйтесь тем же способом, что и в случае о клавишей [F1], то есть войдите в режим ввода F1 -команд, нажав клавишу [F1], а затем нажмите клавишу [CTP].
ЧТЕНИЕ-ЗАПИСЬ НА ДИСКЕТУ
При эксплуатации предыдущих версий BIOS были выявлены некоторые ошибки. Их исправление, а в некоторых случаях применение других алгоритмов позволило повысить надежность операций чтения-записи и несколько увеличить их скорость,
ДРАЙВЕР ПЕЧАТИ
Драйвер печати, встроенный в BIOS, поддерживает работу с принтером, осуществляющим прием данных в параллельном формате (Centronics, ИРПР, ИРПР-М). Вопрос подключения принтера подробно рассмотрен в [2].
Самый простой способ вывода информации на печатающее устройство — режим эхо-печати. Для его включения необходимо нажать клавиши [УС]/[Р] (нажатие клавиши [Р] при нажатой клавише [УС]). После этого вся информация, выводимая на экран, также будет выводиться и на принтер. Таким образом, можно распечатать директорий диска, текстовый файл или результаты работы любой программы, выводимые на экран. Для отключения режима повторно нажмите [УС]/[Р] или [F4].
Кроме этого, существует большое количество программ, выполняющих форматированный (с отступами, с разбиением на страницы и т. п.) и неформатированный вывод на печать.
РАБОТА С ДИСКОВОДАМИ
Описанный ранее контроллер обеспечивает возможность подключения до четырех дисководов. Однако, BIOS V3.00 позволяет работать только с тремя (А: — С:), За счет отказа от применений четвертого дисковода появилась возможность работы с квазидиском Е:, а также развитая структура внутренних F1-команд/
В BIOS хранится следующая информация о каждом дисководе:
- число дорожек;
- время перемещения головки дисковода.
Начальная установка этих параметров для каждого дисковода имеет вид:
- А: 30 дорожек, время перемещения 30 мс;
- B: 80 дорожек, время перемещения 30 мс;
- С: 40 дорожек, время перемещения 30 мс.
Для изменения характеристик дисководов и генерации системы с новыми характеристиками используется программа «System Generator» (см. ниже).
РАБОТА С КВАЗИДИСКОМ
Расширив ОЗУ «Ориона-128» до 256 Кбайт, вы получите возможность работы с квазидиском. Квазидиск носит ИМИ Е:, под него используется расширенное ОЗУ второй и третьей страниц общим объемом 120 Кбайт, Работа с ним совершенно не отличается от работы с обычным дисководом.
Преимущества, которые дает квазидиск, очевидны; это и появление дополнительного дискового устройства, и уменьшение износа дисководов, и возможность копирования файлов тем пользователям, которые имеют только один дисковод, и более быстрый доступ к данным, а также некоторые другие.
Перед работой с квазидиском необходимо провести операцию инициализации. Это делается с помощью транзитной команды INITE (файл INITE.COM). При запуске программы без параметров будет выведена информация о ключах, указываемых в команде. Для инициализации диска E: используют ключ «F»:
A>INITE F
Ответьте «Y» на запрос подтверждений Ваших действий или «N» для отказа от проведения операции инициализации.
Кроме этого BIOS дает возможность назначить квазидиску имя А; и скопировать на него часть ОС СР/М, загружаемую при «горячем» старте системы. Дисковод, выбиравшийся под именем А: получит имя Е:. Что это дает? Операция «горячего» старта ОС выполняется гораздо быстрее, существенно ускоряется работа с пакетными файлами, облегчается работа программ, создающих файл $$$.SUB. При назначении квазидиску имени А: удобнее становится пользоваться запуском команд из графической оболочки ОС СР/М «Bridge Panels».
Для переназначении имен дисков и копирования части системы на квазидиск используют ключ «S» или «SF», если нужно провести еще и инициализацию. Обычно ключ «SF» применяется в самом начале работы. Если Вы вышли из ОС СР/М, а затем выполнили ее «холодную» загрузку, квазидиск опять будет выбираться под именем Е:. Чтобы получить доступ к информации, записанной на него ранее и переназначить имена дисков, используют команду «INITE» с ключом «S». Будьте внимательны! Указание ключа «F» приводит к пропаданию информации, записанной на квазидиске.
АВТОЗАПУСК ПРИ «ХОЛОДНОМ» СТАРТЕ
Если при начальной загрузке системы Вам приходится постоянно запускать некоторые программы (различные драйверы клавиатуры, экрана, дисководов, квазидиска и т. п.) либо выполнять одну и ту же последовательность команд СР/М, то проще всего занести их в командный файл с именем PROFILE.SUB и тогда они будут выполняться автоматически каждый раз при «холодном» старте системы.
В отличие от предыдущих версий BIOS, требующих, чтобы на дискете с файлом PROFILE.SUB находилась программа SUBMIT (файл SUBMIT.COM) и запрещающих заклеивание прорези защиты от записи дискеты, версия СР/М с BIOS V3.00 не имеет указанный ограничений.
Чтобы прервать выполнение командного файла, необходимо нажать любую клавишу.
Мы не будем подробно останавливаться на описании резидентных к транзитных команд ОС СР/М, так как журнал «Радио» уже уделял внимание этому вопросу [ 1]. Для подробного ознакомления с командами ОС СР/М можно воспользоваться литературой [3,4]. Кроме того, на заказанной Вами системной дискете, содержащей стандартный набор программ, имеется файл с описанием их применений. Уделим внимание лишь принципиальным различиям, а также программам, подробно не описанным в литературе.
ФОРМАТИРОВАНИЕ ДИСКЕТ
Прежде чем записать на дискету какую-либо информацию, ее необходимо отформатировать, то есть разметить определенным образом. Эту задачу решает программа FORMAT, находящаяся в файле FORMAT.COM, поставляемом вместе с операционной системой. Программа FORMAT позволяет выполнить следующие функции:
- одностороннее/двустороннее форматирование;
- форматирование с одинарной/двойной плотностью записи;
- форматирование 40/80 дорожек;
- перенос на дискету операционной системы;
- проверку форматирования.
После форматирований каждая дорожка содержит 5 секторов размером 1024 байт каждый.
Синтаксис командной строки:
FORMAT d: [keys],
где d: — имя дисковода, на котором производится форматирование;
keys — ключи, определяющие параметры форматирования.
Каждый ключ предваряется знаком «/» (косая черта}. Между ключами допускается любое количество пробелов. Порядок расположения ключей в командной строке произвольный. В случае отсутствий ключа выполняются действия, обратные его указанию.
Допустимые ключи (в скобках указаны параметры, используемые при отсутствии данного ключа):
- /1 — одностороннее (двустороннее) форматирование;
- /0 — одинарная (двойная) плотность записи;
- /4 — 40 (80) дорожек;
- /NS — без переноса (с переносом) операционной системы;
- /NV — без проверки (с проверкой) форматирования.
При неправильном задании ключа или при отсутствии имени диска на экран выводится справочная информация программы FORMAT.
Примеры использований ключей:
- FORMAT В:/4/1 (40, SS, OD, Sys, Ver);
- FORMAT A;/0/NS/NV< (80, DS,SD, NoSys, NoVer);
- FORMAT B: (80, DS, DD, Sys, Ver).
Здесь 40 и 80 — 40 и 80 дорожек соответственно; SS и DS — одна и две стороны соответственно; SO и DP -одинарная и двойная плотность соответственно; Sys и NoSys — с переносом и без переноса системы соответственно; Ver и NoVer—с проверкой и без проверки форматирования соответственно.
После запуска программы FORMAT необходимо вставить в выбранный дисковод дискету, которую нужно отформатировать, и нажать клавишу [BK],
При проведении операции форматирования на экран выдается информация о текущей форматируемой дорожке дискеты (рис. 1). Символы, ПОЯВЛЯЮЩИЕСЯ в процессе форматирования, означают:
- «F» — форматирование текущей дорожки;
- «V»—проверка форматирования текущей дорожки;
- «W» -—запись информации на текущую дорожку;
- «.» — отформатированная дорожка ;
- «S» — системная дорожка;
- «I»—дорожка с информационным сектором;
- «Е» — ошибка при проверке форматирования.
форматирование, проверка форматирования, запись информационного сектора и перенос системы осуществляются в едином цикле без повторных возвратов головки дисковода. Прервать форматирование можно нажатием клавиши [АР2] или [F4j ([УС]/[C]).
ПОСЛЕ окончания форматирования выдается запрос на форматирование следующей дискеты:
FORMAT ANOTHER? (Y/N)
Ответьте «Y» для форматирования очередной дискеты или «N» для возврата в операционную систему,
УСТАНОВКА СИСТЕМЫ НА ДРУГИЕ ДИСКЕТЫ
Дли настройки системы на характеристики дисководов и переноса системы на дискету служит программа «System Generator», находящаяся в файле SG.COM. После запуска программа выведет информацию об авторском праве, дату последней модификации характеристик, имя диска, на который будет записываться система, характеристики дисководов, указанные в данном файле SG.COM. Снизу будет выведена подсказка о клавишах, которыми можно пользоваться {рис.2}.
Вверху находятся четыре команды, одна из которых выделена инверсией. Перемещение инверсного указателя осуществляется с помощью клавиши [ТАБ], вызов команды — [ВК].
Список и описание команд:
- «GENERATE» — записать систему на диск, имя которого задано в строке «DESTINATION DRIVE»;
- «CHANGE» — изменить характеристики" Изменение параметров осуществляется клавишей [BK], переход к следующему параметру—[ТАБ]. Для возврата в командный режим используется клавиша [АР2];
- «SAVE» — записать измененные параметры в файл SG.COM. Файл SG.COM записывается на текущий дисковод. Если на диске существует файл с таким именем, eго содержимое будет перезаписано. Перед выполнением команды «SAVE» рекомендуем указать дату модификации параметров в строка «MODIFICATION DATE».
- «QUIT» — закончить работу с программой и вернуться в ОС СР/М. Кроме того, в СР/М можно вернуться в любой момент нажав клавишу [F4].
Генератор системы версии 1.3 позволяет задать характеристики для трех дисководов и записать систему на диск, имя которого указано в строке «DESTINATION DISK». Если ранее с помощью команды «INITE» было произведено переназначение имен (квазидиск получил имя А:, а дисковод выбиравшийся ранее как А: — имя Е:), то для того, чтобы записать систему на диск, выбиравшийся ранее под именем А:, необходимо указать его новое имя, то есть Е:.
Программа позволяет установить число дорожек и время перемещения головки дисковода.
Число дорожек — 40 или 80.
Время перемещения головки дисковода — 6,12,20 или 30 мст
Большинство дисководов работают вполне надежно при 6 мс (5305, 5311, 6313, 5323, «TEAC»), Однако для некоторых дисководов приходится эту постоянную увеличивать (5321 и Т. П.), Попробуйте подобрать оптимальное время перемещения головки для своих диско вводов. Используя программу «System Generator», это будет совсем несложно.
М, БРИДЖИДИ, Г. РОГОВ г. Москва
ЛИТЕРАТУРА
- Ахманой А., Рой Н., Скуряхин А. Пользователям о «Корвете», Операционная система и программное обеспечение. Радио, 1989, № 10, с. 39, № 12, с. 33.
- Рогов Г., Бриджиди М. «Орион-128» — настоящее и будущее. — Радио, 1993, № 4, стр. 19.
- Бриджиди М., Рогов Г. Операционная система CP/M 80 для ПРК «Орион-128». — Радиолюбитель, 1992, № 12, с. 12, 1993, № 1, с. 12, № 2, с. 10.
- Уайт М., Ангермейер Дж., Операционная система CP/M. М.: Радио и связь, 1986.