Орион-128/Радио 11-90/Загрузчик программ ПРК «РАДИО-86РК»

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

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

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

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

Программа «CHANGER — RK86» (файл «CHR$»), как и ранее опубликованные программы, инструментальное средство операционной системы «ORDOS» или очередная загружаемая команда. Она необходима для того, чтобы облегчить процесс считывания программ, хранящихся на магнитной ленте, записанных МОНИТОРОМ «Радио-86РК» или редактором «МИКРОН» [1], [2]. Это же относится и к программам, записанным МОНИТОРОМ ПРК «Орион-128».

Конечно, программы можно считывать директивой «I» МОНИТОРа, а затем уже, зная начальный и конечный адреса и находясь в ОС «ORDOS» с помощью директивы «S» создавать файлы. Однако такую методику невозможно применить к файлам, записанным редактором «МИКРОН», в котором использован совершенно другой формат записи на ленту.

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

Коды программы приведены в табл.1, а контрольные суммы блоков — в табл.2. Как занести программу в ROM-диск или квазидиск, мы уже рассказывали [3].

ТАБЛИЦА 2

0000 — 00FF 72F0
0100 — 01FF E81B
0200 — 02FF 2F21
0300 — 03FF 9A1A
0400 — 048F 31EC

Напомним, что при установке программы в ROM-диск необходимо набирать всю программу из табл.1. Как «пристыковать» программу в ROM-диске, вы тоже уже знаете. Если файл «СНR» будет храниться на магнитной ленте, то в квазидиск программу заносят директивой «S», но опускают при этом первую строчку таблицы (то есть его размещение происходит начиная с адреса 0010Н). Не забудьте изменить адрес старта. При запуске файл «CHR$» размещается и работает в области загружаемых команд с адреса 0В000Н.

В МОНИТОРе «М128» есть директива «FILE ADDRES», с помощью которой можно изменять адрес старта программы. Напомним, ее синтаксис для нашего случая: B:CHR B000 [ВК].

Если вы еще не располагаете для работы программой «M128$», то изменить адрес старта можно подпрограммой, приведенной в [3], в табл.3. Однако при этом следует помнить, что программа «CHR$» в квазидиске должна располагаться первой (убедитесь в этом по каталогу диска «В»).







Итак, программа находится на диске и вы ее запустили. На экране возникает изображение, приведенное на рис.1 (без нижней строчки). При появлении сигнала фонограммы нажмите клавишу ВК. Если произойдет безошибочное считывание программы, записанной МОНИТОРОМ, загрузчик выведет справочную информацию (рис.2) и вопрос «файл? — ВК…» (то есть занести считанную информацию в квазидиск?). При положительном решении нажмите клавишу [ВК], в этом случае рядом будет выведено текущее временное имя файла, которое загрузчик автоматически присваивает при занесении считанной программы в квазидиск. Далее последует приглашение к продолжению считывания следующей программы. Если вы согласны, нажмите любую символьную клавишу. Для выхода в «ORDOS» нажмите клавишу F4. Если считанную программу нет необходимости заносить в квазидиск, нажмите (вместо ВК) любую другую символьную клавишу. Автоматически формируемое имя файла состоит из двух символов «FL» и двузначного десятичного числа. Начальное значение «00». При каждой загрузке файла численное значение увеличивается на единицу.

Если считываемый файл записан текстовым редактором «МИКРОН» (начало фонограммы имеет характерное двухтоновое звучание, то имя файла (но не более 16 символов) выводится на экран дисплея (нижняя строчка на рис.1). По окончании считывания выводится справочная информация (рис.3). Она несколько отличается от приведенной ранее на рис.2. Дело в том, что начальный адрес этих файлов всегда 2100Н. Изменить его можно в ячейках 01FBH, 01FCH (по табл. 1). А вот размер файла (то есть его длина) может быть разным. Именно этот параметр загрузчик и выводит. Далее программа предлагает пользователю выполнить уже знакомые действия.

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

Загрузчик может автоматически определить константу считывания, если при запуске на считывание программы вы нажмете вместо клавиши [ВК] клавишу [ПС]. Текущее значение константы выводится в справочном сообщении.

В заключение следует заметить, что безошибочно считанная программа, написанная для ПРК «Радио-86РК», не обязательно будет работать на ПРК «Орион-128». Все зависит от того, насколько она переносима и корректна. Корректные программы, то есть программы, обращающиеся к системным ресурсам компьютера через таблицы стандартных входов, поддерживая общепринятое соглашение обмена, будут выполняться на ПРК «Орион-128». К сожалению, таких программ не так много. Чаще всего программисты не выполняют это соглашение и для достижения определенных целей максимально используют аппаратные особенности компьютеров (в таких программах есть обращения к портам ввода-вывода, экранной области памяти, а также используются подпрограммы МОНИТОРа, не определенные во входной таблице, и их служебные ячейки памяти). Это в полной мере относится и к большей части программ, опубликованных в журнале.

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

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

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

ЛИТЕРАТУРА

  1. Д. Горшков, Г. Зеленко, Ю. Озеров, С. Попов. Персональный радиолюбительский компьютер «Радио-86РК».— Радио, 1986, № 7, с. 26.
  2. В. Барчуков. Г. Зеленко, Е. Фадеев. Редактор и ассемблер для «Радио-86РК».— Радио, 1987, № 7, с. 22.
  3. В. Сугоняко, В. Сафронов. Инструментальный монитор.— Радио, 1990, № 10, с. 44.

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

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