Pull to refresh

BkEmu — эмулятор БК-0010 для платформы Android

Добрый день всем хаброчитателям! Наверняка среди вас найдется немало тех, для кого «БК-0010» является не бессмысленным набором букв и цифр, а названием компьютера, открывшего дверь в мир персональных компьютеров и ставшего культовым для миллионов простых граждан СССР. Первый по-настоящему персональный компьютер «Электроника БК-0010», производство которого началось с середины 80-х годов прошлого века, для многих программистов (в том числе и для меня) стал первым инструментом, с освоения которого они начали свой путь в профессию.

Собственно о самом компьютере на Хабре уже писали, так что перейду к главному — теперь эмулятор семейства PDP-11-совместимых советских 16-разрядных домашних компьютеров «Электроника БК 0010» доступен и для платформы Android. Эмулятор назван мной незатейливо — BkEmu, скачать его можно непосредственно с Google Play, также доступны исходные тексты на GitHub.

Подробности — под катом.

Сначала немного скриншотов эмулятора:

image image

image

На данный момент поддерживается эмуляция БК-0010.01 в конфигурациях с подключенным блоком МСТД (Фокал + тесты) и без него (Бейсик Вильнюс). Эмулятор может загружать образы в формате КУВТ-86 (расширение .bin), при этом в большинстве случаев корректно отрабатывает автозапуск (при его наличии).

Из аппаратной части эмулируются:
  • Процессор К1801ВМ1 (основной набор команд, за исключением специфичных для HALT-режима)
  • Видеоконтроллер К1801ВП1-037 (цветной и ч/б режимы)
  • Контроллер клавиатуры К1801ВП1-014
  • Встроенный таймер К1801ВЕ1
  • Аудиовыход (PCM, бит 6 в регистре 0177716)
  • Стандартный двухкнопочный джойстик (управление посредством тачскрина: одинарный тап — левая кнопка джойстика, двойной тап — правая кнопка джойстика, скроллинг — отклонение рукоятки в указанном направлении).

В планах на будущее (в порядке убывания приоритета):
  • Поддержка эмуляции контроллера дисковода
  • Эмуляция БК-0011(М)
  • Увеличение скорости работы

С удовольствием выслушаю все замечания и отвечу на вопросы по эмулятору.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.