Всё, что удалось найти для Радио-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 | очистка экрана |
| АР2 | Esc | второй регистр |
| ТАБ | Tab | табуляция |
| УС | Ctrl | управление |
| СС | Shift | смена регистра |
| РУС/ЛАТ | Alt | кириллица / латиница |
| Ф1…Ф5 | F1…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 и контрольная сумма.