Орион-128/Радио 10-92/Внешний загрузчик

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

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

Автор: А. СВИДЛО

Источник: Архив журнала «Радио»

Многие из повторивших «Орион 128» отмечают один недостаток его программного обеспечения (по сравнению, например, с компьютером «Радио-86РК»). Речь идет об отсутствии в нем директивы R (считывание информации с параллельного порта).

Предлагаемая программа позволяет выполнять эту операцию. Она написана в машинных кодах (табл. I) и занимает область ОЗУ с адреса B000H no B196H. Адрес для ее запуска — B000H. Работает эта программа с ORDOS любой версии (2.0, 2.4 или др.) [1, 2], а также с Монитором-1 или Монитором-2 [3, 4]. Программу можно вводить с ленты или хранить ее а ПЗУ ROM-диска (диск А).

Чтобы записать программу на ленту, необходимо набрать ее коды и завести их на диск В под любым именем директивой S OR DOS. He забудьте добавить к имени символ «О» для автозапуска и изменить директивой FILE ADDRESS инструментального монитора [5] стартовый адрес программы иа B000H. Набрать программу сразу с адреса B000H невозможно, если вы пользуетесь для набора инструментальным монитором, так как он также находится а этой области. После этого программу записывают на магнитную ленту системным загрузчиком [6].

Если вы решили записать программу в ПЗУ (ROM-диск), то перед текстом программы в ПЗУ необходимо записать 16 байт из таблицы 2, в которых содержится необходимая информация для ORDOS, а том числе имя программы. В приведенных кодах название программы R0.

Для работы с программой прежде всего необходимо подключить к параллельному порту устройство — источник информации. Вариант простейшего адаптера, позволяющего считывать информацию из ПЗУ на одной микросхеме (К573РФ2. К573РФ4 2764, 27128, 27256, 27512), приведен иа рисунке.

Вилка ХР1 подключается к разъему XI компьютера «Ори он-128». Микросхемы ПЗУ устанавливаются а панельку XS2 (например, РС-28) при отжатой кнопке SB2. Тип микросхемы устанавливают переключателем SB1. Микросхему К573РФ2 вставляют в панельку так, чтобы ее первый вывод соединялся с третьим выводом панельки.

: ПРОГРАММА ЧТЕНИЯ С ПАРАЛЛЕЛЬНОГО ПОРТА
LXI  H.OF6O3H : ЗАПРОГРАММИРОВАТЬ MVI  М,9ОН    ; ПОРТ НА ВВОД/ВЫВОД
;   ПЕРЕД ВЫПОЛНЕНИЕМ СЧИТЫВАНИЯ
;   В РЕГИСТРЫ HL ПОМЕЩАЕТСЯ НАЧАЛЬНЫЙ АДРЕС ПЗУ,
;   В DE - КОНЕЧНЫЙ АДРЕС ПЗУ.
:   А В ВС - НАЧАЛЬНЫЙ АДРЕС ОЗУ
INP:SHLD OF5O1H ; ВЫВЕСТИ АДРЕС ДЛЯ ПЗУ
LDA OF6OOH : СЧИТАТЬ ИНФОРМАЦИЮ ИЗ ЯЧЕЙКИ ПЗУ
STAX В ; ЗАПИСАТЬ ИНФОРМАЦИЮ В ОЗУ
MOV  А.Н
CMP D
JNZ МОО
MOV  A.L
CMP  E ; АДРЕС ДЛЯ ПЗУ РАВЕН КОНЕЧНОМУ ?
JZ  END ; ЕСЛИ ДА, ТО КОНЕЦ
моо: ючх в
INX  Н
JMP INP : ЕСЛИ НЕТ. УВЕЛИЧИТЬ АДРЕС НА ОДИН И ПОВТОР

Обе переключателя устройства— П2К. Секция SB1.3 нужна только для того, чтобы освободить нажатую ранее кнопку, поэтому ее контакты не использованы. В некоторых вариантах исполнения переключателей П2К для подобной цели предусмотрена специальная кнопка без контактов.

Запускают программу директивой L ORDOS. У вас будут запрошены параметры для чтения:

  • "Начальный адрес ПЗУ (адрес начала интересующей вас информации в ПЗУ),
  • «Конечный адрес ПЗУ» (адрес конце массива информации в ПЗУ).
  • «Начальный адрес ОЗУ (адрес, начиная с которого будет размещаться в памяти компьютера считанная информация).

После ввода последнего, третьего, параметра происходит считывание информации. К этому моменту питание на микросхему должно быть подано, то есть должна быть нажата кнопка SB2.

Эти параметры вводят в шестнадцатиричном виде, используя соответствующие клавиши на клавиатуре. Необходимо набирать не более четырех символов в каждом параметре. Неверно набранные символы исправляют клавишей „стрелка влево“. После набора параметра необходимо нажать клавишу „ВК“ Для ускорения работы нулевые параметры можно вводить просто нажатием на эту клавишу.

Если вы не знаете содержания микросхемы ПЗУ, то вводите начальный адрес нулевой, а конечный — в зависимости от типа микросхемы соответственно ее объему. Например, конечный адрес для К573РФ2 — 7FFH, а для К573РФ4— 1FFFH.

Следите за тем, чтобы считываемый массив не уничтожил важную для вас информацию, которая находится в данный момент в памяти компьютера. Для этого необходимо быть внимательным при выборе параметра „Начальный адрес ОЗУ“ и проверять конечный адрес исходя нэ длины массива.

Информация из микросхемы 27512 может быть считана а два приема — с адреса 0 по 7FFFH, затем — с 8000Н по FFFFH.

После завершения цикла считывания выдается сообщение „Загрузка выполнена“. Далее программа проверяет, не имеет»ли место ситуация, когда все считанные байты — FF (ПЗУ не содержит никакой информации). Если это так, выдается сообщение «Все байты — FF». Это свойство можно использовать для определения «чистых» микросхем ПЗУ.

Для возврата в ORDOS нажимают любую клавишу. В табл. 3 приведен текст собственно загрузчика информации на Ассемблере. Остальное место в программе занимает ввод исходных параметров и текст сообщений.

А. СВИДЛО

г. Харьков

ЛИТЕРАТУРА

  1. Сугоняко В., Сафронон В., Коненков К. Операционная система «ORDOS» для ПРК «Орион-128».— Радио, 1990, № 8. с. 38.
  1. Сугоняко В., Сафронов В. Операционная система OROOS. Версия 2.4.— Радио. 1991, № 7, с. 49.
  1. Сугоняко В., Сафронов В., Коненков К. Программное обеспечение персонального радиолюбительского компьютера «Орион-128».— Радио, 1990, № 2, с. 46.
  1. Сугоняко В., Сафронов В. Основной монитор для ПРК «Орион-128».— Радио, 1991. № 1.с. 35.
  1. Сугоняко В., Сафронов В. Инструментальный монитор для «Ориона-128».— Радио, 1990t№ 10. с. 44.
  1. Сугоняко В., Сафронов В. Системный загрузчик для «Ориона-128».— Радио. 1990, № 9, с. 38.