📂 Документ: orion128-pro-soft-ordos-rombios210_clean.html


 

ROM-BIOS V2.10  программы на Орион ПРО

Описание особенностей ROM1 V2.10

E:180400                                          (C) ORIONSOFT

ROM-BIOS V2.10 ДЛЯ "ORION-PRO"

    Представляем очередную  версию  2.10  базовой  системы ввода-вывода,  прошиваемой в ПЗУ  ROM1  и  ROM2  компьютера  "Орион-Про".

BIOS на Орион ПРО описание программиста

Плата Орион ПРО Орион ПРО Орион ПРО дипсвичи и процессор

  Отметим,  что  в компьютер можно устанавливать ROM1 и ROM2 разных версий, при этом возможности компьютера будут ограничены возможностями ПЗУ младшей версии.

Описание особенностей ROM1 V2.10

    Основное отличие  ROM1 V2.10 от V2.00 заключается в изменении алгоритма загрузки ДОС.  Теперь появилась  возможность  при входе  в  режим "Orion-Pro" загружать ДОС не только с дискеты и ПЗУ, но и с жесткого диска. Порядок загрузки зависит от положения DIP-переключателей SW1 (наличие дисковода - FDD) и SW2 (наличие жесткого диска - HDD). Если переключатель SW1 находится в состоянии  "On",  то сначала опрашивается дисковод (в противном случае опрос дисковода пропускается).  При наличии в  дисководе системной дискеты с нее происходит загрузка ДОС. Если же дискета не вставлена, или не закрыта дверца дисковода, то при нахождении  переключателя SW2 в положении "On" производится загрузка ДОС с жесткого диска.  Загрузку с жесткого диска можно отменить переводом переключателя SW2 в состояние "Off", назначив тем самым запуск ДОС из ПЗУ ROM2.  Описанная последовательность  загрузки  может  быть  изображена  в виде следующей таблицы (здесь НГМД - загрузка с накопителя на гибком магнитном диске,  НЖМД - с  накопителя  на жестком магнитном диске,  ПЗУ - запуск ДОС из ПЗУ ROM2):

                        Вид загрузки ДОС

         ┌───────────────────────────────┬─────────────────┐

      │         SW1=On                │     SW1=Off     │

      ├───────────────────────────────┼────────┬────────┤

      │   Наличие системной дискеты   │ SW2=On │ SW2=Off│

      ├────────────┬──────────────────┤        │        │

      │Есть дискета│   Нет дискеты    │        │        │

      │            ├────────┬─────────┤        │        │

      │            │ SW2=On │ SW2=Off │        │        │

      ├────────────┼────────┼─────────┼────────┼────────┤

      │   НГМД     │  НЖМД  │   ПЗУ   │  НЖМД  │   ПЗУ  │

      └────────────┴────────┴─────────┴────────┴────────┘

     Заметим, что  при SW1=OFF запуск ДОС с НЖМД или из ПЗУ происходит быстрее.  Обратите внимание, что состояние DIP-переключателя  SW7  не учитывается (как это было в V2.00).  Теперь SW7 определяет только вид  загрузки  ORDOS  -  внутренняя  из  ROM2 (SW7=On) или внешняя - из ROM-диска (SW7=Off).

     При загрузке ДОС с гибкого или жесткого диска анализируется флаговая ячейка, расположенная по смещению 2FH относительно начала считанного BOOT-сектора. Допустимыми значениями этой ячейки являются 0FFH (новые версии ORDOS), 0 (OSDOS 48K или ATLAS), 1 (OSDOS 60K) или 2 (PRODOS).

     При назначении из системного меню режима "Orion-128" теперь формируется пауза около 0.5 сек, что с одной стороны предотвращает вход в режим командной строки ORDOS при случайной задержке нажатия на клавишу Enter,  а с другой - при задержке более  0.5 сек - позволяет это сделать.

     Из ROM1 исключены коды идентификации пользователя,  которые  использовались в ранних версиях ROM-BIOS, что позволило освободить память для доработок.  Таким образом, теперь все пользователи имеют одинаковые прошивки ПЗУ.

     И, наконец, в новой версии ROM1 введены команды инициализации таймера 580ВИ53, размещенного на карте COM-портов, что позволяет без проблем использовать канал 3 таймера в качестве  дополнительного  формирователя  звука  (гасится  выходной сигнал, формируемый таймером при включении питания).

     Перед прошивкой ПЗУ ROM1 убедитесь, что модификация ПЗУ соответствует версии компьютера: для "старых" моделей "Орион-Про" V2.20 (их  немного) нужно использовать модификацию ПЗУ "03",  а для последних моделей V3.10 - модификацию "1FH" (определяет номер сегмента служебного ОЗУ). Номер модификации кодов ROM1 легко проверить по содержимому ячеек ПЗУ  001EH,001FH  (30H,33H  - для модификации  "03" и 31H,46H - для модификации "1FH"). 

 Описание особенностей ROM2 V2.10

      Как и в версии 2.00 ПЗУ ROM2 может иметь объем  32  или  64 Кбайта (в первом случае не обеспечивается загрузка ДОС из ПЗУ). Для получения прошивки объемом 32К можно просто записать в  ПЗУ первую половину кода ROM2 для ПЗУ 64К.

     Доработки коснулись  как  режима "Orion-128",  так и режима "Orion-Pro".

     В ROM2 версии  2.10  доработан  Монитор  для  режима  "Orion-128", при  этом расширен вектор RESET (0F833H).  Раньше этот вектор выполнялся только при A=0 (инициализация рабочих ячеек и получение кода идентификации компьютера).  Теперь дополнительно при A=0FFH выполняется  СЛУЖЕБНАЯ  функция  получения/установки номера текущего  ROM-диска  ORDOS (расположенного на Мультикарте). Если перед вызовом функции задано C=0FFH,  то переустанавливается  текущий ROM-диск,  а в регистрах A=C возвращается его номер 0..3.  При указании входного значения C=0..3 устанавливается  соответствующий новый ROM-диск (другие значения C интерпретируются как C=0).

     Введение в Монитор описанной новой функции позволило выполнить доработку ORDOS, обеспечивающую переключение ROM-дисков не только из программы Power Commander, но даже из командной строки. Для этого в командной строке нужно ввести с клавиатуры цифру от 0 до 3, двоеточие и ВК. Независимо от текущего квазидиска будет выбран  ROM-диск с указанным номером.  Данная возможность поддерживается также при обработке файла SETUP.TX.

     Важно заметить, что текущий ROM-диск не меняется даже после нажатия клавиши "Сброс" на клавиатуре, что позволяет работать с выбранным ROM-диском "по полной программе".

     Дополнительной особенностью новой ORDOS (кстати,  ее версия 4.10) является  более корректная работа функции WMAX (установка максимального размера диска).  Раньше эта  функция  действовала только для квазидиска B: (для остальных квазидисков размер диска всегда был 0EFFFH).  Теперь для каждого квазидиска можно установить конкретное значение его максимальной границы, что позволяет размещать различные данные и программы в отдельных  сегментах ОЗУ, блокируя при этом их порчу путем ограничения объема квазидиска, занимающего эти сегменты.

     При входе в командную строку ORDOS действует защита от повторного срабатывания нажатой клавиши. Теперь, чтобы при входе в режим командной строки ORDOS увидеть  курсор,  нужно  отпустить нажатую клавишу.  Клавиша  Зб (Del) в командной строке работает теперь как и положено - удаляет символ слева от курсора.

     Самой важной  доработкой  ROM2  явилась  замена  устаревшей программы Power  Commander  (PC)  на  более  совершенную версию 2.00.  Однако из-за значительного увеличения ее объема пришлось пересмотреть распределение памяти ROM2. Программа PC из сегмента 0 ROM2 "перекочевала" в сегмент 3,  где раньше  располагался набор знакогенераторов для режима "Оrion-Pro".  Свободное место в сегменте 3 появилось за счет оптимизации размещения  знакогенераторов (сейчас в сегменте 3 хранится всего один знакогенератор и четыре небольших перекодировочных таблицы).  Новая  программа PC размещается в ROM2 по адресам 6C00H..7FFFH.

     PC V2.00  работает в цвете,  как и ее предшественница VC на "Орион-128".  При заполнении  квазидиска  B:  включается  режим псевдоцвета.

    Поддерживается мышь,  причем как параллельная, так и последовательная IBM-мышь.  Двойной щелчок левой кнопки мыши обрабатывается аналогично клавише ВК (интервал между нажатиями кнопки не должен превышать 0.5 сек,  а указатель мыши при этом не должен перемещаться),  а  одинарный щелчок устанавливает указатель файла в позицию курсора мыши.  Правая кнопка мыши действует как АР2. Для назначения какой-либо команды необходимо подвести указатель мыши к ее названию в нижней строке меню и один  раз  нажать левую кнопку мыши.  Для "прокрутки" длинного списка файлов в панели необходимо подвести указатель к верхней  (или  нижней)рамке панели и щелкнуть левой кнопкой мыши.

     Для поддержки часов реального времени введена новая команда "O" (вкл/выкл отображения часов).  Этой команды нет в меню,  но для ее назначения с помощью мыши достаточно щелкнуть  один  раз левой кнопкой на изображении текущего  времени.  Необъявленными командами являются также "N" и "X", действующие одинаково - подобно команде "P" они выполняют переключение режима отображения панели, но в противоположном порядке.

     Использование дополнительных  устройств,  таких  как мышь и часы, потребовало задействования системы прерываний IM2,  заложенной в архитектуре "Orion-Pro".  Введена даже возможность использования будильника - при его срабатывании в течение  минуты раздаются короткие звуковые сигналы (естественно,  в момент работы программы PC V2.00). Для установки текущего времени и времени будильника должны использоваться дополнительно специальные программы.

     Введена возможность ускоренного переключения квазидисков  в каждой панели: если указатель находится на значке "..", то необязательно переключать квазидиски нажатием клавиши ВК -  достаточно нажать клавишу,  соответствующую имени диска (для включения ROM-диска - клавишу, соответствующую его номеру 0..3).

     Так как Power Commander V2.00  работает  непосредственно  в ПЗУ ROM2,  то размер используемого ОЗУ (для рабочих ячеек и резидентных подпрограмм) удалось свести к минимуму:  они расположены, начиная с адреса 0B900H. Буфер каталогов квазидисков располагается с адреса 0B000H,  а не 0A000H, как раньше. Таким образом, содержимое памяти до адреса 0B000H не портится.

     И, наконец,  еще  одна  новая возможность,  предоставляемая ROM2 V2.10:  внутреннюю программу PC можно заменить другой  без перепрограммирования  ПЗУ  ROM2:  для этого в ROM-диске номер 0 необходимо разместить внешнюю программу с именем PC$.

Описание подготовил В. Пушков

Читаем: BIOS на Орион ПРО описание программиста

 

 

Полезные и интересные статьи

На предыдущую страницу  На главную страницу  На следующую страницу