Орион-128/Радио 09-90/Системный загрузчик

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

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

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

Источник: http://www.retro.h1.ru/Orion/SBoot/SysBoot.php

СИСТЕМНЫЙ ЗАГРУЗЧИК ДЛЯ «ОРИОН-128»

Как мы уже условились — вторая страница памяти компьютера используется, нами как внутренний «квазидиск», поэтому следует помнить, что диск этот электронный и, следовательно, информация в нем сохраняется только до тех пор, пока включено питание. Чтобы сразу после включения компьютера начать работу, необходимо предварительно загрузить в квазидиск необходимые в данный момент системные и прикладные программы, которые хранятся, в нашем случае, на магнитной ленте. Для таких операций (загрузки/разгрузки) необходима специальная программа, выполняющая эти функции, причем ее необходимо постоянно иметь «под рукой». Опыт авторов показал, что такая программа-загрузчик по значимости занимает одно из первых мест при работе в операционной среде с электронным диском, особенно если он ограниченного объема.

Понятно, что столь необходимая программа должна храниться в ROM-диске. Только в этом случае ее можно оперативно вызвать в любой момент для очередной дозагрузки необходимой программы или освобождения диска от «продуктов» вашего творчества.

Программа-загрузчик (авторы назвали ее «CHANGER» и поэтому имя программы на диске— «СH$») является одной из загружаемых команд операционной системы «ORDOS». Распечатка кодов программы приведена в табл.1, а контрольные суммы блоков — в табл.2.

Таблица 2.

0000 - 00FF F380
0100 - 01FF 3ADC
0200 - 02FF 9024
0300 - 03FF Е941
0400 - 04FF 5EAD
0500 - 052F С7В1

Размещается «СН$» в следующем ППЗУ, после ППЗУ с операционной системой, то есть располагается на посадочном месте 2 платы ROM-диска с начальным адресом выборки 0800Н. Содержимое оставшихся свободных ячеек ППЗУ необходимо оставить со значением 0FFH. Впоследствии вы можете дописать туда следующую загружаемую команду.

Итак, после того как вы установили на плате ROM-диска ППЗУ с программой, перейдите из монитора в операционную систему директивой «R». Напомним, ОС выведет оглавление и Промпт и рядом мигающий курсор. Нажмите клавишу ВК (упрощенный ввод директивы «DIR»). Если программа правильно размещена в ROM-диске, то на экране, в результате этих действий, появится сообщение:

О R D O S (С) 
VERSION 2.00
СН$ В000 1312/0520Н 
А>

Надеемся, что информация на экране вам понятна — выведенная строчка является первой записью вашего каталога диска «А». По мере увеличения количества программ в диске «А» будет увеличиваться и размер каталога.

Чтобы запустить программу в работу, введите после Промпта (угловой скобки) следующее:

А>L СН [ВК] (ИЛИ ПРОБЕЛ ВМЕСТО “L”).

ОС перезагрузит программу «СН$» из диска «А» в ОЗУ пользователя и передаст ей управление. На экран будет выведена вертикальная рамка, в заглавной части которой вы увидите следующую информацию: «В: CHANGER — DOS М:0000», несколько ниже — светлую полосу и надпись на ней «ВВОД», а рядом — мигающий курсор.

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

Далее: «CHANGER — DOS» — это авторское имя программы, а вот следующее сочетание символов «М:0000» имеет важное значение для пользователя. Символ «М» от слова «MEMORY» — память, после двоеточия — указатель адреса (в шестнадцатиричном исчислении), до которого заполнен диск. В данный момент диск пуст, поэтому и выводится значение «0000». По мере загрузки программ и заполнения диска значение будет увеличиваться. Предельным для диска «В» (если другие программы не ограничивают его размер) является значение OEFFFH. Если программа, вводимая с ленты, не помещается на диске — загрузчик выводит сообщение: «мало диска».

Теперь вернемся в ОС (нажатием клавиши F4) и с помощью директивы «S» создадим файл или несколько файлов для начального ознакомления с программой.

A>S PROBA 1000, 1100 [ВК].

Теперь снова запустим программу «СН$». Заметили разницу? В первой строке находится теперь файл «PROBA», а надпись «ввод» «опустилась» ниже. Нажмите клавишу «курсор вниз» или «курсор вверх»: светлую полосу можно перемещать по строкам — это курсор-указатель. Если он находится на слове «ввод», то устанавливается режим ввода (чтения) информации с магнитной ленты на диск, а если установить его на строку с именем файла — режим записи этого файла. Привести в действие эти режимы можно, нажав клавишу ВК. Перемещая курсор-указатель, можно в любом порядке и только нужные вам файлы записать на магнитную ленту. На диске файлы остаются без каких-либо изменений. Если необходимо разгрузить весь диск «оптом», нажмите клавишу с символом «М» (массив). Независимо от того, где находится курсор-указатель, файлы текущего диска будут поочередно записываться на магнитную ленту, при этом сформируются и необходимые паузы между ними.

Теперь о вводе программ. Установите курсор-указатель в строку «ввод». Клавишу ВК нажмите после появления сигнала фонограммы. Рядом с надписью «ввод:» появится имя считываемой программы. Если вас не устраивает данная программа, остановите магнитофон: программа «CHANGER» автоматически вернется в исходное состояние. Бывают случаи, когда приходится считывать файлы с чужой кассеты, на которой плотность записи информации может не совпадать с вашей. В этом случае нажмите при считывании вместо клавиши ВК клавишу ПС. По окончании считывания программы каталог обновляется. Если при считывании обнаружена ошибка, то есть несовпадение контрольной суммы — выводится сообщение: «ошибка».

Программа не допускает загрузки в диск файлов с одинаковыми именами и выводит сообщение: «повторный файл». Эту особенность загрузчика можно использовать для проверки качества сделанной записи — верификации программы. Считайте только, что записанный файл. При совпадении контрольной суммы будет выведено сообщение: «Повторный файл», в противном случае «ошибка». После вывода выше названных сообщений загрузчик переходит в режим ожидания и индикации сообщений. Чтобы привести его в исходное состояние, нажмите кратковременно любую символьную клавишу.

Следует учесть, что в каталоге диска не может быть более 22 файлов, то есть больше того количества, которое вмещается в обрамляющую рамку. Если это условие нарушается, происходит рассинхронизация курсора-указателя по отношению к именам файлов, что нарушает экранный режим. Авторы не стали вводить в программу защиту по этому параметру, полагая, во-первых, что в таком сравнительно небольшом «квазидиске» редко возникают такие ситуации, а во-вторых, при определенной сноровке, сохраняется возможность вывода всех файлов на магнитную ленту.

ТАБЛИЦА 3

А -ВКЛЮЧЕНИЕ ТЕКУЩИМ ДИСКА «А»
В — ---— ——— ——----"—— ДИСКА «В»
[ВК] — ПРИВЕДЕНИЕ В ДЕЙСТВИЕ РЕЖИМА «ЧТЕНИЕ» ИЛИ «ЗАПИСЬ»
В ЗАВИСИМОСТИ ОТ ПОЛОЖЕНИЯ КУРСОРА-УКАЗАТЕЛЯ.
[ПС] — ТОЛЬКО ЧТЕНИЕ, НО С ПРЕДВАРИТЕЛЬНЫМ АВТОМАТИЧЕСКИМ
ОПРЕДЕЛЕНИЕМ КОНСТАНТЫ СЧИТЫВАНИЯ.
M — ВЫВОД СОДЕРЖИМОГО ТЕКУЩЕГО ДИСКА НА МАГНИТНУЮ ЛЕНТУ МАССИВОМ.
[F4] — ВОЗВРАТ В ДОС. МОЖНО — УС+С

В табл.3 приведены команды загрузчика «CHANGER».

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

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

Вторая причина — это качество магнитной ленты. Увы, отечественным лентам (при прочих недостатках) присущ еще один — это выпадание сигнала из-за разрушения феррослоя. Судите сами: если при существующей плотности на каждом миллиметре ленты записывается 3—4 байта, то разрушение феррослоя протяженностью в несколько десятков микрон ведет к потере нескольких бит, а значит, всего файла. Противостоять этому пороку, в какой-то мере, можно только резким понижением плотности записи или использованием кассет с импортной лентой.

Поэтому только наличие стационарного кассетного магнитофона достаточно высокого класса (не ниже второго) со счетчиком ленты (авторы используют магнитофоны-приставки «Яуза-220» и «Яуза-221-1C»), а также высококачественной ленты могут снять все досадные проблемы с надежностью хранения информации и ее оперативным поиском.

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

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

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

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