Радио 86РК — различия между версиями
Vinxru (обсуждение | вклад) (→Команды монитора) |
Vinxru (обсуждение | вклад) (→Стандантный набор программ ввода-вывода) |
||
| Строка 71: | Строка 71: | ||
<tr><td>F815</td><td>Вывод на экран 16-ричного числа</td><td>A - число</td><td> </td></tr> | <tr><td>F815</td><td>Вывод на экран 16-ричного числа</td><td>A - число</td><td> </td></tr> | ||
<tr><td>F818</td><td>Вывод на экран текстовой строки</td><td>HL - адрес строки (код 0 конец строки)</td><td> </td></tr> | <tr><td>F818</td><td>Вывод на экран текстовой строки</td><td>HL - адрес строки (код 0 конец строки)</td><td> </td></tr> | ||
| − | <tr><td>F81B</td><td>Опрос состояния клавиатуры 2</td><td> </td><td>A=FF - клавиша не нажата<br>A=FE - нажата РУС/ЛАТ<br>Иначе A - код клавиши</td></tr> | + | <tr><td>F81B</td><td>Опрос состояния клавиатуры 2</td><td> </td><td>A=FF - ни одна клавиша не нажата<br>A=FE - нажата клавиша РУС/ЛАТ<br>Иначе A - код клавиши</td></tr> |
<tr><td>F81E</td><td>Запрос положения курсора</td><td> </td><td>Н - номер строки<br>L - номер позиции</td></tr> | <tr><td>F81E</td><td>Запрос положения курсора</td><td> </td><td>Н - номер строки<br>L - номер позиции</td></tr> | ||
<tr><td>F821</td><td>Запрос символа под курсором</td><td> </td><td>А - символ</td></tr> | <tr><td>F821</td><td>Запрос символа под курсором</td><td> </td><td>А - символ</td></tr> | ||
Версия 11:28, 19 апреля 2012
Группа: Радио 86РК-совместимый
Процессор: КР580ВМ80А (клон 8080)
ОЗУ: 16/32 Кб
ПЗУ: 2 Кб (программа Монитор)
Разъемы: Универсальный параллельный порт КР580ВВ55А, магнитофон, НЧ видео
Видео: КР580ВГ75+КР580ВТ57 Черно белый текстовый режим от 64x25 до 64x64. Или псевдографический 128x62. Подключается в телевизору.
Звук: бипер
Содержание
О компьютере
Компьютер Радио 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 Кб ОЗУ | Описание |
| 0000 - 3500 | 0000 - 7600 | ОЗУ Пользователя |
| 3500 - 3600 | 7600 - 76D0 | ОЗУ. Переменные монитора |
| 35D0 - 4000 | 76D0 - 8000 | ОЗУ. Видеопамять (может быть программно перемещена) |
| 8000 - 9FFF | Контроллер клавиатуры (КР580ВВ55) | |
| A000 - BFFF | Универсальный параллельный порт (КР580ВВ55) | |
| С000 - DFFF | Видеоконтроллер (КР580ВГ75) | |
| E000 - FFFF | Контроллер ПДП (КР580ВТ57). Только запись | |
| F800 - FFFF | ПЗУ. Только чтение | |
(Порты ввода-вывода обращаются к этой же памяти)
Стандантный набор программ ввода-вывода
| Адрес | Описание | Входные данные | Выходные данные |
| F803 | Ввод символа с клавиатуры с ожиданием | A - код символа | |
| F806 | Чтение байта с магнитофона | А=FF - с поиском синхробайта A=08 - без поиска синхробайта | A - считанный байт |
| F809 | Вывод символа на экран | С - символ | |
| F80С | Запись байта на магнитофон | C - байт | |
| F80F | Не используется | ||
| F812 | Опрос состояния клавиатуры 1 | A=FF - ни одна клавиша не нажата A<>FF - нажата | |
| F815 | Вывод на экран 16-ричного числа | A - число | |
| F818 | Вывод на экран текстовой строки | HL - адрес строки (код 0 конец строки) | |
| F81B | Опрос состояния клавиатуры 2 | A=FF - ни одна клавиша не нажата A=FE - нажата клавиша РУС/ЛАТ Иначе A - код клавиши | |
| F81E | Запрос положения курсора | Н - номер строки L - номер позиции | |
| F821 | Запрос символа под курсором | А - символ | |
| F824 | Чтение блока с магнитофона | HL - смещение | HL - смещение HL - адрес начала DE - адрес конца ВС - контрольная сумма считанная с ленты |
| F827 | Вывод блока на магнитофон | HL - адрес начала DE - адрес конца ВС - контрольная сумма | |
| F82A | Подсчет контрольной суммы блока | HL - адрес начала DE - адрес конца | ВС - контрольная сумма |
| F82D | Инициализация видеоконтроллера | ||
| F830 | Запрос верхней границы доступной памяти | HL - адрес | |
| F833 | Установка верхней границы доступной памяти | HL - адрес |
Ссылки
http://www.danbigras.ru/RK86/Index.html - Статьи из журнала Радио
http://emu80.org/dl.html - Эмулятор и игры для Радио-86РК