CompareTable — различия между версиями

Материал из MK90.ORG wiki
Перейти к:навигация, поиск
м (Программная совместимость)
 
(не показано 25 промежуточных версий этого же участника)
Строка 8: Строка 8:
 
Управляющие регистры СБИС отображаются в адресное пространство компьютера, сокращая доступный размер ОЗУ/ПЗУ. Считалось, что памяти и так достаточно, а отказ от использования адресного пространства портов ввода-вывода упрощает схемотехническое решение компьютера (дешифрация адреса, выделение признака обращения к портам из слова состояния ЦП).  
 
Управляющие регистры СБИС отображаются в адресное пространство компьютера, сокращая доступный размер ОЗУ/ПЗУ. Считалось, что памяти и так достаточно, а отказ от использования адресного пространства портов ввода-вывода упрощает схемотехническое решение компьютера (дешифрация адреса, выделение признака обращения к портам из слова состояния ЦП).  
  
Один из источников несовместимости ПО были отличные друг от друга карты распередления памяти.
+
Одним из источников несовместимости ПО были отличные друг от друга карты распередления памяти.
  
{|  
+
{| class="wikitable"
|+ Адресное пространство
+
!Функция
!  
+
!Микросхема
! Радио-86РК
+
!Радио-86РК 16K
! Микроша
+
!Радио-86РК 32K
 +
!Микроша
 +
!Апогей БК-01Ц
 
|-
 
|-
| [[КР580ВВ55А]] Клавиатура
+
| ОЗУ
| ?
+
|  
| ?
+
| 0000..3FFF
 +
| 0000..7FFF
 +
| 0000..7FFF
 +
| 0000..EAFF
 
|-
 
|-
| [[КР580ВВ55А]] Пользователя
+
| Клавиатура
| ?
+
| [[КР580ВВ55А]]  
| ?
+
| 8000..9FFF
 +
| 8000..9FFF
 +
| C000..C7FF
 +
| ED00..EDFF
 
|-
 
|-
| [[КР580ВГ75]] Дисплей
+
| Интерфейс
| ?
+
| [[КР580ВВ55А]]  
| ?
+
| A000..BFFF
 +
| A000..BFFF
 +
| C800..CFFF
 +
| EE00..EEFF
 
|-
 
|-
| [[КР580ВТ57]] ПДП
+
| Дисплей
| ?
+
| [[КР580ВГ75]]  
| ?
+
| C000..DFFF
 +
| C000..DFFF
 +
| D000..D7FF
 +
| EF00..EFFF
 
|-
 
|-
| [[КР580ВИ53]] Таймер
+
| ПДП
 +
| [[КР580ВТ57]]  
 +
| E000..EFFF
 +
| E000..EFFF
 +
| F800..FFFF
 +
| F000..F7FF
 
|-
 
|-
 +
| Таймер
 +
| [[КР580ВИ53]]
 +
| -
 +
| -
 +
| D800..DFFF
 +
| EC00..ECFF
 +
|-
 +
| ПЗУ
 +
|
 +
| F800..FFFF
 +
| F800..FFFF
 +
| F800..FFFF
 +
| F000..FFFF
 
|}
 
|}
 +
 +
Для ПЭВМ Микроша характерно также наличие свободных диапазонов в адресном пространстве, доступных подключаемым модулям:
 +
 +
* 8000-BFFF (/32K)
 +
* E000-E7FF (/CS1)
 +
* E800-EFFF (/CS2)
 +
* F000-F7FF (/CS3)
 +
 +
{| class="wikitable"
 +
!
 +
!Звук
 +
!Текст
 +
!Знакогенератор
 +
!ОЗУ экрана
 +
!Псевдографика
 +
!Цвет
 +
|-
 +
|Радио-86РК
 +
|INTE (EI/DI)
 +
|25x64
 +
|1
 +
|36D0-3FFF или 76D0-7FFF
 +
|128x50
 +
|Ч/Б
 +
|-
 +
|Микроша
 +
|Таймер [[КР580ВИ53]], 1 канал (2)
 +
|25x64
 +
|2
 +
|
 +
|?
 +
|Ч/Б
 +
|-
 +
|Апогей БК-01Ц
 +
|Таймер [[КР580ВИ53]], 3 канала (0,1,2)
 +
|25x64
 +
|2
 +
|E1D0..EAFF
 +
|?
 +
|RGB
 +
|-
 +
|}
 +
 +
== Программная совместимость ==
 +
 +
Записанная в ПЗУ программа МОНИТОР, обслуживавшая ввод с клавиатуры, вывод на экран и работу с накопителем на бытовом магнитофоне, содержала унифицированные подпрограммы, точки входа в которые располагались по общеизвестным адресам. Идеологически, это напоминало BIOS, уже существовавший на тот момент, например, в составе ОС CP/M.
 +
 +
{|class="wikitable"
 +
!Адрес
 +
!Функция
 +
!Микро-80
 +
!Радио-86РК
 +
!Микроша
 +
!ЮТ-88
 +
!Апогей-БК01Ц
 +
|-
 +
|F800
 +
|Холодный старт
 +
| +
 +
| +
 +
| +
 +
| +
 +
| +
 +
|-
 +
|F803
 +
|Ввод символа с клавиатуры с ожиданием
 +
| +
 +
| +
 +
| +
 +
| +
 +
| +
 +
|-
 +
|F806
 +
| Ввод байта с магнитофона
 +
| +
 +
| +
 +
| +
 +
| +
 +
| +
 +
|-
 +
|F809
 +
| Вывод символа на экран
 +
| +
 +
| +
 +
| +
 +
| +
 +
| +
 +
|-
 +
|F80C
 +
| Вывод байта на магнитофон
 +
| +
 +
| +
 +
| +
 +
| +
 +
| +
 +
|-
 +
|F80F
 +
| Вывод символа на принтер
 +
| F809
 +
| F809
 +
| F809
 +
| F809
 +
| F812
 +
|-
 +
|F812
 +
| Опрос состояния клавиатуры
 +
| +
 +
| +
 +
| +
 +
| +
 +
| +
 +
|-
 +
|F815
 +
| Вывод байта на экран в шест. виде
 +
| +
 +
| +
 +
| +
 +
| +
 +
| +
 +
|-
 +
|F818
 +
| Вывод сообщения на экран
 +
| +
 +
| +
 +
| +
 +
| +
 +
| +
 +
|-
 +
|F81B
 +
| Опрос кода нажатой клавиши
 +
| -
 +
| +
 +
| -
 +
| +
 +
| +
 +
|-
 +
|F81E
 +
| Запрос положения курсора на экране
 +
| -
 +
| +
 +
| -
 +
| +
 +
| +
 +
|-
 +
|F821
 +
| Запрос байта из экранного буфера
 +
| -
 +
| +
 +
| -
 +
| +
 +
| +
 +
|-
 +
|F824
 +
| Ввод блока с магнитофона
 +
| -
 +
| +
 +
| -
 +
| +
 +
| +
 +
|-
 +
|F827
 +
| Вывод блока на магнитофон
 +
| -
 +
| +
 +
| -
 +
| +
 +
| +
 +
|-
 +
|F82A
 +
| Подсчет контрольной суммы блока
 +
| -
 +
| +
 +
| -
 +
| +
 +
| +
 +
|-
 +
|F82D
 +
| Запуск отображения на экране
 +
| -
 +
| +
 +
| -
 +
| +
 +
| +
 +
|-
 +
|F830
 +
| Определение адреса верхней границы памяти
 +
| -
 +
| +
 +
| -
 +
| +
 +
| +
 +
|-
 +
|F833
 +
| Установка адреса верхней границы свободной памяти
 +
| -
 +
| +
 +
| -
 +
| +
 +
| +
 +
|-
 +
|F003
 +
| Запись байта в формате MSX на магнитофон
 +
| -
 +
| -
 +
| -
 +
| -
 +
| +
 +
|-
 +
|F006
 +
| Чтение байта в формате MSX с магнитофона
 +
| -
 +
| -
 +
| -
 +
| -
 +
| +
 +
|-
 +
|F009
 +
| Запись блока в формате MSX на магнитофон
 +
| -
 +
| -
 +
| -
 +
| -
 +
| +
 +
|-
 +
|F00C
 +
| Чтение блока в формате MSX с магнитофона
 +
| -
 +
| -
 +
| -
 +
| -
 +
| +
 +
|-
 +
|F00F
 +
| Запись длинного маркера MSX
 +
| -
 +
| -
 +
| -
 +
| -
 +
| +
 +
|-
 +
|F012
 +
| Запись короткого маркера MSX
 +
| -
 +
| -
 +
| -
 +
| -
 +
| +
 +
|-
 +
|F015
 +
| Чтение длинного маркера MSX
 +
| -
 +
| -
 +
| -
 +
| -
 +
| +
 +
|-
 +
|}
 +
 +
МОНИТОРы компьютеров [[Micro80|Микро-80]] и [[Mikrosha|Микроша]], являвшиеся более ранними разработками, изначально содержали меньше процедур (см. выше). Позже были авторами Радио-86РК были выпущены обновленные версии МОНИТОРов, которые имели области векторов переходов полностью совместимые с Радио-86РК:
 +
* Покладов А., Соколов А., Долгий А. Монитор для "Микро-80, совместимый с "Радио-86РК // Радио. 1989. № 11. С. 37—39
 +
* Зеленко Г., Горшков Д. Микроша ~= Радио-86РК // Радио. 1989. № 12. С. 43—45
 +
 +
Стоит заметить, что новые версии МОНИТОРа улучшали, но не решали полностью проблем совместимости, поскольку масса игровых и прикладных программ обращалась к экранной области памяти и регистрам БИС напрямую.

Текущая версия на 11:40, 19 мая 2020

Советские персональные компьютеры на процссоре КР580ВМ80А можно условно разделить на две категории:

  • Архитектура Радио-86РК, с контроллером дисплея на i8275 (КР580ВГ75), который в "связке" с контроллером DMA i8257 (ПДП КР580ВТ57) прерывал работу ЦП для вывода на экран;
  • Другие архитектуры.

Архитектура Радио-86РК

Управляющие регистры СБИС отображаются в адресное пространство компьютера, сокращая доступный размер ОЗУ/ПЗУ. Считалось, что памяти и так достаточно, а отказ от использования адресного пространства портов ввода-вывода упрощает схемотехническое решение компьютера (дешифрация адреса, выделение признака обращения к портам из слова состояния ЦП).

Одним из источников несовместимости ПО были отличные друг от друга карты распередления памяти.

Функция Микросхема Радио-86РК 16K Радио-86РК 32K Микроша Апогей БК-01Ц
ОЗУ 0000..3FFF 0000..7FFF 0000..7FFF 0000..EAFF
Клавиатура КР580ВВ55А 8000..9FFF 8000..9FFF C000..C7FF ED00..EDFF
Интерфейс КР580ВВ55А A000..BFFF A000..BFFF C800..CFFF EE00..EEFF
Дисплей КР580ВГ75 C000..DFFF C000..DFFF D000..D7FF EF00..EFFF
ПДП КР580ВТ57 E000..EFFF E000..EFFF F800..FFFF F000..F7FF
Таймер КР580ВИ53 - - D800..DFFF EC00..ECFF
ПЗУ F800..FFFF F800..FFFF F800..FFFF F000..FFFF

Для ПЭВМ Микроша характерно также наличие свободных диапазонов в адресном пространстве, доступных подключаемым модулям:

  • 8000-BFFF (/32K)
  • E000-E7FF (/CS1)
  • E800-EFFF (/CS2)
  • F000-F7FF (/CS3)
Звук Текст Знакогенератор ОЗУ экрана Псевдографика Цвет
Радио-86РК INTE (EI/DI) 25x64 1 36D0-3FFF или 76D0-7FFF 128x50 Ч/Б
Микроша Таймер КР580ВИ53, 1 канал (2) 25x64 2 ? Ч/Б
Апогей БК-01Ц Таймер КР580ВИ53, 3 канала (0,1,2) 25x64 2 E1D0..EAFF ? RGB

Программная совместимость

Записанная в ПЗУ программа МОНИТОР, обслуживавшая ввод с клавиатуры, вывод на экран и работу с накопителем на бытовом магнитофоне, содержала унифицированные подпрограммы, точки входа в которые располагались по общеизвестным адресам. Идеологически, это напоминало BIOS, уже существовавший на тот момент, например, в составе ОС CP/M.

Адрес Функция Микро-80 Радио-86РК Микроша ЮТ-88 Апогей-БК01Ц
F800 Холодный старт + + + + +
F803 Ввод символа с клавиатуры с ожиданием + + + + +
F806 Ввод байта с магнитофона + + + + +
F809 Вывод символа на экран + + + + +
F80C Вывод байта на магнитофон + + + + +
F80F Вывод символа на принтер F809 F809 F809 F809 F812
F812 Опрос состояния клавиатуры + + + + +
F815 Вывод байта на экран в шест. виде + + + + +
F818 Вывод сообщения на экран + + + + +
F81B Опрос кода нажатой клавиши - + - + +
F81E Запрос положения курсора на экране - + - + +
F821 Запрос байта из экранного буфера - + - + +
F824 Ввод блока с магнитофона - + - + +
F827 Вывод блока на магнитофон - + - + +
F82A Подсчет контрольной суммы блока - + - + +
F82D Запуск отображения на экране - + - + +
F830 Определение адреса верхней границы памяти - + - + +
F833 Установка адреса верхней границы свободной памяти - + - + +
F003 Запись байта в формате MSX на магнитофон - - - - +
F006 Чтение байта в формате MSX с магнитофона - - - - +
F009 Запись блока в формате MSX на магнитофон - - - - +
F00C Чтение блока в формате MSX с магнитофона - - - - +
F00F Запись длинного маркера MSX - - - - +
F012 Запись короткого маркера MSX - - - - +
F015 Чтение длинного маркера MSX - - - - +

МОНИТОРы компьютеров Микро-80 и Микроша, являвшиеся более ранними разработками, изначально содержали меньше процедур (см. выше). Позже были авторами Радио-86РК были выпущены обновленные версии МОНИТОРов, которые имели области векторов переходов полностью совместимые с Радио-86РК:

  • Покладов А., Соколов А., Долгий А. Монитор для "Микро-80, совместимый с "Радио-86РК // Радио. 1989. № 11. С. 37—39
  • Зеленко Г., Горшков Д. Микроша ~= Радио-86РК // Радио. 1989. № 12. С. 43—45

Стоит заметить, что новые версии МОНИТОРа улучшали, но не решали полностью проблем совместимости, поскольку масса игровых и прикладных программ обращалась к экранной области памяти и регистрам БИС напрямую.