Ириша/Техническая информация: различия между версиями
Panther (обсуждение | вклад) (→Порты ввода-вывода: +video) |
Panther (обсуждение | вклад) |
||
| (не показано 14 промежуточных версий этого же участника) | |||
| Строка 27: | Строка 27: | ||
После сброса устанавливается карта 0. При этом на нижние адреса подключается ПЗУ, а на верхние – нулевая страница памяти видеоконтроллера. | После сброса устанавливается карта 0. При этом на нижние адреса подключается ПЗУ, а на верхние – нулевая страница памяти видеоконтроллера. | ||
= Порты ввода-вывода = | |||
{| class="wide" | {| class="wide" | ||
| Строка 182: | Строка 136: | ||
|- | |- | ||
| style="text-align:center;" | 14H | | style="text-align:center;" | 14H | ||
| style="text-align:center;" | R | | style="text-align:center;" | R/<span style="text-decoration: overline;">W</span> | ||
|| | || Порт расширения ROM. Чтение – получение следующего байта. Запись – сброс счетчика. | ||
|| | || | ||
| Строка 211: | Строка 165: | ||
|} | |} | ||
= Видеоконтроллер = | |||
Видеоконтроллер поддерживает только графические режимы. Текстовые режимы эмулируются программным обеспечением. | |||
[[Изображение:Irisha vodeomodes.png|700px|center]] | |||
Объем памяти, необходимой для режима 1 – 8000 байт (страницы выровнены по границе 8 Кб), для режимов 2 и 3 – 16000 байт. | |||
== Регистры управления видеоконтроллером == | |||
[[Изображение:Irisha video registers.png|300px|center]] | |||
* D8H – регистр управления режимом. | |||
** 0AH, 1AH – режим 1. | |||
** 8AH – режим 2. | |||
** 9AH – режим 3. | |||
** x8H, x2H, x0H – гашение изображения. | |||
* D9H – регистр управления цветом. | |||
* DAH – регистр выбора рабочих страниц. | |||
== Монохромные режимы == | |||
[[Изображение:Irisha mono modes.png|400px|center]] | |||
В монохромном режиме среднего разрешения каждый бит отвечает за засветку одной точки на экране. | |||
В режиме высокого разрешения, в зависимости от установки перемычки П1, контроллер может работать аналогично режиму среднего разрешения (П1 снята), тогда в строке выводится 640 независимых точек, либо, за счет снижения разрешения (П1 установлена), яркость соседних точек усредняется (используется для бытовых телевизоров с узкой полосой пропускания). | |||
В режиме 1 на экране отображается одна из двух экранных страниц 8000 байт (адрес начала страниц выровнен но границе 8 Кб), в левом верхнем углу находится первый байт изображения. Старший бит соответствует первой точке. | |||
Структура регистра управления цветом показана на рисунке: | |||
<center>[[Изображение:Irisha mode 1 register.png|300px]] [[Изображение:Irisha mode 3 pallette.png|300px]]</center> | |||
== Цветной режим == | |||
В режиме 2 каждая точка может быть окрашена одним из трёх цветов из выбранной палитры (доступно 2): | |||
<center>[[Изображение:Irisha mode 2.png|300px]] [[Изображение:Irisha mode 2 pallette.png|300px]]</center> | |||
= Контроллер прерываний = | |||
[[Изображение:Irisha interrupts.png|400px|center]] | |||
Наивысший приоритет имеет прерывание ITIMER от таймера ВИ53. IKBD и IUART отвечают за прием данных с клавиатура и по локальной сети. | |||
= ППА = | |||
ППА построен на основе КР580ВВ55. Порты используются следующим образом: | |||
* Порт A: Ввод/вывод данных. | |||
* Порт B: Только ввод. | |||
* Порт C: Только вывод. | |||
Выходы порта C используются для управления работой внутренних схем модуля процессора. | |||
На входе порта B установлен мультиплексор К555КП13. Управление мультиплексором осуществляется выходом PC7. | |||
<center> | |||
{| class="wikitable" | |||
|+ Функции входов и выходов БИС ППА КР580ВВ55 | |||
|- | |||
! rowspan="2" | Сигнал | |||
! colspan="2" | Назначение | |||
|- | |||
! PC7 = 0 | |||
! PC7 = 1 | |||
|- style="border-bottom:hidden;" | |||
| style="text-align:center;" |'''PA0''' || Вход-выход ПИ 0 || Старт цикла преобразователя игрового адаптера | |||
|- style="border-bottom:hidden;" | |||
| style="text-align:center;" | '''PA1''' || Вход-выход ПИ 1 || Выбор игрового пульта. Запись по сигналу PC6. «0» — пульт 1, «1» — пульт 2 | |||
|- style="border-bottom:hidden;" | |||
| style="text-align:center;" | '''PA2''' || Вход-выход ПИ 2 || rowspan="2" | Не используется | |||
|- style="border-bottom:hidden;" | |||
| style="text-align:center;" | '''PA3''' || Вход-выход ПИ 3 | |||
|- style="border-bottom:hidden;" | |||
| style="text-align:center;" | '''PA4''' || Вход-выход ПИ 4 || Канал побитного управления звуком (шумовой канал) | |||
|- style="border-bottom:hidden;" | |||
| style="text-align:center;" | '''PA5''' || Вход-выход ПИ 5 || Разрешение работы канала 1 синтезатора звука. «0» — разрешена | |||
|- style="border-bottom:hidden;" | |||
| style="text-align:center;" | '''PA6''' || Вход-выход ПИ 6 || Не используется | |||
|- | |||
| style="text-align:center;" | '''PA7''' || Вход-выход ПИ 7 || Выход программного канала последовательного интерфейса | |||
|- style="border-bottom:hidden;" | |||
| style="text-align:center;" | '''PB0''' || Вход статуса ПИ S13 || Анализ завершения цикла преобразования игрового адаптера: «0» — завершён | |||
|- style="border-bottom:hidden;" | |||
| style="text-align:center;" | '''PB1''' || Вход статуса ПИ S14 || Анализ состояния кнопки игрового пульта 1: «0» — нажата | |||
|- style="border-bottom:hidden;" | |||
| style="text-align:center;" | '''PB2''' || Вход статуса ПИ S15 || Анализ состояния кнопки пульта 2: «0» — нажата | |||
|- style="border-bottom:hidden;" | |||
| style="text-align:center;" | '''PB3''' || Вход статуса ПИ S16 || Вход программного канала последовательного интерфейса | |||
|- style="border-bottom:hidden;" | |||
| style="text-align:center;" | '''PB4''' || Вход статуса ПИ S12 || Анализ сигнала BUSRQ системной магистрали: «1» — установлен | |||
|- style="border-bottom:hidden;" | |||
| style="text-align:center;" | '''PB5''' || Вход статуса ПИ S11 || Анализ сигнала PON системной магистрали: «1» — норма | |||
|- style="border-bottom:hidden;" | |||
| style="text-align:center;" | '''PB6''' || Вход анализа типа дополнительной платы EX1 || Анализ сигнала INT1 системной магистрали: «1» — установлен | |||
|- | |||
| style="text-align:center;" | '''PB7''' || Вход анализа типа дополнительной платы EX2 || Анализ готовности клавиатуры: «1» — код принят | |||
|- style="border-bottom:hidden;" | |||
| style="text-align:center;" | '''PC0''' || colspan="2" | Выход управления ПИ SO1 | |||
|- style="border-bottom:hidden;" | |||
| style="text-align:center;" | '''PC1''' || colspan="2" | Выход управления ПИ SO2 | |||
|- style="border-bottom:hidden;" | |||
| style="text-align:center;" | '''PC2''' || colspan="2" | Управление выбором рабочей карты памяти MC0 | |||
|- style="border-bottom:hidden;" | |||
| style="text-align:center;" | '''PC3''' || colspan="2" | Управление выбором рабочей карты памяти MC1 | |||
|- style="border-bottom:hidden;" | |||
| style="text-align:center;" | '''PC4''' || colspan="2" | Разрешение захвата системной магистрали: «1» — захват разрешён | |||
|- style="border-bottom:hidden;" | |||
| style="text-align:center;" | '''PC5''' || colspan="2" | Выбор режима игровой адаптер — синтезатор звука: «1» — игровой адаптер, «0» — синтезатор звука | |||
|- style="border-bottom:hidden;" | |||
| style="text-align:center;" | '''PC6''' || colspan="2" | Строб записи в дополнительный регистр управления игровым адаптером и синтезатором звука | |||
|- | |||
| style="text-align:center;" | '''PC7''' || colspan="2" | Выбор функций портов А и В | |||
|} | |||
</center> | |||
= Клавиатура = | |||
Клавиатура записывает код нажатой клавиши в регистр К589ИР12, после чего устанавливается сигнал прерывания IKBD. После чтения регистра сигнал IKBD сбрасывается. Также, наличие кода символа в регистре можно контролировать с помощью бита PB7 ППА. | |||
= Последовательный интерфейс = | |||
Последовательный интерфейс предназначен для обмена информацией с внешними устройствами, в том числе бытовым магнитофоном. Последовательный интерфейс имеет два канала: | |||
* '''Канал 1''' построен на базе КР580ВВ51. | |||
* '''Канал 2''' реализуется программно: вывод с помощью манипуляции выходом PA7 ППА, ввод с помощью анализа состояния PB3 ППА. | |||
Скорость обмена в Канале 1 задается с помощью программирования режимов КР580ВВ51 и канала 0 КР580ВИ53, который используется как делитель базовой частоты Ф2TTL, равной 1,7777 МГц. | |||
Канал 2 используется для обмена с бытовым магнитофоном и поддерживает скорости до 1200 бод. Метод и формат записи соответствует стандарту MSX. | |||
Для полноценной работы магнитофон должен поддерживать вход отключения двигателя. Программа работы с магнитофоном использует бит PA7 ППА для вывода информации, выход DTR ВВ51 для управления двигателем и вход DSR для чтения данных. Полученные байты должны читаться из регистра данных ВВ51. | |||
= Параллельный интерфейс (ПИ) = | |||
Параллельный интерфейс предназначен для подключения принтеров и других периферийных устройств. Интерфейс реализует следующие сигналы: | |||
* <span style="text-decoration: overline;">P0</span> … <span style="text-decoration: overline;">P7</span> — двунаправленные. Подключены к каналу A ППА. | |||
* <span style="text-decoration: overline;">S01</span>, <span style="text-decoration: overline;">S02</span> — выходы, PC0 и PC1 ППА. | |||
* S11 … S16 — входы, подключены к каналу B ППА. | |||
В зависимости от типа подключенного устройства, конкретное назначение сигналов определяется схемой его подключения и программным обеспечением. | |||
= Таймер = | |||
В качестве таймера используется БИС К580ВИ53. | |||
'''Канал 0''' используется как делитель частоты для последовательного интерфейса. | |||
'''Канал 1''' используется для формирования временных интервалов. Опорная частота формируется делением сигнала Ф2TTL на 256, что позволяет формировать временные интервалы от 432 мкс до 9,4 сек с дискретностью 144 мкс. Выходной сигнал канала поступает на контроллер прерываний и имеет наивысший приоритет. | |||
'''Канал 2''' используется для генерации звука. | |||
= Синтезатор звука = | |||
Синтезатор звука состоит из двух независимых каналов: | |||
* Канал 1 использует второй канал К580ВИ53. | |||
* Канал 2 предназначен для синтеза шумовых сигналов и управляется битом PA4 ППА. | |||
Разрешение работы обоих каналов управляется выводом PC5 ППА (активный – низкий). | |||
= Расширение ROM = | |||
Дополнительное ПЗУ подключается к специальному разъему на плате процессора. Размер может достигать 64 Кб. Доступ к содержимому производится через порт 14H – чтение передает следующий байт, запись сбрасывает счётчик. | |||
Наличие дополнительно ПЗУ определяется, если при чтении 65536 байт из порта 14H, хотя бы один полученный байт будет отличаться от FFH. | |||
Каждый файл содержит заголовок, в котором указан адрес загрузки, длина и название. Файлы идут последовательно, выравнивания по адресам нет. Файл может состоять из основного блока и нескольких экстентов. Формат записи файла в ПЗУ следующий: | |||
[[Изображение:Irisha ext rom.png|400px|center]] | |||
[[Категория:Ириша]] | [[Категория:Ириша]] | ||
Текущая версия от 11:19, 19 марта 2026
| Этот документ создан для Emuverse и распространяется на условиях лицензии CC-BY-SA-3.0. |
Процессор
Адресное пространство

В базовом варианте Ириша содержит два основных блока оперативной памяти:
- Память видеоконтроллера (до 64 Кб).
- Память на дополнительной плате (64 Кб).
Каждый блок памяти разбит на 4 подстраницы по 16 Кб.
Плата процессора собственной памяти не содержит и использует память видеоконтроллера и/или память на дополнительной плате.
На плате процессора устанавливается ПЗУ (от 2 до 16 Кб).
Отображение страниц ОЗУ и ПЗУ на адресное пространство процессора управляется битами PC2 и PC3 регистра ВВ55 на плате процессора.
Всего доступно 4 карты распределения памяти. Полученные варианты (для стандартной прошивки ПЗУ блока управления памятью) приведены на рисунке.
После сброса устанавливается карта 0. При этом на нижние адреса подключается ПЗУ, а на верхние – нулевая страница памяти видеоконтроллера.
Порты ввода-вывода
| Адрес | Вид операции | Назначение | Примечание |
|---|---|---|---|
| 00H … 03H | — | Резерв | |
| 05H | R | Регистр данных клавиатуры (дубль) | |
| 07H | R/W | Регистр управления/статуса последовательного интерфейса | |
| 0BH | W | Регистр управления | |
| 0FH | R/W | Дублирует 0DH | |
| 13H | W | Регистр управления ППА | |
| 14H | R/W | Порт расширения ROM. Чтение – получение следующего байта. Запись – сброс счетчика. | |
| 15H … 1BH | — | Резерв | |
| DAH | W | Регистр выбора видеостраницы |
Видеоконтроллер
Видеоконтроллер поддерживает только графические режимы. Текстовые режимы эмулируются программным обеспечением.

Объем памяти, необходимой для режима 1 – 8000 байт (страницы выровнены по границе 8 Кб), для режимов 2 и 3 – 16000 байт.
Регистры управления видеоконтроллером

- D8H – регистр управления режимом.
- 0AH, 1AH – режим 1.
- 8AH – режим 2.
- 9AH – режим 3.
- x8H, x2H, x0H – гашение изображения.
- D9H – регистр управления цветом.
- DAH – регистр выбора рабочих страниц.
Монохромные режимы

В монохромном режиме среднего разрешения каждый бит отвечает за засветку одной точки на экране.
В режиме высокого разрешения, в зависимости от установки перемычки П1, контроллер может работать аналогично режиму среднего разрешения (П1 снята), тогда в строке выводится 640 независимых точек, либо, за счет снижения разрешения (П1 установлена), яркость соседних точек усредняется (используется для бытовых телевизоров с узкой полосой пропускания).
В режиме 1 на экране отображается одна из двух экранных страниц 8000 байт (адрес начала страниц выровнен но границе 8 Кб), в левом верхнем углу находится первый байт изображения. Старший бит соответствует первой точке.
Структура регистра управления цветом показана на рисунке:
Цветной режим
В режиме 2 каждая точка может быть окрашена одним из трёх цветов из выбранной палитры (доступно 2):
Контроллер прерываний

Наивысший приоритет имеет прерывание ITIMER от таймера ВИ53. IKBD и IUART отвечают за прием данных с клавиатура и по локальной сети.
ППА
ППА построен на основе КР580ВВ55. Порты используются следующим образом:
- Порт A: Ввод/вывод данных.
- Порт B: Только ввод.
- Порт C: Только вывод.
Выходы порта C используются для управления работой внутренних схем модуля процессора. На входе порта B установлен мультиплексор К555КП13. Управление мультиплексором осуществляется выходом PC7.
| Сигнал | Назначение | |
|---|---|---|
| PC7 = 0 | PC7 = 1 | |
| PA7 | Вход-выход ПИ 7 | Выход программного канала последовательного интерфейса |
| PB7 | Вход анализа типа дополнительной платы EX2 | Анализ готовности клавиатуры: «1» — код принят |
| PC7 | Выбор функций портов А и В | |
Клавиатура
Клавиатура записывает код нажатой клавиши в регистр К589ИР12, после чего устанавливается сигнал прерывания IKBD. После чтения регистра сигнал IKBD сбрасывается. Также, наличие кода символа в регистре можно контролировать с помощью бита PB7 ППА.
Последовательный интерфейс
Последовательный интерфейс предназначен для обмена информацией с внешними устройствами, в том числе бытовым магнитофоном. Последовательный интерфейс имеет два канала:
- Канал 1 построен на базе КР580ВВ51.
- Канал 2 реализуется программно: вывод с помощью манипуляции выходом PA7 ППА, ввод с помощью анализа состояния PB3 ППА.
Скорость обмена в Канале 1 задается с помощью программирования режимов КР580ВВ51 и канала 0 КР580ВИ53, который используется как делитель базовой частоты Ф2TTL, равной 1,7777 МГц.
Канал 2 используется для обмена с бытовым магнитофоном и поддерживает скорости до 1200 бод. Метод и формат записи соответствует стандарту MSX.
Для полноценной работы магнитофон должен поддерживать вход отключения двигателя. Программа работы с магнитофоном использует бит PA7 ППА для вывода информации, выход DTR ВВ51 для управления двигателем и вход DSR для чтения данных. Полученные байты должны читаться из регистра данных ВВ51.
Параллельный интерфейс (ПИ)
Параллельный интерфейс предназначен для подключения принтеров и других периферийных устройств. Интерфейс реализует следующие сигналы:
- P0 … P7 — двунаправленные. Подключены к каналу A ППА.
- S01, S02 — выходы, PC0 и PC1 ППА.
- S11 … S16 — входы, подключены к каналу B ППА.
В зависимости от типа подключенного устройства, конкретное назначение сигналов определяется схемой его подключения и программным обеспечением.
Таймер
В качестве таймера используется БИС К580ВИ53.
Канал 0 используется как делитель частоты для последовательного интерфейса.
Канал 1 используется для формирования временных интервалов. Опорная частота формируется делением сигнала Ф2TTL на 256, что позволяет формировать временные интервалы от 432 мкс до 9,4 сек с дискретностью 144 мкс. Выходной сигнал канала поступает на контроллер прерываний и имеет наивысший приоритет.
Канал 2 используется для генерации звука.
Синтезатор звука
Синтезатор звука состоит из двух независимых каналов:
- Канал 1 использует второй канал К580ВИ53.
- Канал 2 предназначен для синтеза шумовых сигналов и управляется битом PA4 ППА.
Разрешение работы обоих каналов управляется выводом PC5 ППА (активный – низкий).
Расширение ROM
Дополнительное ПЗУ подключается к специальному разъему на плате процессора. Размер может достигать 64 Кб. Доступ к содержимому производится через порт 14H – чтение передает следующий байт, запись сбрасывает счётчик.
Наличие дополнительно ПЗУ определяется, если при чтении 65536 байт из порта 14H, хотя бы один полученный байт будет отличаться от FFH.
Каждый файл содержит заголовок, в котором указан адрес загрузки, длина и название. Файлы идут последовательно, выравнивания по адресам нет. Файл может состоять из основного блока и нескольких экстентов. Формат записи файла в ПЗУ следующий:
