Эмулятор БК-0010-01, БК-0011
и БК-0011М
ПРОГРАММНОЕ
ОБЕСПЕЧЕНИЕ
ДВК   УК-НЦ   БК0010/11М
archive.pdp-11.org.ru

Когда-то давно, Юрий Калмыков писал эмулятор БК-0010(01) под Windows. Но позже видимо забросил это дело и выложил исходники всем желающим.

Здесь находятся доработанный и улучшенный эмулятор Юрия Калмыкова на основе его исходников. Относительно оригинала добавлена эмуляция БК-0011, БК-0011М, AY-8910, FDD контроллеры: стандартный, A16M, СМК-512, Самарский контроллер HDD + эмуляция HDD.

Текущая версия:            Будущая версия (когда-нибудь).

Сборка Версия Описание

BK

Документация

v3.10.2003.7958

Исполняемый файл эмулятора. Отдельным файлом, на всякий случай, для интересующихся - Описание формата MSF.

BKDE

Документация

v2.1.2001.613

Инструмент для просмотра содержимого образов дискет БК. Может извлекать файлы из многих популярных форматов и записывать файлы в образы форматов MKDOS, ANDOS, CSIDOS и RT-11. Так же может удалять файлы и директории из образов. А при добавлении в образ файла с уже существующим именем, его можно перезаписать. Умеет работать с реальными дискетами в реальном дисководе при наличии драйвера fdrawcmd.sys.

(Входит в состав эмулятора)

HDDImageMaker

Краткое описание

v1.2.2003.178

Инструмент для создания виртуальных HDD для контроллеров СМК-512 и Самара. Также может конвертировать уже существующие образы винчестеров АльтПро и Самара в виртуальный HDD эмулятора.

(Входит в состав эмулятора)

BKTurbo8.rar -

Кросcассемблер Turbo8, пока бета версия, но вполне рабочая. В архиве кроме исполняемых файлов есть документация (пока черновик) и примеры использования (парочка - возможно интересные).

(Входит в состав эмулятора)

BKDL.rar -

Утилита для вывода списка каталога всех образов дисков, найденных в заданной директории, и при необходимости так же и во вложенных поддиректориях. Исходники включены в архив исходников эмулятора.
Краткое описание: запуск без параметров начинает поиск образов в текущей директории (в той, которой находится программа)
Ключи:

  • -h - вызов справки по ключам и параметрам командной строки;
  • -r - рекурсивно обрабатывать так же и вложенные подкаталоги (по умолчанию выключено);
  • -c - создавать вместо списка таблицу (по умолчанию выключено);
  • -t<имя файла> - задать своё имя текстового файла;
  • -l<имя файла> - задать своё имя файла списка или таблицы.

НЕ входит в состав эмулятора.

Ссылки на скачивание актуальных версий:

v3.10.2003.7958

BK_v3.10_src.rar
BK_v3.10_x86.rar
BK_v3.10_x64.rar
BK_v3.10_x86_WinXP.rar

05.03.2020

Изменения:

  • Эмулятор:
    1. Добавлена опция "Сглаживание" которая включает и выключает сглаживание экрана средствами драйверов видеокарты. Работает в OpenGL, Direct2D, Direct3D и не работает в VFW, т.к. там в принципе нет такой возможности. Найти её можно в меню "Вид" и на панели инстументов.
    2. Починено поведение кнопки СТОП на виртуальной клавиатуре.
  • Починена конвертация образов в утилите HDDImageMaker, так же эта логическая ошибка могла затронуть и утилиту BKHDDTool, так что и она, возможно, стала работать как раньше.

Не забываем про необходимость VC redistributable 2017 разрядности, соответствующей используемой разрядности программ. Не Windows. При запуске 32х разрядной проги на 64х разрядной винде, нужен 32х разрядный VC_redist.exe

Известные ошибки и проблемы:

  1. Играть в игры для БК-0010 затруднительно из-за не синхронизированной обработки клавиатуры и эмуляции выполнения инструкций процессора. Клавиатура обрабатывается в реальном времени, а инструкции - пакетом, за как можно короткое время, между ожиданиями обработки звуковой подсистемой Windows звуковых буферов.
  2. Режим построчной эмуляции экрана работает не полностью корректно, в обычной работе это не заметно, а вот на некоторых демках, использующих эффекты мультиколора и синхронизированного с ходом луча переключения экранов даже очень заметно.
  3. Как оказалось тайминги и их коррекция под разные частоты совершенно неправильные. Нужно писать новый эмулятор, с принципиально иным алгоритмом эмуляции.

 

Архивные версии:

v3.10.2001.7927

BK_v3.10_src.rar
BK_v3.10_x86.rar
BK_v3.10_x64.rar
BK_v3.10_x86_WinXP.rar

31.01.2020

  • Исправление ошибки в захвате видео, вызывающей крах эмулятора.
  • Исправление обнаруженных разных мелких ошибок.

16.01.2020

Изменения:

  1. Эмулятор:
    • Добавлена возможность захвата видео с экрана. Документация к эмулятору пока не обновлена, поэтому подробности тут:

      Добавлена новая панель инструментов с двумя кнопочками - начать захват и остановить захват. Панель по умолчанию скрыта, показать её можно из меню "Вид"->"Панели инструментов и закрепляемые окна".

      Файл ffmpeg.exe в комплект не входит, его нужно скачивать самостоятельно и поместить в директорию к исполняемому файлу эмулятора. При отсутствии этого файла на месте, кнопки панели инструментов захвата будут неактивны. Наличие файла проверяется один раз при запуске эмулятора, так что если поместить ffmpeg.exe на место при запущенном эмуляторе, неактивные кнопки сами собой не активируются, надо перезапустить эмулятор.

      Захваченное видео сохраняется в директории Screenshots. Так же туда отдельным файлом сохраняется и звук. Они рассинхронизированы, и мне не удалось их синхронизировать.

      Параметры запуска ffmpeg.exe находятся в файле bk.ini в секции [Main] в ключе FFMPEG Cmd Line. Можете сами их менять как хотите, нельзя только менять или удалять параметр "-s %dx%d" - это подставляемое разрешение буфера захватываемого кадра.

      Если самостоятельно закрыть окно консоли ffmpeg.exe или задать неправильные параметры, из-за которых ffmpeg.exe сам завершится, то это приведёт к полному зависанию эмулятора, прибить его можно будет только из диспетчера задач. И это не лечится.

      И если у вас не SSD, приготовьтесь к подтормаживаниям во время захвата. Пока захваченные данные сбрасываются на диск, эмулятор замирает, т.к. захват звука не сделан в отдельном потоке, пока что я вообще сомневаюсь в нужности всего этого нововведения.

  2. BKDE:
    • Исправлена ошибка в добавлении файлов в образы RT-11, оказывается, файл без атрибутов не считался файлом. Теперь всё как надо.
  3. BKTurbo8:
    • Реализована команда из MACRO-11 ^C - инверсия аргумента.

 

Архив изменений