Операционная система OR DOS V5.0 Орион-128
Отличительные особенности версий V4.03 и V5.0
По журналу Радиолюбитель № 1, 1994 год
Стандарты ПО, адресов и портов
А. КУНЧЕНКО, Д. КИСЕЛЕВ.
ОПЕРАЦИОННАЯ СИСТЕМА OR DOS V5.00 ДЛЯ ПРК "ОРИОН-128" - НАЧАЛО
ОБЩИЕ СВЕДЕНИЯ
Операционная система OR DOS V5.00 - результат модернизации описанной
в журнале "Радио"
авторской ДОС версии 2.4.
При этом сохранена программная совместимость с ранними версиями: не
измелилось расположение ДОС в адресном пространстве, ее длина осталась
неизменной. Модернизация ДОС велась, прежде всего, по пути максимального
увеличения достоверности хранения файлов на квазидисках. Д ля этой цели
усовершенствована работа подпрограмм записи файла на диск и чтения файла
с диска. В оглавлении файла выделены два из трех свободных байта для
хранения контрольной суммы. В результате этого добавился еще один код
завершения подпрограммы чтения файла с диска - "плохой файл". В каких же
случаях может нарушиться информация, хранимая в файле? Наиболее
распространенной можно считать ситуацию, когда по какой-либо причине
запущенная на выполнение программа теряет управление и начинает хаотично
модифицировать содержимое квазидисков, или (в случае ROM-диска)
наблюдается неправильное считывание из ППЗУ. В этом случае передачи
управления испорченному файлу может привести к полной потере шкрормации
на квазидисках, что исключается при использовании ДОС, предлагаемой
вашему вниманию в данной статье. Вторым направлением модернизации
является ввод механизма обработки пакетных файлов. Пакетный файл
(текстовый файл, созданный любым текстовым редактором) содержит
последовательность выполнения встроенных и внешних команд операционной
системы и другие команды. Синтаксис и использование пакетных файлов
будут рассмотрены ниже.
В OR DOS V5.00 заложена возможность работы с дополнительными RAM-дисками С: и D: при наличии дополнительных банков ОЗУ (соответственно 2-я и 3-я страницы). Однако при попытке выбора одного из RAM-дисков ДОС производит контроль физического наличия соответствующей страницы, поэтому при обращении к несуществующим дискам выбора не произойдет.
Рассмотрим процесс инициализации. После запуска ДОС производит контроль RAM-дисков на наличие в них информации. Для этого в соответствующей странице ОЗУ проверяются первые восемь байт RAM-диска и, если хотя бы в один из них записан код меньше 20Н, производится автоформатирование соответствующего диска. Такому контролю последовательно подвергаются диски В:, С: и D:. После этого производится поиск сначала на диске В:, затем на А: пакетного файла с именем SETUP.TX, в котором задана начальная установка среды: запуск драйверов и т.д. После его обработки, как и в ORDOS ранних версий, производится поиск и запуск файла с именем ЕХТ, причем он также может быть пакетным. Если файл ЕХТ не перехватывает управление, а возвращается в ДОС командой RET, то ДОС выведет на экран сообщение:
OR-DOS (R) V5.00 (С) 1992, 93 К&К, INC.
А>_
Мигающий курсор свидетельствует о том, что ожидается ввод команды. В табл.1 приведены машинные коды, а в табл.2 - контрольные суммы дампов ДОС (таблицы будут опубликованы в следующих номерах).
ВСТРОЕННЫЕ КОМАНДЫ ДОС
Набор встроенных команд по сравнению с ДОС более ранних версий не
изменился, однако был несколько изменен их синтаксис и выдаваемые ими
сообщения. Рассмотрим каждую из них подробнее. Синтаксис рассмотрим на
примерах.
1. Форматирование диска. Предназначена для форматирования RAM-дисков:
B>F (ВК). После этого ДОС запросит подтверждения. Если Вы уверены, то
нажмите (ВК), иначе - любую клавишу.
При попытке форматирования ROM-диска будет выдано сообщение READ ONLY
(только чтение).
2. Вывод каталога диска. Наберите после промпта:
C>D (ВК). Каталог диска выводится в усеченном виде. Пример:
В одной строке выводится четыре имени, разделенных двоеточием.
3. Удаление файла. Формат команды: В>Е <FileName>
(ВК).
Как и в случае форматирования диска, ДОС запросит подтверждения. При
выполнении удаления возможны следующие сообщения ДОС.
NO FILE: <filcname> - нет файла с заданным именем; READ ONLY: <filename>
- указанный файл имеет статус только чтение.
4. Переименование файла. Формат команды: B>R <new_name> <filename> IBK],
где <new_name> - новое имя. Возможные сообщения об ошибках:
NO FILE: <filename> - нет файла, который нужно переименовать; EXISTS: <new_name>
- существует файл с именем, котороезада-но в команде как новое.
5. Запись блока ОЗУ на диск в виде файла. Формат команды: B>S <filcnamc>
bcghcx.endhex [ВК],
где beghex - начальный шестнадцатиричный адрес блока; endhex - конечный
шестнадцатиричный адрес блока. Возможные сообщения об ошибках:
EXISTS: <filename> - существует файл с заданным именем: DISK FULL: <filename>
- нет места на диске.
6. Просмотр текстового файла. Формат команды: В>Т <filename> [ВК].
Чтобы временно приостановить вывод, нажмите любую клавишу. Возможное
сообщение об ошибке: NO FILE: <filename> - нет файла с заданным именем.
7. Запуск файла на выполнение. Запустить на выполнение можно запускаемые
и пакетные файлы. Формат:
B><filename> (ВК).
Возможные сообщения об ошибках:
NO FILE: <filename> - на диске нет файла с заданным именем; BAD LOAD: <filename>
- файл разрушен на диске. При описании синтаксиса команд приняты
сокращения: <filemame> - имя файла;
(ВК) - нажатие на клавишу "возврат каретки".
ПАКЕТНЫЕ ФАЙЛЫ
Пакетным файлом в системе считается файл, имеющий в имени символ "&" (по
аналогии с "$" в случае с запускаемыми файлами). К пакетным относится и
файл настройки операционной среды SETUP.ТХ, и все сказанное ниже в
полной мере относится и к нему. Пакетные файлы могут быть созданы любым
текстовым редактором и могут содержать набор внешних и внутренних команд
ДОС, а также некоторые дополнительные команды управления дисплеем. К
таким командам относятся команды очистки экрана и вывода текстовых
сообщений на экран. Строка, начинающаяся символом '"", при выполнении
пакетного файла интерпретируется подпрограммой обработки пакетного файла
как текстовое сообщение: производится перевод курсора в первую позицию
следующей строки, а затем вся строка выводится на экран. При этом, если
сообщение содержит символ "#", его вывод вызывает очистку экрана
(эквивалентно коду 1FH). Признаком окончания пакетного файла является
либо символ "."на месте первого символа последней строки (эта строка
игнорируется) , либо код 0FFH (если пакетный файл набран текстовым
редактором, создающим массив в формате "Микрон", то последняя строка как
раз и содержит код 0FFH, что является признаком конца текста).
Приведем пример пакетного файла: '#
'"ORION-128.2" *
A:TEST$ A:DI$
A:COPY$ A:SET_.TX B:SETUP.TX A: DCS
В данном случае приведен пример файла SETUP.TX, предназначенного для
записи в ROM-диск. Рассмотрим действия, которые произведет ДОС при
обработке данного файла. Первая строка содержит команду очистки экрана,
вторая строка приводит к появлению на экране сообщения: "ORION-128.2" в
верхнем левом углу экрана (курсор туда устанавливает код 1FH). Затем
производится последовательный запуск программ тестирования TESTS и DI$ с
диска А:. Затем с диска А: на В: будет скопирован текстовый файл SET_ТХ
под
именем SETUP.TX. Это сделано для того, чтобы тестирование работы
компьютера не производилось при последующих перезапусках системы: ДОС
будет после инициализации находить первым файл SETUP.TX на диске В:, а
он содержит минимальный набор команд установки среды. И, наконец,
производится запуск графической оболочки DC$.
Приведем другой пример пакетного файла, в котором использованы
встроенные команды ДОС, который может пригодиться при работе с ASSM$ в
режиме автоматического присвоения имен оттранслированным программам
(создаются файлы вида СОМn$, где
n- номер от 1 до 9). Его запуск приведет к
удалению (с запросом) всех таких файлов на диске В:
В:ЕСОМ1
B:E COM2
В:Е COM3
В:Е COM4
В:Е СОМ5
В:Е СОМ6
В:Е СОМ7
В:Е СОМ8
В:Е СОМ9
Запомните этот текстовый файл под именем ЕСОМ& и запустите, набрав
следующее:
В>ЕСОМ | В К |. Выполнение этого файла аналогично ручному вводу команды
удаления, однако, если такую последовательность действий приходится
выполнять многократно, уменьшаются затраты времени и повышается удобство
работы. Однако существует одно ограничение, связанное со спецификой
работы подпрограммы обработки пакетных файлов. При обработке очередной
записи пакетного файла она переписывается в буфер ДОС непосредственно с
диска, поэтому, если по какой-то причине в процессе обработки изменятся
адреса размещения выполняемого пакетного файла на диске (наиболее
вероятная причина - удаление файла, расположенного в каталоге диска выше
выполняемого), то при очередном обращении буфер попадет произвольная
информация. Поэтому пакетные файлы необходимо стремиться размещать в
начале диска, а лучше всего хранить их на диске А:.
ПОДПРОГРАММЫ ДОС
В табл.3 приведена таблица стандартных подпрограмм ДОС, их входные и
выходные параметры. Порядок вызова основных подпрограмм был подробно
рассмотрен при описании ОС ORDOS версии 2.4 в журнале "Радио". В данной
статье рассмотрим порядок обращения к добавившейся по сравнению с
ранними версиями точкой входа обработки пакетного файла. Эта точка
выведена по адресу 0BFB5H специально для использования графической
оболочкой при запуске ракетного файла. Рассмотрим пример обращения на
языке Ассемблера:
LX1 H.NAME ; в IIL - адрес начала имени файла
CALL SDMA ; установка указателя
CALL RFILE ; чтение файла с диска
CPI0FFH ; код завершения - "пакетный файл"
JZ PFILE ; если да - переход на обработку
Данная точка входа не является подпрограммой. После отработки
производится переход на теплый старт ДОС.
УСТАНОВКА ДОС НА ПРК "ОРИОН-128"
ПЗУ, "зашитое" кодами табл.1, помещается на первое посадочное место ROM-диска. ДОС на диске (как и в предыдущих версиях) занимает два килобайта. Теперь о самом неприятном. Как уже было упомянуто выше, новая ДОС после чтения файла проверяет, чтобы контрольная сумма прочитанного массива в ОЗУ совпала с указанной в оглавлении файла (в ячейке 0DH оглавления должен быть записан младший байт контрольной суммы, а в ячейке ОЕН - старший; здесь указаны адреса в оглавлении). Таким образом, файлы, созданные ДОС ранних версий, будут признаны данной ДОС как "плохие". Поэтому потребуется доработка ROM-диска: необходимо перепрограммировать соответствующие ячейки, которые должны содержать контрольные суммы и произвести корректировку оглавления всех имеющихся файлов OR DOS. Для облегчения данной работы нами была специально разработана программа INST$ для подготовки файлов к работе с ДОС новой версии. Листинг программы на Ассемблере приведен ниже, а машинные коды - в табл.4.
Наладка контроллера "Орион Софт" на 4 ре дисковода
С CP/M-80 на ты - публикация Сафонова и Сугоняко по журналу Радиолюбитель №1, 1994
На предыдущую страницу На главную страницу На следующую страницу