Радио 86РК — различия между версиями
Vinxru (обсуждение | вклад) |
DATAsoft (обсуждение | вклад) |
||
| Строка 101: | Строка 101: | ||
http://emu80.org/dl.html - Эмулятор и игры для Радио-86РК | http://emu80.org/dl.html - Эмулятор и игры для Радио-86РК | ||
| + | |||
| + | http://zx-pk.ru/showthread.php?t=12137 - ROM-Disk для Радио-86РК | ||
Версия 00:01, 10 сентября 2012
Группа: Радио 86РК-совместимый
Процессор: КР580ВМ80А (клон 8080)
ОЗУ: 16/32 Кб
ПЗУ: 2 Кб (программа Монитор)
Разъемы: Универсальный параллельный порт КР580ВВ55А, магнитофон, НЧ видео
Видео: КР580ВГ75+КР580ВТ57 Черно белый текстовый режим от 64x25 до 64x64. Или псевдографический 128x62. Подключается в телевизору.
Звук: бипер
Разработан: 1986 год
Содержание
О компьютере
Компьютер Радио 86РК появился в виде схем в журнале Радио, номер № 4-6/1986 г. Авторы разработки Г.В. Зеленко, Д.В. Горшков, Ю.В. Озеров и С.Н. Попов. Радиолюбители должны были собрать этот компьютер самостоятельно. Но уже через год многие заводы наладили выпуск этих компьютеров. Некоторые компьютеры отличались только корпусами (например: Альфа БК, ПК Импульс-02), а некоторые были значительно расширены (например: Апогей БК-01, Партнер 01.01) и стали несовместимы с оригинальным Радио 86РК.
Компьютер стал популярным из за небольшой схемы. Всего 29 микросхем для версии с 16 Кб оперативной памяти. Схема была простой благодаря использованию микросхемы КР580ВГ75, которая содержала в себе большую часть видеоконтроллера. Эта микросхема работала совместно с контроллером ПДП КР580ВТ57, ПЗУ знакогенератора и еще несколькими простыми микросхемами.
К сожалению, микросхема КР580ВГ75 могла отображать лишь текстовый режим экрана 64x25 / 64x64 использующий всего 128 символов. Знакогенератор содержит английские и русские буквы, но маленького знакогенератора хватило только на заглавные буквы. Строчных букв нет. Так же в знакогенератор поместили 16 псевдографических символа делящих знакоместо пополам по ширине и высоте. Благодаря им можно реализовать псевдографический режим 128x62.
Микросхема КР580ВГ75 позволяла реализовать цветное изображение, но ради простоты в компьютере Радио 86РК эта возможность не была реализована. Эта доработка требовала максимум 3 простых микросхемы, и любители дорабатывали компьютер РК86 руками.
Видеоадаптер во время чтения ОЗУ непредсказуемо притормаживал процессор, поэтому время выполнения программы рассчитать было невозможно. А это необходимо для корректной работы программы загрузки и сохранения на магнитофон. Поэтому во время загрузки с магнитофона, видеоконтроллер отключался и пользователь видел черный экран.
Видеоконтроллер побочно регенерировал ОЗУ компьютера, поэтому программа загрузки с магнитофона выключившая видеоконтроллер должна сама регенерировать ОЗУ.
В этом компьютере интересно сделан вывод звука. Для вывода звука используется ножка INTE процессора (разрешение прерываний).
Прерывания и порты ввода-вывода в этом компьютере не используются.
Команды монитора
| D[начало],[конец] | Выводит содержимое области памяти в шестнадцатеричном виде. |
| L[начало],[конец] | Выводит содержимое области памяти в текстовом виде. |
| F[начало],[конец],[байт] | Заполняет область памяти байтом. |
| M[начало] | Последовательно просматривает память позволяя изменять значения. |
| T[из_начало],[из_конец],[куда начало] | Копирует область памяти. |
| С[начало],[конец],[начало 2] | Сравнивает области памяти. |
| S[начало],[конец],[байт] | Ищет байт в области памяти. |
| G[адрес],[точка останова] | Запустить программу. Точку останова можон не указывать. Адрес то же можно не указывыть, тогда выполнение начинается с адреса 0. |
| X | Просмотр и изменение регистров процессора. |
| R[из начало],[из конец],[куда начало] | Загрузить данные из внешнего ПЗУ. Третий параметр можно не указывать, тогда загрузка произойдет в адрес 0. |
| O[начало],[конец],[скорость] | Сохраняет область памяти на магнитофон. Третий параметр можно не указывать. |
| I[начало],[скорость] | Загружает область памяти с магнитофона. Оба параметра можно не указывать. |
| U | ??? |
Карта памяти
| 16 Кб ОЗУ | 32 Кб ОЗУ | Описание |
| 0000h - 34FFh | 0000h - 75FFh | ОЗУ Пользователя |
| 3500h - 35CFh | 7600h - 76CFh | ОЗУ. Переменные монитора |
| 35D0h - 3FFFh | 76D0h - 7FFFh | ОЗУ. Видеопамять (может быть программно перемещена) |
| 8000h - 9FFFh | Контроллер клавиатуры (КР580ВВ55) | |
| A000h - BFFFh | Универсальный параллельный порт (КР580ВВ55) | |
| С000h - DFFFh | Видеоконтроллер (КР580ВГ75) | |
| E000h - FFFFh | Контроллер ПДП (КР580ВТ57). Только запись | |
| F800h - FFFFh | ПЗУ. Только чтение | |
(Порты ввода-вывода обращаются к этой же памяти)
Стандартный набор программ ввода-вывода
| Адрес | Описание | Входные данные | Выходные данные |
| F803h | Ввод символа с клавиатуры с ожиданием | A - код символа | |
| F806h | Чтение байта с магнитофона | А=FF - с поиском синхробайта A=08 - без поиска синхробайта | A - считанный байт |
| F809h | Вывод символа на экран | С - символ | |
| F80Сh | Запись байта на магнитофон | C - байт | |
| F80Fh | Не используется | ||
| F812h | Опрос состояния клавиатуры 1 | A=FF - ни одна клавиша не нажата A<>FF - нажата | |
| F815h | Вывод на экран 16-ричного числа | A - число | |
| F818h | Вывод на экран текстовой строки | HL - адрес строки (код 0 конец строки) | |
| F81Bh | Опрос состояния клавиатуры 2 | A=FF - ни одна клавиша не нажата A=FE - нажата клавиша РУС/ЛАТ Иначе A - код клавиши | |
| F81Eh | Запрос положения курсора | Н - номер строки L - номер позиции | |
| F821h | Запрос символа под курсором | А - символ | |
| F824h | Чтение блока с магнитофона | HL - смещение | HL - смещение HL - адрес начала DE - адрес конца ВС - контрольная сумма считанная с ленты |
| F827h | Вывод блока на магнитофон | HL - адрес начала DE - адрес конца ВС - контрольная сумма | |
| F82Ah | Подсчет контрольной суммы блока | HL - адрес начала DE - адрес конца | ВС - контрольная сумма |
| F82Dh | Инициализация видеоконтроллера | ||
| F830h | Запрос верхней границы доступной памяти | HL - адрес | |
| F833h | Установка верхней границы доступной памяти | HL - адрес |
Замена КР580ВГ75
В журнале Радио предлагалась схема замены дефицитной микросхемы ВГ75 на отдельную плату, которая содержала 20 более доступных и простых микросхем.
Эта плата была несовместима с микрсохемой КР580ВГ75. Отличалось положение и внутреннее устройство видеопамяти. Отличался способ отображения курсора. Плата не поддерживала изменение высоты шрифта, изменение ширины и высоты экрана, изменение положения видеопамяти в адресном пространстве, не поддерживались аттрибуты и т.д.
Из за этого требовалось альтернативное ПЗУ. И на таком компьютере некорректно работали стандартные РК86 программы обращающиеся к видеопамяти напрямую. А это почти все игры. Работали только программы обращающиеся к видеопамяти через функции ПЗУ.
Плата содержала собственное видео ОЗУ, статическую память объемом 2 Кб. Формирование изображения происходило из этой памяти. В отличии от КР580ВГ75, изображение формирвоалось даже при отключенном контроллере ПДП (он отключается во время загрузки и сохранения на магнитофон). Когда процессор записывал данные в видео ОЗУ платы, на экране появилясь помехи.
http://www.danbigras.ru/RK86/Naladka/NoVG75.html - Если нет ВГ75, журал Радио.
Ссылки
http://www.danbigras.ru/RK86/Index.html - Статьи из журнала Радио
http://emu80.org/dl.html - Эмулятор и игры для Радио-86РК
http://zx-pk.ru/showthread.php?t=12137 - ROM-Disk для Радио-86РК