========================= ОРИОН - 128 + Z80 Card II ============================

   Порт  F8 (F800) - Управление цветом. Если в порт записывается байт с
                     битом D2, равным 0, дисплей работает в монохромном 
                     (двуцветном) режиме. Если бит D1=0, устанавливается
                     16-цветный режим работы дисплея, а если D1=1 -
                     дисплей переходит в четырехцветный режим. 

                     Последний триггер DD30 меняет палитру цветов в двух-
                     (монохромный на цветном дисплее) и четырехцветных режимах.                   

                     D7=1 - включить экран 480 точек

   Порт  F9 (F900) - Упр.страницами для режима "Орион-128".
   Порт  FA (FA00) - Упр.экранами
                   "1"  D0,D1 - номер экрана (0-3)
                        D2-D5 - резерв
                        D6 - выкл.регенерации ОЗУ (чтоб ОЗУ сдохло)
                        D7 - экран 384/512 точек (по горизонтали)

   Порт  FB       - УПРАВЛЕНИЕ  ПРЕРЫВАНИЯМИ  И  ДИСПЕТЧЕРОМ:

   D7     D6     D5     D4     D3     D2     D1     D0
   !      !      !      !      !      !      !      !
   MZ    INT    XMEM   RZRV   BS1    BS0    SS1    SS0
   !      !      !      !      !      !      !      !
   !      !      !      !      !      !      !______!____ SEGMENT SELECT
   !      !      !      !      !______!__________________ BANK SELECT
   !      !      !      !
   !      !      !      !________ РЕЗЕРВ ДЛЯ BANK SELECT (ВСЕГДА = 0)
   !      !      !_______________ FULL RAM MEMORY (ПРИ D5=1  0-FFFF - ОЗУ)
   !      !______________________ INT ENABLE (ПРИ D5=0 ЗАПРЕЩЕНЫ)
   !_____________________________ DISPATCHER OFF (ПРИ D7=1 ОТКЛЮЧЕН !)

БИТЫ BS1,BS0 ОПРЕДЕЛЯЮТ  НОМЕР  БАНКИ  ОЗУ,  А  БИТЫ SS1,SS0 ОПРЕДЕЛЯЮТ КАКОЙ
16-ТИ КИЛОБАЙТОВЫЙ УЧАСТОК ИЗ ЭТОЙ  БАНКИ  БУДЕТ  ДОСТУПЕН ПО АДРЕСАМ 0-3FFF.
ДАННЫЕ,  ЗАПИСАННЫЕ  В  ПОРТ,  МОЖНО  СЧИТАТЬ  С  ПОРТА  FB (АЛЬТАИР,SUPER-3)

   Порт  FC - УПРАВЛЕНИЕ ТЕНЕВЫМ ПЗУ. НА ПЛАТАХ "СУПЕР-3" БИТОМ D7 ВКЛ-СЯ  ТЕНЕВОЕ ПЗУ

   Порт  FD       - Резерв адреса для двухбайтовых
                    адресов портов расширений "ZX".
   Порт  FE - В ЭМУЛЯТОРЕ "СИНКЛЕРА" ЗВУК  И  КЛАВИАТУРА  (ПРОГРАМНЫЙ ЗВУК ПО БИТУ D4)
   Порт  FF - "ПРОГРАМНЫЙ КЛЮЧ" ДЛЯ ВЫВОДА  ЗВУКА (ПЕРЕКЛЮЧАЕТСЯ ПО КАЖДОМУ ОБРАЩЕНИЮ)


   Порты 0F8H...0FAH  работают только на запись, в режиме  "Orion-128" они доступны
                      также как ячейки памяти 0F800H, 0F900H, 0FA00H. 


         АДРЕСАЦИЯ  ВНЕШНИХ  УСТРОЙСТВ

В  ОБЛАСТИ  ПАМЯТИ  (НЕДОСТУПНЫ  В  РЕЖИМЕ  FULL RAM  MEMORY):
F400..F403 - ППА КЛАВИАТУРЫ
F500..F503 - ППА ROM-Disk
F600..F603 - ППА Printer
F700/F720 - КОНТРОЛЛЕР  ДИСКОВОДА (F720/D3,D6 - ПЛОТНОСТЬ ЗАПИСИ)
F760 - ПДП 1810ВТ37 ИЛИ i8237, ДЛЯ БЛИТТЕРА И РАБОТЫ КНГМД-HD/КНЖМД
F780 - ВНЕШНИЙ  ЭЛ.ДИСК  (1-16 МБАЙТ)
F7B0 - ЧАСЫ 512ВИ1 (ОРИОНСОФТ), BlackCat: 512ВИ1 на порту F760


=================================== ORION - PRO ================================

Для выбора номера рабочей  (текущей)  страницы
используется  порт  с  адресом  08H  (для  режима "Орион-128" -
0F900H). Все страницы равносильны, и нет необходимости работать
именно в нулевой (только для режима Pro).  В режиме "Орион-128"
для переключения страниц ОЗУ можно использовать порт с  адресом
0F9H.

        Распределение сегментов по страницам основного ОЗУ:

        Стр.0  Стр.1  Стр.2  Стр.3  Стр.4  Стр.5  Стр.6  Стр.7
FFFFH -------T------T------T------T------T------T------T------¬
      ¦   3  ¦   7  ¦  11  ¦  15  ¦  19  ¦  23  ¦  27  ¦  31  ¦
C000H +------+------+------+------+------+------+------+------+
      ¦   2  ¦   6  ¦  10  ¦  14  ¦  18  ¦  22  ¦  26  ¦  30  ¦
8000H +------+------+------+------+------+------+------+------+
      ¦   1  ¦   5  ¦   9  ¦  13  ¦  17  ¦  21  ¦  25  ¦  29  ¦
4000H +------+------+------+------+------+------+------+------+
      ¦   0  ¦   4  ¦   8  ¦  12  ¦  16  ¦  20  ¦  24  ¦  28  ¦
0000H L------¦------¦------¦------¦------¦------¦------¦-------


     Доступ к  сегментам ОЗУ осуществляется через три независи-
мых окна,  которые можно "открыть" в адресном пространстве про-
цессора в пределах рабочей страницы ОЗУ:

     Окно ОЗУ "RAM2"  - 8000-BFFFH
     Окно ОЗУ "RAM1"  - 4000-7FFFH
     Окно ОЗУ "RAM0"  - 0000-3FFFH

     Назначение разрядов порта 0AH следующее:

     D0 - 1 = включить окно ОЗУ "RAM0"
     D1 - 1 = включить окно ОЗУ "RAM1"
     D2 - 1 = включить окно ОЗУ "RAM2"
     D3 - включить окно ПЗУ "ROM2-BIOS"
     D4 - включить окно ПЗУ "ROM1-BIOS"
     D5 - включить тактовую частоту процессора 2.5 МГц
     D6 - отключить  переключение ОЗУ 0F000H..0FFFFH  (в режиме
          "Orion-128" игнорируется)
     D7 - включить режим "Orion-128" (область 0F000H..0FFFFH
          недоступна для записи).

     Для выбора сегментов в  каждом  из  окон  "RAM0",  "RAM1",
"RAM2"  в  компьютере  предусмотрены три порта с адресами соот-
ветственно 04H,  05H, 06H, в которые могут быть записаны номера
сегментов ОЗУ. Порты диспетчера 04H, 05H, 06H, 08H, 0AH доступны
как для записи, так и для чтения.

   Область памяти 0F000H..0FFFFH в режиме  "Orion-Pro"  (разряд
D7 порта 0AH установлен в 0) доступна как для чтения, так и для записи.
Кроме того, программно можно установить режим, при котором указанная область
или переключается вместе с переключением страниц  (D6=0),  или  не  переключается
(D6=1) и проецирует "верхние" 4к сегмента 31 (1Fh).
     В режиме  "Orion-128" (разряд D7 порта 0AH установлен в 1)
указанная область памяти является не  переключаемой  независимо
от   значения   разряда   D6,  к  тому  же  ячейки  с  адресами
0F400H..0FA00H доступны как порты (причем порты  0F800H..0FA00H
доступны  только  на  запись,  так  как  при  чтении по адресам
0F800H..0FFFFH включается ОЗУ).

    Постоянная память, расположенная на основной плате, состоит
из двух частей:

     "ROM1-BIOS" - стартовое ПЗУ объемом 8 Кбайт;
     "ROM2-BIOS" - ПЗУ пользователя объемом 8-64 Кбайт.

     Для доступа  к  постоянной  памяти в адресном пространстве
процессора предусмотрено включение соответственно двух ROM-окон
ПЗУ.
     Окно для "ROM1-BIOS" включается  по  адресам  0000H..1FFFH
при аппаратном сбросе компьютера,  тем самым обеспечивая доступ
к стартовым и другим подпрограммам.
     Для управления  включением  и выключением окна "ROM1-BIOS"
предназначен бит D4 порта диспетчера 0AH.
     Включением окна "ROM2-BIOS" по адресам 2000H..3FFFH управ-
ляет бит D3 порта 0AH (независимо от окна "ROM1-BIOS"),  причем
доступ  к  ПЗУ в этом окне осуществляется по сегментам размером
8Кбайт  (отсюда  и  минимальный  размер  ПЗУ).  Номер  сегмента
"ROM2-BIOS" записывается в специальный порт с адресом 09H,
допускающий как запись, так и чтение информации.
     Окна ПЗУ   имеют   самый   высокий  приоритет:  если  окно
"ROM1-BIOS" и/или "ROM2-BIOS" включено,  то доступ к нему обес-
печивается  из любой текущей страницы,  в том числе при "откры-
том" окне ОЗУ "RAM0".

                     3. ПОРТЫ ВВОДА-ВЫВОДА
                     ---------------------

     В режиме  "Orion-128"  (бит  D7  порта 0AH установлен в 1)
разрешен доступ к портам 0F400H..0FA00H,  адресуемым через  об-
ласть памяти, и к портам 10H..14H, 18H..1BH, 0F8H..0FFH, а так-
же портам периферии - с помощью команд процессора IN, OUT.
     В режиме  "Orion-Pro"  (бит  D7  порта 0AH установлен в 0)
доступ к портам как к ячейкам ОЗУ запрещен.

     Назначение портов:

     00H      - состояние DIP-переключателей (SW), определяющих
                конфигурацию системы;
     01H      - данные принтера "Centronics";
     02H      - сигналы управления принтером;
     03H      - регистр настройки портов 00H..02H;
     04H      - регистр сегментов для окна "RAM0";
     05H      - регистр сегментов для окна "RAM1";
     06H      - регистр сегментов для окна "RAM2";
     07H      - регистр настройки портов 04H..06H;
     08H      - регистр страниц ОЗУ;
     09H      - регистр сегментов "ROM2-BIOS";
     0AH      - диспетчер управления конфигурацией памяти;
     0BH      - регистр настройки портов 08H..0AH;
     0CH..0FH - системный резерв;
     10H..13H - порты контроллера дисковода КР1818ВГ93 (в режи-
                ме  "Orion-128" доступны также через ячейки па-
                мяти 0F700H..0F703H, 0F710H..0F714H, 0F720H):
         10H  - регистр команд;
         11H  - регистр дорожек;
         12H  - регистр секторов;
         13H  - регистр данных;
         14H  - регистр управления контроллером дисковода;
                в режиме "Orion-128" доступен также через ячей-
                ки 0F704H, 0F714H, 0F720H;
     18H..1BH - универсальный порт,  используемый как порт кла-
                виатуры; в режиме "Orion-128" может быть перек-
                лючен (параллельно с обращением 18-1BH) на  ад-
                реса одного из портов 0F4XXH, 0F5XXH, 0F6XXH по
                выбору пользователя;

     0F8H     - регистр управления цветовым  режимом  дисплея;
                в режиме  "Orion-128" доступен также как ячейка
                0F800H;
     0F9H     - регистр страниц;  для режима "Orion-128" досту-
                пен также как ячейка 0F900H;
     0FAH     - регистр  номера  и  размера  экрана;  в  режиме
                "Orion-128" доступен также как ячейка 0FA00H;
     0FBH     - регистр включения прерываний от таймера (D6);
     0FCH     - регистр цвета для псевдоцветного режима;
     0FFH     - порт звука.

========================================================================


         ОРГАНИЗАЦИЯ ЭКРАННОЙ ПАМЯТИ Orion-PRO, Ориона-128
         -------------------------------------------------

     Экранная память располагается в 0 и 1 страницах ОЗУ,  при-
чем количество экранов и распределение сегментов в них  зависит
от текущего цветового режима, задаваемого разрядами порта 0F8H:

     D4  D3  D2  D1  D0
     ------------------
     0   x   0   0   0   - монохромный, палитра 1
     0   x   0   0   1   - монохромный, палитра 2
     0   x   0   1   x   - запрет видеосигнала
     0   x   1   0   0   - 2-битный (4-цветный), палитра 1
     0   x   1   0   1   - 2-битный (4-цветный), палитра 2
     0   x   1   1   x   - 16-цветный с групповым кодированием
     0   1   1   1   x   - псевдоцветной (цвет -  в порт 0FCH)
     1   x   0   x   x   - 3-битный (8-цветный RGB)
     1   x   1   x   x   - 4-битный (16-цветный RGBI)

     Для Ориона-128 то же, но только D0..D2. Режимы от D3,D4 недоступны

     В монохромном  режиме  палитре  1 соответствует комбинация
цветов - (черный,  зеленый),  палитре 2 - (белый,  зеленый).  В
4-цветном  (2-х битовом) режиме палитре 1 соответствуют цвета -
(черный,  синий,  зеленый, красный), палитре 2 - (белый, синий,
зеленый, красный).
     Код палитры для псевдоцветного режима записывается в  порт
с адресом 0FCH.
     Выбор на отображение одного из 4-х экранов выполняется пу-
тем записи номера экрана в порт 0FAH:

     D0 \ номер экрана
     D1 /
     D6 - выключение регенерации ОЗУ
     D7 - включение широкого экрана

     Разряды D2-D5 являются резервными.

     Если разряд D7 установлен в единицу, то ширина экрана сос-
тавляет 512 точек (64 байта), что при высоте 256 байт соответс-
твует объему памяти 16 Кбайт. В противном случае экранная плос-
кость  ОЗУ имеет ширину 384 точки (48 байт) и занимает объем 12
Кбайт.
     В 3-х битном и 4-х битном (EGA-режим) цветовых режимах до-
пускается использование только двух экранов,  поэтому разряд D0
порта 0FAH игнорируется.
     Рассмотрим распределение сегментов экранного ОЗУ в различ-
ных цветовых режимах.

           1.2.3 МОНОХРОМНЫЙ И ПСЕВДОЦВЕТНОЙ РЕЖИМЫ
           ----------------------------------------

     В монохромном и псевдоцветном режимах возможно использова-
ние  до  4-х  экранов,  занимающих только сегменты 0-й страницы
ОЗУ:

                 Стр.0         Экран 12 К      Экран 16 К
               --------¬      ------------    ------------
     Экран 0 ->¦   3   ¦      C000H..EFFFH    C000H..FFFFH
               ¦=======¦
     Экран 1 ->¦   2   ¦      8000H..AFFFH    8000H..BFFFH
               ¦=======¦
     Экран 2 ->¦   1   ¦      4000H..6FFFH    4000H..7FFFH
               ¦=======¦
     Экран 3 ->¦   0   ¦      0000H..2FFFH    0000H..3FFFH
               L--------

     В монохромном  режиме  единичному значению некоторого бита
экранного сегмента ОЗУ соответствует засветка изображаемой точ-
ки, нулевому - гашение.
     В псевдоцветном  режиме цвет отображаемых точек зависит от
кода палитры,  записанного в порт 0FCH. Старшие 4 бита значения
этого  порта  определяют один из 16 цветов фона (для погашенных
точек), младшие 4 бита - один из 16 цветов переднего плана (для
засвеченных точек).
     Заметим, что при широком экране-0  область  0F000H..0FFFFH
экрана (не путать с системной областью 0F000H..0FFFFH) доступна
только через окно.  Прямой доступ к экрану возможен  только  по
адресам  0C000-0EFFFH.  Это относится ко всем цветовым режимам.


                    1.2.4.  4-ЦВЕТНЫЙ РЕЖИМ
                    -----------------------

     В 4-цветном  (2-битном)  режиме  цвет  каждой отображаемой
точки зависит от соответствующих битов двух экранных плоскостей
(сегментов), находящихся в страницах 0 и 1 ОЗУ:


                 Стр.0   Стр.1
               --------T-------¬
     Экран 0 ->¦   3   ¦   7   ¦
               ¦=======+=======¦
     Экран 1 ->¦   2   ¦   6   ¦
               ¦=======+=======¦
     Экран 2 ->¦   1   ¦   5   ¦
               ¦=======+=======¦
     Экран 3 ->¦   0   ¦   4   ¦
               L-------+--------
                   L--¬ ----

                      0 0  ->  черный (белый)
                      0 1  ->  красный
                      1 0  ->  зеленый
                      1 1  ->  синий


             1.2.5.  8-ЦВЕТНЫЙ и 16-ЦВЕТНЫЙ РЕЖИМЫ ОРИОН-ПРО
             -----------------------------------------------

     Это новый графический режим.  Функционально он  тождествен
EGA  режиму на IBM PC AT (был широко распространен на 286 моде-
лях).  В 8-цветном (3-битном) и 16-цветном  (4-битном)  режимах
для  формирования  отображаемой  точки в каждом из двух экранов
используются соответственно 3 и 4 плоскости экранного ОЗУ:

                 Стр.0   Стр.1
               --------T-------¬
               ¦  3 (G)¦  7 (I)¦
     Экран 0 ->+-------+-------+
               ¦  2 (R)¦  6 (B)¦
               ¦=======+=======¦
               ¦  1 (G)¦  5 (I)¦
     Экран 1 ->+-------+-------+
               ¦  0 (R)¦  4 (B)¦
               L-------+--------

     Сегментам 3  и  1 соответствует зеленый цвет (G),  2 и 0 -
красный (R), 6 и 4 - синий (B), 7 и 5 (в 3-битном режиме не ис-
пользуются) - управление яркостью (I).

     Путем записи  комбинации  битов в соответствующие сегменты
экрана можно получить точку заданного цвета.


          1.2.6. РЕЖИМ С ГРУППОВЫМ КОДИРОВАНИЕМ ЦВЕТА
          -------------------------------------------

     В 16-цветном режиме с групповым кодированием каждый из 4-х
экранов  формируется  из содержимого двух сегментов памяти:  из
плоскости изображения (0 страница ОЗУ) и плоскости цветовых ат-
рибутов  (1 страница ОЗУ),  причем восьми соседним точкам плос-
кости изображения, расположенным в пределах одного байта, соот-
ветствует один байт из плоскости цветовых атрибутов.

     Старшие 4  бита в байте цветового атрибута определяют цвет
фона (для погашенных точек),  младшие 4 бита -  цвет  переднего
плана  (для засвеченных точек) в пределах одного экранного бай-
та.

                 Стр.0    Стр.1
                (изобр)  (цвет)
               --------T-------¬
     Экран 0 ->¦   3   ¦   7   ¦
               ¦=======+=======¦
     Экран 1 ->¦   2   ¦   6   ¦
               ¦=======+=======¦
     Экран 2 ->¦   1   ¦   5   ¦
               ¦=======+=======¦
     Экран 3 ->¦   0   ¦   4   ¦
               L-------+--------

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

        Периферия
        ---------

по портам RS-232 и AY:

30H - регистр данных ВВ51 "COM1" (DD7)
31H - регистр управления ВВ51 "COM1" (DD7)
34H - регистр данных ВВ51 "COM2" (DD8)
35H - регистр управления ВВ51 "COM2" (DD8)
38H - счетчик 1 ВИ53 (DD6)
39H - счетчик 2 ВИ53 (DD6)
3AH - счетчик 3 ВИ53 (DD6)
3BH - регистр управления ВИ53 (DD6)
3EH - запись данных музыкального процессора (DD9)
3FH - чтение данных музыкального процессора (DD9)
3FH - запись номера регистра музыкального процессора (DD9)

по HDD-RTC:

50H ; dannye CMOS
51H ; adres CMOS
56H ; alxt.registr sostoqniq
56H ; registr uprawleniq
57H ; st.bajt registra dannyh
58H ; ml.bajt registra dannyh
59H ; registr o{ibok
59H ; registr swojstw
5AH ; s~et~ik seektorow
5BH ; registr sektora
5CH ; ml.bajt nom.cilindra
5DH ; st.bajt nom.cilindra
5EH ; registr golowki i ustrojstwa
5FH ; registr sostoqniq
5FH ; registr komand

70..77h - порт COM3 (БИС 16C550), коммуникация с "внешним миром";
78..7Fh - порт COM4 (БИС 16C550), резерв "для чего-нибудь ещё";
80..84h - RAM-диск 1 Мб (СОЗУ 2х512 Кб);
88..8Fh - SDHC (на МК).
