Описание мониторов м4.1 - м4.1 на Орион-128 - 2кБт
Описание различных мониторов для Ориона вместо штатного (авторского V2.0 объемом 2к)
Внимание не забываем про: Стандарты ПО, адресов и портов
Монитор прошивается в 2716 или к573рф2 (5)
1999 MIFVI
ROM-BIOS для ПРК "Орион-128"
============================
Монитор V4.10
Скачать комплект монитора 4-1+ описалово
Время, прошедшее с момента создания авторского варианта Монитора "М2"
показало, что эта программа несколько устарела и требует модернизации. В
частности, уже давно стали доступны дисководы, и ими оснащено очень
много "Орионов". К тому же, теперь мало кто пользуется магнитофоном, а
штатный Монитор вообще не ориентирован на дисковод. В связи с этим
предлагается новый Монитор версии 4.10 для "Ориона-128" (версия 3 в свое
время была разработана В.И.Чистяковым из Санкт-Петербурга), позволяющий
значительно повысить удобство работы с ПК.
При разработке ставилось основное уcловие: объём Монитора должен
остаться прежним - 2 Кб. Кроме того, компьютер должен иметь возможность
работать с СР/М-80 без ROM-диска. Если пользоваться только CP/M-80, то
ROM-диск оказывается лишним, в то время как с Монитором-2 без него не
обойтись. Одновременно новый Монитор ориентирован на новую версию ORDOS,
качественно отличающуюся от существующих версий. Новая ORDOS
предполагает прямое обращение к НГМД и НЖМД, много различных полезных
доработок.
По основным рабочим ячейкам и подпрограммам Монитор совместим с
Монитором-2 для "Орион-Про", за исключением того, что нет подпрограмм
перемещения блока данных и заполнения области ОЗУ константой.
В Мониторе несколько доработан драйвер дисплея и клавиатуры. Изменена
форма курсора и снижена частота его мигания, что более приятно для
восприятия. Драйвер клавиатуры поддерживает оба варианта клавиатуры: как
РК-86, так и МС7007, для чего в ПЗУ необходимо прошить соответствующие
коды. При использовании процессора Z80 для прошивки также выбирается
соответствующий вариант программы. Кодировка оставлена КОИ-7, так как, с
одной стороны, для всех программ, требующих другие кодировки, есть
большое число драйверов, с другой стороны, это потребовало бы
значительно увеличить объём Монитора, что считается нецелесообразным.
Из Монитора удалены подпрограммы работы с магнитофоном, поэтому
обращающиеся к ним программы работать не будут. Однако, при
необходимости может быть создан загрузчик для работы с магнитофоном.
В Мониторе размещён стартовый загрузчик операционных систем. Стартовый
загрузчик обеспечивает загрузку с НГМД и НЖМД всех известных реализаций
СР/М-80 фирмы Орионсофт.
Перечень подпрограмм нового Монитора с описанием входных и выходных
параметров приведен в Таблице 1.
Теперь о работе с новым Монитором. После включения питания или нажатия
на клавишу "Сброс" Монитор инициализирует рабочую область, программирует
порты клавиатуры и ROM-диска, и затем происходит проверка флаговой
ячейки холодного загрузчика для определения вида загрузки: ROM-диск,
НГМД или НЖМД. Система построена таким образом, что при инициализации
рабочих ячеек флаговая ячейка не изменяет свое состояние. Изменить её
состояние можно, удерживая при сбросе клавишу "R" (ROM-диск), "F" (FLOPPY
DISK - НГМД) или "H" (HARD DISK - НЖМД). При включении питания загрузка
всегда будет производиться с ROM-диска, но, если пользователю необходима
начальная загрузка с НГМД или НЖМД, то следует поменять содержимое
указанной ниже ячейки с кода 0CAH на код 0С2Н (это можно сделать и без
очистки ПЗУ):
монитор для процессора ВМ80, загрузка с НГМД - 0F871H
монитор для процессора ВМ80, загрузка с НЖМД - 0F877H
монитор для процессора Z80, загрузка с НГМД - 0F870H
монитор для процессора Z80, загрузка с НЖМД - 0F875H
Затем, если установлена загрузка с ROM-диска, проверяется исправность
ROM-диска и возможность старта ORDOS. При наличии ORDOS происходит ее
считывание и запуск, в противном случае экран очищается, и выводится
знак вопроса "?", сигнализирующий об ошибке, после чего появляется
приглашение к выбору вида загрузки: "R/F/H?". Для повторения загрузки с
ROM-диска следует нажать клавишу "R", для загрузки с НГМД - клавишу "F",
а для загрузки с НЖМД - клавишу "H". Необходимо отметить, что при этом
не происходит изменения флаговой ячейки загрузчика.
При загрузке с диска считывается BOOT-сектор. Если считывание произошло
с ошибкой, или операционная система отсутствует, то, как и при загрузке
с ROM-диска, на экран выводится знак "?" и приглашение к вводу "R/F/H?".
При успешной загрузке BOOT-сектора анализируется флаговая ячейка
ВООТ-загрузчика, определяющая страницу загрузки ДОС: 0, 1 или 2. В
случае загрузки 60-кбайтной версии операционной системы в 1 или 2
страницу ОЗУ Монитор выводит запрос "DOS 60K Y?". При необходимости
продолжить загрузку нажимают клавишу "Y", для прерывания загрузки -
любую другую. Если пользователь работает только с СР/М без ORDOS, то
запрос на подтверждение старта СР/М-60К может только мешать работе. В
этом случае следует заблокировать выдачу запроса записью нулевых байтов
в указанные ниже ячейки:
монитор для процессора ВМ80 - 0F94CH..0F95CH
монитор для процессора Z80 - 0F936H..0F945H
при этом старт СР/М-60К будет происходить сразу, без выдачи запроса.
Если флаговая ячейка содержит другое значение, дискета считается
неопознанного формата, и происходит блокировка старта ДОС с выводом
сообщения об ошибке. Исключение составляет случай, когда данная ячейка
содержит значение 0FFH, при этом считается, что считанный BOOT-загрузчик
должен стартовать с адреса 0В000Н нулевой страницы (без перемещения в
адреса 0000Н). Такой способ загрузки предусмотрен, например, для
загрузки и старта ORDOS непосредственно с диска.
Монитор разработан в четырех модификациях: для клавиатур РК-86, МС7007 и
для процессоров ВМ80 и Z80. Клавиатура МС7007 подключается по авторскому
варианту, так же, как и для Монитора 2.
Таблица 1
ПОДПРОГРАММЫ МОНИТОРА V4.10
┌──────────────────────┬────────────────────────────┬─────────┐
│ Подпрограмма │ Параметры │Сохр.рег .│
├──────────────────────┼────────────────────────────┼─────────┤
│ 1.Ввод символа с │ вых: А - введённый символ │ HL,DE,BC│
│ клавиатуры 0F803H │ яч.ключ: 0F3C7H,0F3C8H │ │
├──────────────────────┼────────────────────────────┼─────────┤
│ 2.Не используется │ │ │
│ 0F806H │ │ │
├──────────────────────┼────────────────────────────┼─────────┤
│ 3.Вывод символа на │ вх: С - выводимый символ │ HL,DE,BC│
│ экран 0F809H │ яч.ключ: 0F3CDH,0F3CEH │ A,PSW │
├──────────────────────┼────────────────────────────┼─────────┤
│ 4.Не используется │ │ │
│ 0F80CH │ │ │
├──────────────────────┼────────────────────────────┼─────────┤
│ 5.Вывод символа на │ вх: А - выводимый символ │ HL,DE,BC│
│ экран (А) 0F80FH │ яч.ключ: 0F3EEH,0F3EFH │ A,PSW │
├──────────────────────┼────────────────────────────┼─────────┤
│ 6.Опрос состояния │ вых: А=FFH нажата, 00Н нет │ HL,DE,BC│
│ клавиатуры 0F812H │ яч.ключ: 0F3ECH, 0F3EDH │ │
├──────────────────────┼────────────────────────────┼─────────┤
│ 7.Вывод на экран │ вх: А - выводимый байт │ HL,DE,BC│
│ байта НЕХ 0F815H │ │ │
├──────────────────────┼────────────────────────────┼─────────┤
│ 8.Вывод на экран │ вх: HL - адрес сообщения │ DE,BC │
│ сообщения 0F818H │ 00H - конец сообщения │ │
├──────────────────────┼────────────────────────────┼─────────┤
│ 9.Ввод кода нажатой │ вых: А=FFH не нажата │ HL,DE,BC│
│ клавиши 0F81BH │ А=FEH рус/лат или код │ │
│ │ яч.ключ: 0F3F0H,0F3F1H │ │
├──────────────────────┼────────────────────────────┼─────────┤
│10.Запрос положения │ вых: Н - номер строки Y │ DE,BC │
│ курсора 0F81EH │ L - номер позиции Х │ │
├──────────────────────┼────────────────────────────┼─────────┤
│11.Универсальный вход │ ячейка ключ: 0F3CAH,0F3CBH │ │
│ 0F821H │ │ │
├──────────────────────┼────────────────────────────┼─────────┤
│12.Не используется │ │ │
│ 0F824H │ │ │
├──────────────────────┼────────────────────────────┼─────────┤
│13.Не используется │ │ │
│ 0F827H │ │ │
├──────────────────────┼────────────────────────────┼─────────┤
│14.Подсчёт контроль- │ вх: HL - адрес начала │ HL,DE │
│ ной суммы 0F82AH │ DE - адрес конца │ │
│ │ вых: BC - контр.сумма │ │
├──────────────────────┼────────────────────────────┼─────────┤
│15.Распаковка внутр. │ │ │
│ знакоген. 0F82DH │ │ │
├──────────────────────┼────────────────────────────┼─────────┤
│16.Чтен./зап. рабочей │ вх: A=0 - чит.страницу │ HL,DE,BC│
│ страницы ОЗУ │ A=/=0 - зап.страницу и │ │
│ │ переход по верш.стека │ │
│ │ вых:чт. A - номер страницы │ │
│ 0F830H │ зп. A - предыд.состоян.│ │
└──────────────────────┴────────────────────────────┴─────────┘
┌──────────────────────┬────────────────────────────┬─────────┐
│17.Инициализация │ вых: A - код идентификации │ │
│ рабочих ячеек │ версии компьютера │ │
│ 0F833H │ │ │
├──────────────────────┼────────────────────────────┼─────────┤
│18.Чтение байта из │ вх: А - № страницы │ HL,DE,B │
│ дополнительной │ HL - адрес байта │ PSW │
│ страницы 0F836H │ вых: С - считанный байт │ │
├──────────────────────┼────────────────────────────┼─────────┤
│19.Запись байта в │ вх: А - № страницы │ HL,DE,B │
│ дополнительную │ С - записываемый байт │ PSW │
│ страницу 0F839H │ HL - адрес записи │ │
├──────────────────────┼────────────────────────────┼─────────┤
│20.Установка положе- │ вх: H - номер строки Y │ HL,DE,BC│
│ ния курсора 0F83CH │ L - номер позиции Х │ │
├──────────────────────┼────────────────────────────┼─────────┤
│21.Подача звукового │ частота - ячейка 0F3E7H │ HL,DE,B │
│ сигнала 0F83FH │ яч.ключ: 0F3C4H,0F3C5H │ │
├──────────────────────┼────────────────────────────┼─────────┤
│22.Вектор передачи │ вх: А - номер страницы ОЗУ │ HL,DE,BC│
│ управления │ M(SP) - адрес перехода │ │
│ 0F84BH │ │ │
├──────────────────────┼────────────────────────────┼─────────┤
│23.Резерв-вектор иден-│ │ │
│ тификации версии │ │ │
│ Монитора 0F84EH │ │ │
└──────────────────────┴────────────────────────────┴─────────┘
Рабочие ячейки 0F3D8H..0F3DDH не разрешается использовать в программах,
так как они будут задействованы в ORDOS версии 6 и выше.
Замечание.
При работе процессора с тактовой частотой 2.5 МГц скорость ввода с
клавиатуры может оказаться недостаточной (это заметно на автоповторе).
Для устранения этого недостатка можно уменьшить константу автоповтора
(3FH) в указанной ниже ячейке:
монитор для процессора ВМ80 - 0FB0AH
монитор для процессора Z80 - 0FAEDH
В. Михаловский
- с загрузкой драйверов устройств.
2. Операционной системы Windows-OR, которая будет иметь следующие
полезные приемущества перед существующими версиями ORDOS:
- прямое обращение к дисководам;
- поддержку внешних энергонезависимых RAM-дисков;
- поддержку винчестера;
- под
Внимание не забываем про: Стандарты ПО, адресов и портов
Купить конструкторы для сбора ЛК Орион-128 Орион ПРО, куплю микросхемы КР565РУ5В, КР565ру7В, к565ру5г AU, к565ру7г М530, М531, М533 в Au в позолоте, куплю микропроцессоры
На предыдущую страницу На главную страницу На следующую страницу