Эмулятор БК-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.9.1709.5847

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

BKDE

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

v1.8.1704.786

Инструмент для просмотра содержимого образов дискет БК. Может извлекать файлы из многих популярных форматов и записывать файлы в образы форматов MKDOS и ANDOS.

HDDImageMaker

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

v1.2.1703.92

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

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

BK_v3.9_src.rar

Архив с исходниками.

BK_v3.9_x86_WinXP.rar

Архив с исполняемыми файлами, работающими на Windows XP.

BK_v3.9_x86.rar

Архив с исполняемыми файлами для 32-х разрядных версий Windows.

BK_v3.9_x64.rar

Архив с исполняемыми файлами для 64-х разрядных версий Windows.

BKDE.rar

На всякий случай, утилита BKDE, которая входит в состав эмулятора, отдельно. Всё-таки какая-никакая польза от неё есть, это версия x86.

BKTurbo8.rar

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

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

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

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

 

27.09.2017

Обновление эмулятора.

  1. Убран не нужный перехват клавиш Alt-Tab
  2. Улучшена работа с секциями в ini файле кнфигурации.
  3. Частота дискретизации звука теперь может задаваться как константа в ini файле, допустимы три значения: 44100, 48000 и 96000 Гц.

 

02.04.2017

Обновление эмулятора.

  1. Уточнено изображение виртуальной клавиатуры.
  2. После окончательного перехода на Windows10 оказалось что основной цикл эмулятора с таймерами работает коряво, и был заменён на старый цикл со счётчиками, который жрёт больше процессорного времени, но зато работает корректно.
  3. Серьёзная реорганизация проектов и немного рефакторинга.
  4. Частичный отказ от совместимости с Windows XP, в связи с чем сделан нормальный D3D рендер на Dx11. Для WinXP теперь будет отдельная специальная сборка.

Утилиты подверглись небольшому рефакторингу. Изменений нет.

Ссылки на скачивание архивной версии:

BK_v3.9_src.rar BK_v3.9_x86.rar BK_v3.9_x64.rar BK_v3.9_x86_WinXP.rar BKTurbo8.rar

 

20.01.2017

Обновление эмулятора.

  1. Виртуальная клавиатура теперь масштабируется. У кого большие мониторы - видят большую клавиатуру, у кого маленькие - мелкую. Изображение клавиатуры предоставлено Voland'ом.
  2. У виртуальной клавиатуры теперь можно отжать нажатые управляющие клавиши Шифт, СУ, АР2. И поправлена реакция этих клавиш на нажатие клавиши СТОП.
  3. По просьбе уважаемых пользователей, в карту памяти добавлена возможность сохранения/загрузки содержимого страниц. Подробности и особенности работы смотрите в документации.

Ссылки на скачивание архивной версии:

BK_v3.9_src.rar BK_v3.9_x86.rar BK_v3.9_x64.rar

 

15.12.2016

Андрей Терра сумел растормошить меня и сподвиг на добавление эмуляции самарского контроллера HDD. В связи с этим:

  1. Добавлены конфигурации БК с самарским контроллером.
  2. Из-за пункта 1 была уточнена эмуляция HDD.
  3. Т.к. теперь стало два HDD контроллера, стало очень неудобно иметь общую конфигурацию на всё. Поэтому внедрена возможность хранить отдельные настройки для каждой конфигурации. Изменена структура файла конфигурации. Подробности в документации.
    Опять все старые сохранения состояний стали несовместимы с новой версией.
  4. Ещё один фикс BKDE для Ксидос. Регистр импортируемых имён файлов становится строчным. К экспортируемым файлам к имени прицепляется хвост с информацией о страницах БК. Импортируемые файлы так же анализируются насчёт наличия этого хвоста в имени.
  5. Уточнён формат структуры самарского винчестера, и исправлены утилиты HDDImgMakеr и BKHDDTool.
  6. В HDDImgMakеr экспериментально добавлен новый формат образа винчестера для эмулятора, но в самом эмуляторе он пока не реализован. Нужно уточнение и эксперименты.

Ссылки на скачивание архивной версии:

BK_v3.9_src.rar BK_v3.9_x86.rar BK_v3.9_x64.rar

 

29.11.2016

Небольшой фикс BKDE. Не меняем регистр символов расширения добавляемых файлов.

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

Ссылки на скачивание архивной версии:

BK_v3.8_src.rar BK_v3.8_x86.rar BK_v3.8_x64.rar

 

29.04.2016

Багфикс сборки от 11.04.2016.

Ссылки на скачивание архивной версии:

BK_v3.8_src.rar BK_v3.8_x86.rar BK_v3.8_x64.rar

 

11.04.2016

Для сборки теперь используется VS2015.

Используется статическая компоновка, так что дополнительных dllок может и не понадобиться. Но и размер файлов увеличился.

Конфигурация i686 упразднена, потому как оказалось, что студия не хочет при оптимизации самостоятельно применять расширенные инструкции там, где это возможно, как когда-то было раньше.

Эмуляция всё усложняется, системные требования всё повышаются.

Изменения:

  1. Изменения в эмуляторе БК.
    • Улучшена эмуляция спикера. Теперь он звучит как настоящий. Почти.
    • Немного улучшена эмуляция экрана. Некоторые демки теперь работают как на настоящей БК, те что не работают - требуют точных таймингов.
    • Экспериментально добавлена примитивная симуляция затухания люминофора экрана, в надежде, что это как-то решит проблему мерцания, но нет, мерцание почему-то осталось, но за движущимися объектами появился шлейф.
    • Курсор в окне дизассемблера теперь принудительно жёлтый, чтобы всем было видно, что там в строке написано было, а не только использующим стандартные цветовые схемы.
    • Починен когда-то давно поломавшийся ресет компьютера.
    • Исправлена ошибка чтения кассет (wav) при эмуляции работы с магнитофоном. Ошибка возникла в далёком 2014 году при неудачной оптимизации, и хорошо, что эмулятор никому не нужен, а то так и мучились бы.
    • Как обычно: рефакторинг и возня с разными внутренними компонентами, никак внешне не проявляемая.
  2. Изменения в BKDE.
    • Починена возможность работы с повреждёнными образами. Пока сам на такое не наткнулся, даже не знал, что оно не работает.
  3. Изменения в HDDImageMaker.
    • Исправлена какая-то мелкая ошибка, не помню.

 

27.01.2016

Изменения:

  1. Изменения в эмуляторе БК.
    • Уточнена эмуляция переключения экранов на БК11(М).
    • Уточнена пошаговая отладка. Теперь при отладочном останове приостанавливается всё исполнение фрейма, и синхронизация с остальными процессами внутри фрейма сохраняется.
    • Благодаря предыдущему пункту починена эмуляция вращения дискеты в дисководе.
    • Ещё немного улучшено взаимодействие с виртуальной клавиатурой.
    • Экспериментально добавлены элементы для почти произвольного изменения текущей тактовой частоты процессора. Их можно найти внизу панели дампа регистров.
    • Немного улучшена стабильность работы программы.
  2. Изменения в BKDE.
    • Починена поломавшаяся когда-то возможность просмотра файлов в виде спрайта.
  3. Изменения в HDDImageMaker.
    • Убрано немного говнокода.

Ссылки на скачивание архивной версии:

BK_v3.8_src.rar BK_v3.8_i386.rar BK_v3.8_i686.rar BK_v3.8_x64.rar

 

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