Данный репозиторий содержит исходные тексты приложения BkEmu - эмулятора семейства PDP-11-совместимых советских 16-разрядных домашних компьютеров Электроника БК-0010/11М для платформы Android.
На данный момент поддерживается эмуляция:
- БК-0010-01:
- без внешних блоков (Бейсик Вильнюс)
- с блоком МСТД (Фокал + тесты)
- c блоком КНГМД с ДОЗУ 16КБ
- БК-0011М с блоком МСТД, блоком КНГМД или контроллером СМК-512
Из аппаратной части эмулируются:
- Процессор К1801ВМ1 (основной набор команд, за исключением специфичных для HALT-режима)
- Видеоконтроллер К1801ВП1-037 (цветной и ч/б режимы, экранные палитры)
- Контроллер клавиатуры К1801ВП1-014
- Встроенный таймер К1801ВЕ1
- Аудиовыход (PCM, бит 6 в регистре 0177716)
- Системный таймер 11М (прерывание 50 Гц по вектору 100, бит 14 в регистре 0177662)
- Страничная память 11М (биты 8-10, 12-14 в регистре 0177716)
- Стандартный шестикнопочный джойстик на порту УП
- Контроллер накопителя на гибких магнитных дисках К1801ВП1-128 (КНГМД)
- Контроллер расширенной памяти и КНГМД/НЖМД СМК-512
- Звуковой 8-битный ЦАП Covox (монофонический)
- Музыкальный сопроцессор AY-3-8910
Эмулятор поддерживает загрузку и сохранение образов программ в формате КУВТ-86 (.BIN) методом перехвата
прерывания EMT 36
на БК-0010 или системного вызова .BMB10
на БК-0011М, а также монтирование
образов гибких магнитных дисков в форматах .IMG/.BKD (800 КБ) и жестких дисков в форматах .IMG/.HDI.
Проект использует систему сборки Gradle.
Исходные тексты проекта можно получить командой:
git clone https://github.com/3cky/bkemu-android.git
Также исходные тексты доступны в виде архива.
После этого импортируйте проект в Android Studio (опция "Import Project"), указав директорию с загруженными исходными текстами.
Также можно собрать проект в консоли командой ./gradlew build
.
Вы можете предлагать свои исправления и дополнения эмулятора, используя стандартные механизмы GitHub fork и pull requests.
Вопросы и пожелания, касающиеся работы эмулятора, направляйте по адресу: [email protected].