← Выбор машины

Радио-86РК

эмулятор · «Радио» №4–6, 1986
ЦП КР580ВМ80А такт 1,777 МГц ОЗУ 32 КБ ПЗУ 2 КБ, монитор экран 78×30 знм., 6×10 точек ВГ75 · ВТ57 · ВВ55
★
Уже загружено 174 игры и 80 программLode Runner, Boulder Dash, Digger, «Клад», «Тетрис», «Ксоникс», игры на Бейсике — в библиотеке под экраном, с поиском и запуском в один щелчок.
Щёлкните по экрану — и клавиатура пойдёт прямо в машину
Работа Рус Магнитофон Звук ПЗУ — кадр — такт 0,6 МГц

Библиотека программ

Всё, что удалось найти для Радио-86РК: 254 программы, из них 174 игры (разные версии одной игры посчитаны отдельно) — каталог rk86.ru и коллекции Александра Дёмина, плюс игры на Бейсике, прочитанные с записей кассет. «Запустить» кладёт программу в память и набирает в мониторе команду G, как это делал бы человек; игры на Бейсике сами загружаются в Бейсик «Микрон» командой CLOAD и стартуют.

загрузка каталога…

Как пользоваться

Первые шаги

После сброса монитор печатает свой заголовок и приглашение ->. Щёлкните по экрану, чтобы клавиатура попала в машину, и наберите команду. Например, D0,FF — дамп первых 256 байт памяти, F0,FF,20 — заполнить их кодом пробела, X — просмотр и правка регистров.

Полная библиотека из 254 программ с поиском — ниже на странице. В списке «Быстрый выбор» над ней — десять самых известных вещей. Выберите любую: машина перезапускается, программа пишется в память и стартует сама, а в журнале под пультом появляется строка с управлением.

Четыре «Ксоникса» — та самая игра, где надо отрезать куски поля, не попавшись шарикам: пробел начинает партию, стрелки водят игрока, а в сборнике «Ксоникс и Змея» сначала выбор 1 или 2. Пять «Тетрисов» заметно разные: у ростовского сперва спрашивают имя, у коломенского поворот на Ф1 и Ф2, у третьего фигура ходит цифрами 7, 8 и 9, четвёртый просит уровень сложности от 0 до 5. Пятый — «Пентис», где фигуры собраны не из четырёх клеток, а из пяти, отчего стакан заполняется совсем по-другому. «Питон» просит скорость от 0 до 9 и ВК, дальше повороты стрелками. Последним пунктом идёт собственная программа на 41 байт: она чистит экран, даёт звонок через подпрограмму монитора F809 и выводит в экранное ОЗУ всю таблицу знакогенератора — 128 знаков КОИ-7 Н2 вместе с псевдографикой.

Лента

Файл .rk кладётся в «магнитофон». Дальше можно либо набрать в мониторе команду I — эмулятор подаёт байты в подпрограмму чтения ленты, как настоящий кассетник, — либо согласиться на предложенный запуск сразу с адреса из заголовка. Всё, что программа выводит командой O, копится и выгружается кнопкой «Выгрузить ленту».

Клавиатура

Клавиша РК-86На ПКНазначение
ВКEnterвозврат каретки
ПСEndперевод строки
ЗБBackspaceзабой
СТРHomeкурсор в начало
СБРInsertочистка экрана
АР2Escвторой регистр
ТАБTabтабуляция
УСCtrlуправление
ССShiftсмена регистра
РУС/ЛАТAltкириллица / латиница
Ф1…Ф5F1…F5функциональные
← ↑ → ↓стрелкикурсор

Буквы и цифры — там же, где на клавиатуре ПК. Знаки в верхнем регистре у РК-86 свои: СС+2 даёт кавычку, СС+6 — амперсанд.

Команды монитора

D<нач>,<кон>дамп памяти в шестнадцатеричном виде
L<нач>,<кон>дамп в символах
F<нач>,<кон>,<код>заполнить область кодом
M<адрес>правка ячеек с клавиатуры
T<нач>,<кон>,<куда>пересылка блока
C<нач>,<кон>,<куда>сравнение блоков
S<нач>,<кон>,<код>поиск байта
G<адрес>[,<стоп>]пуск программы, точка останова
Xпросмотр и правка регистров
I[<сдвиг>]чтение с ленты
O<нач>,<кон>запись на ленту
Uпереход в ПЗУ расширения F000
Отладчик

Регистры и дизассемблер

—

Память

—
Что именно эмулируется

Процессор

Тактовую частоту можно менять. Паспортные 1,777 МГц — это то, что снималось с кварца; живой машине доставалось меньше, потому что ВГ75 вместе с ВТ57 регулярно останавливали процессор, забирая шину под вывод изображения и регенерацию динамического ОЗУ. Здесь такты не отбираются, поэтому за настоящую скорость РК-86 стоит принимать примерно 1,5 МГц — это положение и выбрано по умолчанию. Ниже по списку игры идут ещё медленнее.

Полное ядро i8080 со всеми командами, включая недокументированные дубликаты (08, 10, CB, D9, DD, ED, FD), точными флагами S Z AC P CY и таблицей тактов. Ядро прогнано через эталонные тесты TEST.COM, 8080PRE.COM, CPUTEST.COM и 8080EX1.COM — последний сверяет контрольные суммы результатов и флагов по всем группам команд.

Экран

ВГ75 (i8275) с настоящими параметрами, которые записывает монитор: 78 знакомест в строке, 30 строк в кадре, 10 растровых строк на знакоместо, подчёркивание на 9-й, мигающий курсор-подчёркивание. Знакогенератор адресуется тремя младшими разрядами счётчика строк, поэтому две нижние растровые строки каждого знакоместа гасятся — как в железе. Поддержаны признаки конца строки и конца кадра, атрибуты поля и знака.

Память и периферия

ОЗУ 0000–7FFF, ВВ55 клавиатуры 8000–9FFF, разъём расширения A000–BFFF, ВГ75 C000–DFFF, ВТ57 E000–FFFF на запись, ПЗУ F000–FFFF на чтение (2 КБ, две копии). Воспроизведён и трюк со сбросом: сразу после включения ПЗУ видно и по адресу 0000, пока процессор не обратится к F000 — иначе машине неоткуда взять первую команду.

Клавиатура, звук, лента

Матрица 8×8 опрашивается через ВВ55: порт A задаёт строку, порт B возвращает столбцы, старшая половина порта C — СС, УС, РУС/ЛАТ и вход магнитофона. Звук снимается с вывода INTE процессора (команды EI/DI) и с младшего разряда порта C. Лента перехватывается на входе подпрограмм F806 и F80C: формат записи — E6, адрес начала и конца, данные, E6 и контрольная сумма.