<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://emuverse.ru/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9E%D1%80%D0%B8%D0%BE%D0%BD-%D0%9F%D1%80%D0%BE%2F%D0%9E%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8</id>
	<title>Орион-Про/Организация памяти - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://emuverse.ru/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9E%D1%80%D0%B8%D0%BE%D0%BD-%D0%9F%D1%80%D0%BE%2F%D0%9E%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8"/>
	<link rel="alternate" type="text/html" href="https://emuverse.ru/w/index.php?title=%D0%9E%D1%80%D0%B8%D0%BE%D0%BD-%D0%9F%D1%80%D0%BE/%D0%9E%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8&amp;action=history"/>
	<updated>2026-05-05T11:06:41Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://emuverse.ru/w/index.php?title=%D0%9E%D1%80%D0%B8%D0%BE%D0%BD-%D0%9F%D1%80%D0%BE/%D0%9E%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8&amp;diff=1035&amp;oldid=prev</id>
		<title>Panther: Новая: {{ДИ|Автор=(C) 1990-1996 ORIONSOFT}}  == 1. Организация оперативной памяти == === 1.1. Страничная и сегментная организац...</title>
		<link rel="alternate" type="text/html" href="https://emuverse.ru/w/index.php?title=%D0%9E%D1%80%D0%B8%D0%BE%D0%BD-%D0%9F%D1%80%D0%BE/%D0%9E%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8&amp;diff=1035&amp;oldid=prev"/>
		<updated>2008-09-18T18:55:16Z</updated>

		<summary type="html">&lt;p&gt;Новая: {{ДИ|Автор=(C) 1990-1996 ORIONSOFT}}  == 1. Организация оперативной памяти == === 1.1. Страничная и сегментная организац...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{ДИ|Автор=(C) 1990-1996 ORIONSOFT}}&lt;br /&gt;
&lt;br /&gt;
== 1. Организация оперативной памяти ==&lt;br /&gt;
=== 1.1. Страничная и сегментная организация ===&lt;br /&gt;
&lt;br /&gt;
Оперативная память компьютера «Orion-Pro» имеет страничную и сегментную организацию. Управление режимами памяти осуществляется с помощью порта диспетчера.&lt;br /&gt;
&lt;br /&gt;
Одна страница ОЗУ имеет размер 64 Кбайта и соответствует максимально возможному объему памяти, непосредственно адресуемому процессором Z80. Каждую страницу условно можно разделить на 4 сегмента размером по 16 Кбайт.&lt;br /&gt;
&lt;br /&gt;
Количество страниц ОЗУ на основной плате равно 8 (их номера 0..7), что соответствует 32 сегментам и объему основной памяти 512 Кбайт. Для выбора номера рабочей (текущей) страницы используется порт с адресом 08H (для режима «Орион-128» — 0F900H). Все страницы равносильны, и нет необходимости работать именно в нулевой (только для режима Pro). В режиме «Орион-128» для переключения страниц ОЗУ можно использовать порт с адресом 0F9H.&lt;br /&gt;
&lt;br /&gt;
Распределение сегментов по страницам основного ОЗУ:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        Стр.0  Стр.1  Стр.2  Стр.3  Стр.4  Стр.5  Стр.6  Стр.7&lt;br /&gt;
FFFFH ┌──────╥──────╥──────╥──────╥──────╥──────╥──────╥──────┐&lt;br /&gt;
      │   3  ║   7  ║  11  ║  15  ║  19  ║  23  ║  27  ║  31  │&lt;br /&gt;
C000H ├──────╫──────╫──────╫──────╫──────╫──────╫──────╫──────┤&lt;br /&gt;
      │   2  ║   6  ║  10  ║  14  ║  18  ║  22  ║  26  ║  30  │&lt;br /&gt;
8000H ├──────╫──────╫──────╫──────╫──────╫──────╫──────╫──────┤&lt;br /&gt;
      │   1  ║   5  ║   9  ║  13  ║  17  ║  21  ║  25  ║  29  │&lt;br /&gt;
4000H ├──────╫──────╫──────╫──────╫──────╫──────╫──────╫──────┤&lt;br /&gt;
      │   0  ║   4  ║   8  ║  12  ║  16  ║  20  ║  24  ║  28  │&lt;br /&gt;
0000H └──────╨──────╨──────╨──────╨──────╨──────╨──────╨──────┘&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Доступ к сегментам ОЗУ осуществляется через три независимых окна, которые можно «открыть» в адресном пространстве процессора в пределах рабочей страницы ОЗУ:&lt;br /&gt;
&lt;br /&gt;
* Окно ОЗУ «RAM2» — 8000-BFFFH&lt;br /&gt;
* Окно ОЗУ «RAM1» — 4000-7FFFH&lt;br /&gt;
* Окно ОЗУ «RAM0» — 0000-3FFFH&lt;br /&gt;
&lt;br /&gt;
Включение (открытие) каждого из окон осуществляется установкой соответствующего разряда D0, D1, D2 порта диспетчера 0AH в единицу, а отключение (закрытие) — установкой разряда в 0.&lt;br /&gt;
&lt;br /&gt;
Назначение разрядов порта 0AH следующее:&lt;br /&gt;
&lt;br /&gt;
* D0 — включить окно ОЗУ «RAM0»&lt;br /&gt;
* D1 — включить окно ОЗУ «RAM1»&lt;br /&gt;
* D2 — включить окно ОЗУ «RAM2»&lt;br /&gt;
* D3 — включить окно ПЗУ «ROM2-BIOS»&lt;br /&gt;
* D4 — включить окно ПЗУ «ROM1-BIOS»&lt;br /&gt;
* D5 — включить тактовую частоту процессора 2.5 МГц&lt;br /&gt;
* D6 — отключить переключение ОЗУ 0F000H..0FFFFH (в режиме «Orion-128» игнорируется)&lt;br /&gt;
* D7 — включить режим «Orion-128» (область 0F000H..0FFFFH недоступна для записи).&lt;br /&gt;
&lt;br /&gt;
Использование разрядов D3..D7 будет описано ниже.&lt;br /&gt;
&lt;br /&gt;
Для выбора сегментов в каждом из окон «RAM0», «RAM1», «RAM2» в компьютере предусмотрены три порта с адресами соответственно 04H, 05H, 06H, в которые могут быть записаны номера сегментов ОЗУ. Разрядность портов позволяет управлять переключением 256 сегментов, что составляет 4 Мбайта памяти. Это предел для расширения памяти на «Orion-Pro».&lt;br /&gt;
&lt;br /&gt;
Заметим, что порты диспетчера 04H, 05H, 06H, 08H, 0AH доступны как для записи, так и для чтения.&lt;br /&gt;
&lt;br /&gt;
Сегмент памяти, включенный в окне, имеет более высокий приоритет, чем основная память в рабочей странице. Так, например, если в рабочей странице 2 открыть окно «RAM1» (установкой разряда D1 порта 0AH в единицу) и включить в нем сегмент 16 (записью в порт 05H значения 16), то адресное пространство процессора будет распределено следующим образом:&lt;br /&gt;
&lt;br /&gt;
                  Стр.2&lt;br /&gt;
     FFFFH ┌─────────────────┐                         Порт 0AH&lt;br /&gt;
     F000H ├ ─ ─ ─ ─ ─ ─ ─ ─ ┤                         -----&lt;br /&gt;
           │       11        │                         D2 D1 D0&lt;br /&gt;
     C000H ├─────────────────┤                          0  1  0&lt;br /&gt;
           │                 │                          │  │  │&lt;br /&gt;
           │       10        │       Окно «RAM2»  ──────┘  │  │&lt;br /&gt;
     8000H ├─────────────────┤                             │  │&lt;br /&gt;
           │┌────────────────┴┐                            │  │&lt;br /&gt;
           ││       16 -&amp;gt;(05H)│    &amp;lt; Окно «RAM1»  ─────────┘  │&lt;br /&gt;
     4000H ├┤                 │                               │&lt;br /&gt;
           │└────────────────┬┘                               │&lt;br /&gt;
           │        8        │       Окно «RAM3»  ────────────┘&lt;br /&gt;
     0000H └─────────────────┘&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Таким образом, при доступе к памяти через окна ОЗУ над основной памятью страницы (тоже сегменты, но приписанные к данной странице) образуется как бы второй «слой».&lt;br /&gt;
&lt;br /&gt;
Заметим, что область памяти 0F000H..0FFFFH только в режиме «Orion-Pro» (разряд D7 порта 0AH установлен в 0) доступна как для чтения, так и для записи. Кроме того, программно можно установить режим, при котором указанная область или переключается вместе с переключением страниц (D6=0), или не переключается (D6=1).&lt;br /&gt;
&lt;br /&gt;
Если область памяти 0F000H..0FFFFH находится в не переключаемом режиме, то физически (аппаратно) там проектируется соответствующая часть 31 сегмента. Это позволяет весь сегмент 3 отдать под экран и иметь экран-0 так же 16 Кбайт, то есть 512х256 точек. Учитывая выше сказанное, программы пользователя не должны использовать 31 (1FH) сегмент. Недоступны для пользователя и сегменты 1B-1EH, которые использует для своих целей «TV-PRO».&lt;br /&gt;
&lt;br /&gt;
В режиме «Orion-128» (разряд D7 порта 0AH установлен в 1) указанная область памяти является не переключаемой независимо от значения разряда D6, к тому же ячейки с адресами 0F400H..0FA00H доступны как порты (причем порты 0F800H..0FA00H доступны только на запись, так как при чтении по адресам 0F800H..0FFFFH включается ОЗУ).&lt;br /&gt;
&lt;br /&gt;
Заметим, что разряд D5 порта диспетчера 0AH управляет выбором тактовой частоты компьютера: для D5=0 она составляет 10 МГц (5 МГц при перестановке перемычки J1/23), для D5=1 — 2.5 МГц. Режим с тактовой частотой 2.5 Мгц используется только для старых программ (игрушек) от «Орион-128».&lt;br /&gt;
&lt;br /&gt;
Доступ к расширенной памяти, находящейся на внешней интерфейсной плате, в пределах первых 512 Кбайт также может быть как постраничным (страницы 8..15), так и посегментным (сегменты 32..63). Остальная расширенная память (свыше 1 Мбайта) не может переключаться страницами и доступна как сегменты через RAM-окна (номера сегментов 64..256).&lt;br /&gt;
&lt;br /&gt;
=== 1.2. Организация экранной памяти ===&lt;br /&gt;
&lt;br /&gt;
Экранная память располагается в 0 и 1 страницах ОЗУ, причем количество экранов и распределение сегментов в них зависит от текущего цветового режима, задаваемого разрядами порта 0F8H:&lt;br /&gt;
&lt;br /&gt;
    D4  D3  D2  D1  D0&lt;br /&gt;
     0   x   0   0   0   – монохромный, палитра 1&lt;br /&gt;
     0   x   0   0   1   – монохромный, палитра 2&lt;br /&gt;
     0   x   0   1   x   – запрет видеосигнала&lt;br /&gt;
     0   x   1   0   0   – 2-битный (4-цветный), палитра 1&lt;br /&gt;
     0   x   1   0   1   – 2-битный (4-цветный), палитра 2&lt;br /&gt;
     0   x   1   1   x   – 16-цветный с групповым кодированием&lt;br /&gt;
     0   1   1   1   x   – псевдо-цветной (цвет – в порт 0FCH)&lt;br /&gt;
     1   x   0   x   x   – 3-битный (8-цветный RGB)&lt;br /&gt;
     1   x   1   x   x   – 4-битный (16-цветный RGBI)&lt;br /&gt;
&lt;br /&gt;
В монохромном режиме палитре 1 соответствует комбинация цветов — (черный, зеленый), палитре 2 — (белый, зеленый). В 4-цветном (2-х битовом) режиме палитре 1 соответствуют цвета — (черный, синий, зеленый, красный), палитре 2 — (белый, синий, зеленый, красный).&lt;br /&gt;
&lt;br /&gt;
Код палитры для псевдо-цветного режима записывается в порт с адресом 0FCH.&lt;br /&gt;
&lt;br /&gt;
Выбор на отображение одного из 4-х экранов выполняется путем записи номера экрана в порт 0FAH:&lt;br /&gt;
&lt;br /&gt;
 D0 \ номер экрана&lt;br /&gt;
 D1 /&lt;br /&gt;
 D6 – выключение регенерации ОЗУ&lt;br /&gt;
 D7 – включение широкого экрана&lt;br /&gt;
 &lt;br /&gt;
 Разряды D2D5 являются резервными.&lt;br /&gt;
&lt;br /&gt;
Если разряд D7 установлен в единицу, то ширина экрана составляет 512 точек (64 байта), что при высоте 256 байт соответствует объему памяти 16 Кбайт. В противном случае экранная плоскость ОЗУ имеет ширину 384 точки (48 байт) и занимает объем 12 Кбайт.&lt;br /&gt;
&lt;br /&gt;
В 3х битном и 4-х битном (EGA-режим) цветовых режимах допускается использование только двух экранов, поэтому разряд D0 порта 0FAH игнорируется.&lt;br /&gt;
&lt;br /&gt;
Рассмотрим распределение сегментов экранного ОЗУ в различных цветовых режимах.&lt;br /&gt;
&lt;br /&gt;
==== 1.2.3 монохромный и псевдо-цветной режимы ====&lt;br /&gt;
&lt;br /&gt;
В монохромном и псевдо-цветном режимах возможно использование до 4-х экранов, занимающих только сегменты 0-й страницы ОЗУ:&lt;br /&gt;
&lt;br /&gt;
                 Стр.0         Экран 12 К      Экран 16 К&lt;br /&gt;
               ┌───────┐        --------        --------&lt;br /&gt;
      Экран 0 &amp;gt;│   3   │      C000H..EFFFH    C000H..FFFFH&lt;br /&gt;
               ╞═══════╡&lt;br /&gt;
      Экран 1 &amp;gt;│   2   │      8000H..AFFFH    8000H..BFFFH&lt;br /&gt;
               ╞═══════╡&lt;br /&gt;
      Экран 2 &amp;gt;│   1   │      4000H..6FFFH    4000H..7FFFH&lt;br /&gt;
               ╞═══════╡&lt;br /&gt;
      Экран 3 &amp;gt;│   0   │      0000H..2FFFH    0000H..3FFFH&lt;br /&gt;
               └───────┘&lt;br /&gt;
В монохромном режиме единичному значению некоторого бита экранного сегмента ОЗУ соответствует засветка изображаемой точки, нулевому — гашение.&lt;br /&gt;
&lt;br /&gt;
В псевдо-цветном режиме цвет отображаемых точек зависит от кода палитры, записанного в порт 0FCH. Старшие 4 бита значения этого порта определяют один из 16 цветов фона (для погашенных точек), младшие 4 бита — один из 16 цветов переднего плана (для засвеченных точек).&lt;br /&gt;
&lt;br /&gt;
Заметим, что при широком экране-0 область 0F000H..0FFFFH экрана (не путать с системной областью 0F000H..0FFFFH) доступна только через окно. Прямой доступ к экрану возможен только по адресам 0C000-0EFFFH. Это относится ко всем цветовым режимам.&lt;br /&gt;
&lt;br /&gt;
==== 1.2.4. 4-цветный режим ====&lt;br /&gt;
&lt;br /&gt;
В 4-цветном (2-битном) режиме цвет каждой отображаемой точки зависит от соответствующих битов двух экранных плоскостей (сегментов), находящихся в страницах 0 и 1 ОЗУ:&lt;br /&gt;
&lt;br /&gt;
                 Стр.0   Стр.1&lt;br /&gt;
               ┌───────┬───────┐&lt;br /&gt;
      Экран 0 &amp;gt;│   3   │   7   │&lt;br /&gt;
               ╞═══════╪═══════╡&lt;br /&gt;
      Экран 1 &amp;gt;│   2   │   6   │&lt;br /&gt;
               ╞═══════╪═══════╡&lt;br /&gt;
      Экран 2 &amp;gt;│   1   │   5   │&lt;br /&gt;
               ╞═══════╪═══════╡&lt;br /&gt;
      Экран 3 &amp;gt;│   0   │   4   │&lt;br /&gt;
               └───────┴───────┘&lt;br /&gt;
                   └──┐ ┌──┘&lt;br /&gt;
                      0 0  &amp;gt;  черный (белый)&lt;br /&gt;
                      0 1  &amp;gt;  красный&lt;br /&gt;
                      1 0  &amp;gt;  зеленый&lt;br /&gt;
                      1 1  &amp;gt;  синий&lt;br /&gt;
&lt;br /&gt;
==== 1.2.5. 8-цветный и 16-цветный режимы ====&lt;br /&gt;
&lt;br /&gt;
Это новый графический режим. Функционально он тождествен EGA режиму на IBM PC AT (был широко распространен на 286 моделях). В 8-цветном (3-битном) и 16-цветном (4-битном) режимах для формирования отображаемой точки в каждом из двух экранов используются соответственно 3 и 4 плоскости экранного ОЗУ:&lt;br /&gt;
&lt;br /&gt;
                 Стр.0   Стр.1&lt;br /&gt;
               ┌───────┬───────┐&lt;br /&gt;
               │  3 (G)│  7 (I)│&lt;br /&gt;
      Экран 0 &amp;gt;├───────┼───────┤&lt;br /&gt;
               │  2 (R)│  6 (B)│&lt;br /&gt;
               ╞═══════╪═══════╡&lt;br /&gt;
               │  1 (G)│  5 (I)│&lt;br /&gt;
      Экран 1 &amp;gt;├───────┼───────┤&lt;br /&gt;
               │  0 (R)│  4 (B)│&lt;br /&gt;
               └───────┴───────┘&lt;br /&gt;
&lt;br /&gt;
Сегментам 3 и 1 соответствует зеленый цвет (G), 2 и 0 — красный (R), 6 и 4 — синий (B), 7 и 5 (в 3-битном режиме не используются) — управление яркостью (I).&lt;br /&gt;
&lt;br /&gt;
Путем записи комбинации битов в соответствующие сегменты экрана можно получить точку заданного цвета.&lt;br /&gt;
&lt;br /&gt;
==== 1.2.6. Режим с групповым кодированием цвета ====&lt;br /&gt;
&lt;br /&gt;
В 16-цветном режиме с групповым кодированием каждый из 4-х экранов формируется из содержимого двух сегментов памяти: из плоскости изображения (0 страница ОЗУ) и плоскости цветовых атрибутов (1 страница ОЗУ), причем восьми соседним точкам плоскости изображения, расположенным в пределах одного байта, соответствует один байт из плоскости цветовых атрибутов.&lt;br /&gt;
&lt;br /&gt;
Старшие 4 бита в байте цветового атрибута определяют цвет фона (для погашенных точек), младшие 4 бита — цвет переднего плана (для засвеченных точек) в пределах одного экранного байта.&lt;br /&gt;
&lt;br /&gt;
                 Стр.0    Стр.1&lt;br /&gt;
                (изобр)  (цвет)&lt;br /&gt;
               ┌───────┬───────┐&lt;br /&gt;
      Экран 0 &amp;gt;│   3   │   7   │&lt;br /&gt;
               ╞═══════╪═══════╡&lt;br /&gt;
      Экран 1 &amp;gt;│   2   │   6   │&lt;br /&gt;
               ╞═══════╪═══════╡&lt;br /&gt;
      Экран 2 &amp;gt;│   1   │   5   │&lt;br /&gt;
               ╞═══════╪═══════╡&lt;br /&gt;
      Экран 3 &amp;gt;│   0   │   4   │&lt;br /&gt;
               └───────┴───────┘&lt;br /&gt;
&lt;br /&gt;
Для всех цветовых режимов действует ограничение на использование широкого экрана с номером 0, описанное в П.1.2.3.&lt;br /&gt;
&lt;br /&gt;
Следует помнить, что экраны аппаратно привязаны к конкретным сегментам ОЗУ, а не к окнам, то есть отображение информации экрана не зависит от рабочей страницы ОЗУ и включения / выключения окон.&lt;br /&gt;
&lt;br /&gt;
== 2. Организация постоянной памяти ==&lt;br /&gt;
&lt;br /&gt;
Постоянная память, расположенная на основной плате, состоит из двух частей:&lt;br /&gt;
&lt;br /&gt;
* «ROM1-BIOS» — стартовое ПЗУ объемом 8 Кбайт;&lt;br /&gt;
* «ROM2-BIOS» — ПЗУ пользователя объемом 864 Кбайт.&lt;br /&gt;
&lt;br /&gt;
Для доступа к постоянной памяти в адресном пространстве процессора предусмотрено включение соответственно двух ROM-окон ПЗУ.&lt;br /&gt;
&lt;br /&gt;
Окно для «ROM1-BIOS» включается по адресам 0000H..1FFFH при аппаратном сбросе компьютера, тем самым обеспечивая доступ к стартовым и другим подпрограммам.&lt;br /&gt;
&lt;br /&gt;
Для управления включением и выключением окна «ROM1-BIOS» предназначен бит D4 порта диспетчера 0AH.&lt;br /&gt;
&lt;br /&gt;
Включением окна «ROM2-BIOS» по адресам 2000H..3FFFH управляет бит D3 порта 0AH (независимо от окна «ROM1-BIOS»), причем доступ к ПЗУ в этом окне осуществляется по сегментам размером 8 Кбайт (отсюда и минимальный размер ПЗУ). Номер сегмента «ROM2-BIOS» записывается в специальный порт с адресом 09H, допускающий как запись, так и чтение информации.&lt;br /&gt;
&lt;br /&gt;
Окна ПЗУ имеют самый высокий приоритет: если окно «ROM1-BIOS» и/или «ROM2-BIOS» включено, то доступ к нему обеспечивается из любой текущей страницы, в том числе при «открытом» окне ОЗУ «RAM0». Например, если во 2-й странице ОЗУ в любом порядке открыть окно «RAM0» с сегментом 10 (путем записи значения 10 в порт 04H и установкой разряда D0 порта 0AH в единицу) и окно «ROM1» (установкой разряда D4 порта 0AH в единицу), то распределение памяти будет следующим:&lt;br /&gt;
&lt;br /&gt;
                   Стр.2&lt;br /&gt;
                   ...                                 Порт 0AH&lt;br /&gt;
          │         9        │                         -----&lt;br /&gt;
    4000H ├──────────────────┤                         D0....D4&lt;br /&gt;
          │┌─────────────────┴┐                         │     │&lt;br /&gt;
          ││        10 -&amp;gt;(04H)│         &amp;lt; Окно «RAM0» ──┘     │&lt;br /&gt;
    0000H ││                  │                               │&lt;br /&gt;
          └┤┌─────────────────┴┐ 2000H                        │&lt;br /&gt;
           └┤       ROM1       │        &amp;lt; Окно «ROM1» ────────┘&lt;br /&gt;
            └──────────────────┘ 0000H&lt;br /&gt;
&lt;br /&gt;
По адресам 0000H..1FFFH будет доступно ПЗУ «ROM1», а по адресам 2000H..3FFFH — «верхняя» часть 10-го сегмента ОЗУ.&lt;br /&gt;
&lt;br /&gt;
Если в приведенном выше примере открыть еще и окно ПЗУ «ROM2» (установкой бита D3 порта 0AH в единицу и записью в порт 09H номера требуемого сегмента «ROM2»), то 10-й сегмент ОЗУ в окне «RAM0» будет полностью затенен и недоступен:&lt;br /&gt;
&lt;br /&gt;
                   Стр.2&lt;br /&gt;
                   ...                                Порт 0AH&lt;br /&gt;
          │         9        │                        ------&lt;br /&gt;
    4000H ├──────────────────┤                        D0..D3 D4&lt;br /&gt;
          │┌─────────────────┴┐         &amp;lt; Окно «RAM0» ─┘   │  │&lt;br /&gt;
          ││┌─────────────────┴┐ 4000H                     │  │&lt;br /&gt;
    0000H │││ сегм.ROM2 -&amp;gt;(09H)│        &amp;lt; Окно «ROM2» ─────┘  │&lt;br /&gt;
          └┤╞══════════════════╡ 2000H                        │&lt;br /&gt;
           └┤      ROM1        │        &amp;lt; Окно «ROM1» ────────┘&lt;br /&gt;
            └──────────────────┘ 0000H&lt;br /&gt;
&lt;br /&gt;
Можно сказать, что при включении окон ПЗУ образуется как бы третий «слой» памяти в пределах адресного пространства процессора.&lt;br /&gt;
&lt;br /&gt;
ВНИМАНИЕ: Программист должен сам следить за тем, чтобы коды программы, область стека и используемые данные не оказались в переключаемой части страницы или в одном из переключаемых окон ОЗУ (ПЗУ) для исключения их «потери».&lt;br /&gt;
&lt;br /&gt;
== 3. Порты ввода-вывода ==&lt;br /&gt;
&lt;br /&gt;
В режиме «Orion-128» (бит D7 порта 0AH установлен в 1) разрешен доступ к портам 0F400H..0FA00H, адресуемым через область памяти, и к портам 10H..14H, 18H..1BH, 0F8H..0FFH, а также портам периферии — с помощью команд процессора IN, OUT.&lt;br /&gt;
&lt;br /&gt;
В режиме «Orion-Pro» (бит D7 порта 0AH установлен в 0) доступ к портам как к ячейкам ОЗУ запрещен.&lt;br /&gt;
&lt;br /&gt;
Кратко перечислим назначение портов:&lt;br /&gt;
&lt;br /&gt;
     00H      – состояние DIP-переключателей (SW), определяющих конфигурацию системы;&lt;br /&gt;
     01H      – данные принтера «Centronics»;&lt;br /&gt;
     02H      – сигналы управления принтером;&lt;br /&gt;
     03H      – регистр настройки портов 00H..02H;&lt;br /&gt;
     04H      – регистр сегментов для окна «RAM0»;&lt;br /&gt;
     05H      – регистр сегментов для окна «RAM1»;&lt;br /&gt;
     06H      – регистр сегментов для окна «RAM2»;&lt;br /&gt;
     07H      – регистр настройки портов 04H..06H;&lt;br /&gt;
     08H      – регистр страниц ОЗУ;&lt;br /&gt;
     09H      – регистр сегментов «ROM2-BIOS»;&lt;br /&gt;
     0AH      – диспетчер управления конфигурацией памяти;&lt;br /&gt;
     0BH      – регистр настройки портов 08H..0AH;&lt;br /&gt;
     0CH..0FH – системный резерв;&lt;br /&gt;
     10H..13H – порты контроллера дисковода КР1818ВГ93 (в режиме  &lt;br /&gt;
                «Orion-128» доступны также через ячейки памяти 0F700H..0F703H, &lt;br /&gt;
                0F710H..0F714H, 0F720H):&lt;br /&gt;
     10H      – регистр команд;&lt;br /&gt;
     11H      – регистр дорожек;&lt;br /&gt;
     12H      – регистр секторов;&lt;br /&gt;
     13H      – регистр данных;&lt;br /&gt;
     14H      – регистр управления контроллером дисковода;&lt;br /&gt;
                в режиме «Orion-128» доступен также через ячейки &lt;br /&gt;
                0F704H, 0F714H, 0F720H;&lt;br /&gt;
     18H..1BH – универсальный порт,  используемый как порт клавиатуры; &lt;br /&gt;
                в режиме «Orion-128» может быть переключен (параллельно с         &lt;br /&gt;
                обращением 181BH) на  адреса одного из портов 0F4XXH, 0F5XXH, 0F6XXH &lt;br /&gt;
                по выбору пользователя;&lt;br /&gt;
     1CH..1FH – резерв для мультикарты (джойстик, мышь);&lt;br /&gt;
     300AFH   – резерв для плат расширения (будет объявляться с&lt;br /&gt;
                выходом конкретной интерфейсной платы).&lt;br /&gt;
     0B00DFH  – область портов выделенная пользователю.&lt;br /&gt;
     0E00EFH  – резерв для плат расширения (будет объявляться с&lt;br /&gt;
                выходом конкретной интерфейсной платы).&lt;br /&gt;
     0F8H     – регистр управления цветовым  режимом  дисплея;&lt;br /&gt;
                в режиме  «Orion-128» доступен также как ячейка&lt;br /&gt;
                0F800H;&lt;br /&gt;
     0F9H     – регистр страниц;  для режима «Orion-128» доступен &lt;br /&gt;
                также как ячейка 0F900H;&lt;br /&gt;
     0FAH     – регистр  номера  и  размера  экрана;  в  режиме&lt;br /&gt;
                «Orion-128» доступен также как ячейка 0FA00H;&lt;br /&gt;
     0FBH     – регистр включения прерываний от таймера (D6);&lt;br /&gt;
     0FCH     – регистр цвета для псевдо-цветного режима;&lt;br /&gt;
     0FDH     – резерв  для двухбайтовых адресов  портов расширений «ZX»;&lt;br /&gt;
     0FEH     – порт четырехразрядного ЦАП;&lt;br /&gt;
     0FFH     – порт звука.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Орион-Про|02]]&lt;/div&gt;</summary>
		<author><name>Panther</name></author>
	</entry>
</feed>