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

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

BKDE

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

v2.1.2112.701

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

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

HDDImageMaker

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

v1.2.2201.197

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

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

BKTurbo8.rar -

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

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

BKDL.rar -

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

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

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

BKHDDTool

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

-

Консольная утилита для разборки/сборки образов HDD БК в форматах .hdi или raw image. Понимает формат разбивки АльтПро и Самара, а так же может конвертировать образ между этими форматами. При пересборке формата АльтПро теряются все резидентные модули из бут блока.

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

BKTapeReader
BKTapeReader_x64
Документация
Исходники
-

Программа предназначена для анализа и конвертации в формат .bin оцифрованных кассет в формате записи БК-0010. Программа может анализировать как отдельные файлы, так и всю оцифровку кассеты целиком.

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

v3.12.2204.9393

BK_v3.12_src.rar
BK_v3.12_x86.rar
BK_v3.12_x64.rar
BK_v3.12_x86_WinXP.rar

15.04.2022

Уточнения в эмуляторе:

  • Исправлена глупая ошибка, приводящая к падению эмулятора при загрузке состояния. Надеюсь, что теперь-то всё. Теперь уж будет работать как задумывалось.

09.04.2022

Уточнения в эмуляторе:

  • Ещё одно уточнение фиксированных окон памяти БК и СМК в дампере. Теперь позиции выпадающих списков сохраняются и в файле сохранения состояния эмулятора. И при восстановлении состояния восстанавливаются как было.
  • Так же небольшое уточнение создаваемого по умолчанию файла bk.ini

06.04.2022

Изменения в эмуляторе:

  • Доделан просмотр фиксированных окон памяти БК и СМК в дампере. Теперь позиции выпадающих списков сохраняются. И при восстановлении состояния всё работает.
  • Немного изменений в пользовательском интерфейсе.

Тут внезапно выяснилось, что в VS 2022 под Windows XP программу собрать можно, но работать она там не будет. Поэтому версии под WinXP будем собирать в VS 2019, так оно работает.

04.04.2022

Работа над ошибками. Изменения в эмуляторе:

  • Найдена и исправлена ошибка в эмуляции HDD, из-за которой не работала демка "Good Apple" и другие программы, в которых использовалась так же комбинация данных и команд, которая неправильно обрабатывалась эмулятором.
  • Исправлена ошибка, из-за которой было невозможно конвертировать bin -> wav в Менеджере лент БК
  • Исправлена ошибка в эмуляции AY-3-8910, появившаяся из-за неправильной оптимизации кода.
  • В окно дампера памяти добавлена возможность просмотра фиксированных окон памяти БК и СМК.

Изменения в BKTurbo8:

  • Теперь для файлов включаемых по директиве .include не требуется наличие .end в конце.
    И теперь стало можно собрать Andos 3.10 из исходников без плясок с бубном, тем более, что оказывается, я забыл положить в архив пару нужных для сборки файлов. Сейчас всё в комплекте.

 

Не забываем про необходимость VC redistributable 2015/2017/2019/2022 разрядности, соответствующей используемой разрядности программ. Не Windows. При запуске 32х разрядной проги на 64х разрядной винде, нужен 32х разрядный VC_redist.exe. Данный пакет для x86 не запускается в Windows XP, поэтому пользователям Windows XP нужен вот такой VC Redist 2015/2017/2019 и больше никакой.

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

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

 

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

v3.12.2203.9282

BK_v3.12_src.rar
BK_v3.12_x86.rar
BK_v3.12_x64.rar
BK_v3.12_x86_WinXP.rar

17.03.2022

Изменения в эмуляторе:

  • Исправлена ошибка в эмуляции HDD, внесённая в релизе от 09.03.2022.

09.03.2022

Изменения в эмуляторе:

  • Исправлен баг с неопределённым поведением, когда вместо корректного образа HDD подсовывают фигню разную. Теперь такие образы не принимаются.
  • Добавлена возможность менять пропорции экрана. Зачем такое надо, не знаю, но просили очень. Заодно теперь настройки экрана можно менять из контекстного меню, вызываемого кликом правой кнопки мыши на экране. Сделан небольшой список более-менее приличных пропорций, если нужно что-то совсем нестандартное - то нужно задать вручную в файле bk.ini.
  • Добавлена опция для двух разных способов переключения раскладки РУС/ЛАТ. Для тех, у кого клавиатура с двумя клавишами "Windows", и для тех, у кого с одной.

 

v3.12.2201.9225

BK_v3.12_src.rar
BK_v3.12_x86.rar
BK_v3.12_x64.rar
BK_v3.12_x86_WinXP.rar

09.01.2022

  1. Изменения в эмуляторе:
    • Исправлен баг, приводящий к разным глюкам и потенциальной порче образа HDD, если в дампе памяти регистры HDD находятся в области видимости.
    • Немного улучшена масштабируемость интерфейса на UHD мониторах.
  2. Изменения в BKDE:
    • исправлена некорректная дата импортируемых файлов в ANDOS и заодно в НС-ДОС.
  3. Мелкий рефакторинг в HDDImgMaker.

 

v3.12.2112.9059

BK_v3.12_src.rar
BK_v3.12_x86.rar
BK_v3.12_x64.rar
BK_v3.12_x86_WinXP.rar

03.12.2021

Незначительные изменения в эмуляторе.

  • Исправлен баг, внесённый в сборке v3.11.2101.8545 из-за которого перестали работать конфигурации "БК0010-01 + стандартный КНГМД" и "БК0010-01 + контроллер Samara".
  • Исправлен косяк с отображением имени загруженного файла в конфигурациях БК11(М) при загрузке бин файла через Drag-n-drop.

01.10.2021

Изменения в эмуляторе.

  • Добавлена эмуляция магнитофона для БК-0011 и БК-0011М при работе в БОС. Т.е. в ПЗУ-Бейсике файлы можно читать/писать как .bin файлы.
  • Сделано четыре независимых окна дампа памяти, поэтому при первом запуске будут глюки с окнами дампов, победить их не вышло. Надо все окошки закрыть и открыть заново, и возможно перетасовать как необходимо.
  • В окна дампа памяти добавлены кнопки сохранения и загрузки дампов в формате .bin. Особенности работы см. в документации.
  • В карте памяти теперь можно сохранять / загружать страницы не только как картинки, но и в формате .bin. Естественно теперь туда можно загрузить любой файл в этом формате. См. документацию.
  • Переработана работа с аргументами командной строки, добавлена возможность загружать .bin файлы в БОС БК-0011(М) с помощью ключа /B. Подробности см. в документации.
  • Добавлена возможность загружать дампы в формате .bin (а так же и произвольные) непосредственно в память эмулируемой БК, с помощью ключа командной строки /D. Этим ключом также можно загрузить дамп в память сразу после создания конфигурации, перед инициализацией. Подробности и особенности см. в документации.
  • Улучшен механизм запрета запуска нескольких копий программы и передачи параметров через командную строку параметров от запускаемой копии к экземпляру программы, находящейся в памяти.
  • Удалены все акселераторы с цифровых клавиш Numpad клавиатуры. За ненадобностью.

Изменения в BKDE и HDDImageMaker:

  • Рефакторинг, ничего не изменилось.

 

v3.11.2104.8570

BK_v3.11_src.rar
BK_v3.11_x86.rar
BK_v3.11_x64.rar
BK_v3.11_x86_WinXP.rar

17.04.2021

Изменения в эмуляторе.

  • Теперь акселераторы не удаляются из реестра без крайней необходимости, так что кому нужно, могут переназначать свои горячие клавиши разным действиям. И они будут сохраняться, до тех пор, пока я снова не полезу добавлять кнопки в тулбарах.
  • Оказывается, некоторые консольные утилиты, собираемые специально для работы под WinXP, там не работали. Наверное уже давно. Теперь снова работают.

Изменения в BKDE:

  • Возился с автоперекодировкой русских букв из КОИ-7 в RT-11, но так ничего и не добился.

 

v3.11.2101.8545

BK_v3.11_src.rar
BK_v3.11_x86.rar
BK_v3.11_x64.rar
BK_v3.11_x86_WinXP.rar

23.01.2021

Изменения в эмуляторе:

  1. Добавлена эмуляция приставки Менестрель (кривая, и плохо работающая).
    НЕ реализовано переключение 6-го канала на генерацию прерываний по вектору 100.
  2. Изменены алгоритмы фильтрации и ресемплирования на взятые из libdspl-2.0.
    Должно стать немного лучше.
  3. В опции добавлена возможность включать/выключать коррекцию смещения DC для эмулируемых звуковых устройств. Должно помочь тем, кто постоянно слышит посторонние щелчки и пердёж звука. Это из-за того, что спикер и ковокс на выходе иногда оставляют постоянный уровень, отличный от нуля, а некоторые звуковые карты этого не любят. Особенно, когда получаются микроразрывы между звуковыми буферами.
  4. Исправлена ошибка загрузки состояния эмулятора в конфигурациях с HDD.
  5. Исправлена ошибка, возникающая при загрузке состояния эмулятора с частотой дискретизации звука, отличной от текущей.
  6. Изменён алгоритм панорамирования для AY, старые значения в ini файле стали неверны, поэтому поначалу могут прочитаться неверные значения, у тех, кто будет использовать свой ini файл с этой версией.
  7. В выпадающее меню дискет добавлен пункт "Открыть в BKDE". Из-за чего пришлось усложнить механизм общения между собой эмулятора и утилит. Старые кодовые фразы стали неверны, и эмулятор больше не увидит утилит старых версий. Если BKDE нет в директории "Tools", то пункт "Открыть в BKDE" в меню не появится. На время работы BKDE эмулятор приостанавливается полностью, выглядит как полное зависание программы. Если при этом BKDE аварийно завершить, или прибить в диспетчере задач, эмулятор так в таком состоянии и останется. Его можно будет только так же прибить в диспетчере задач. Так что пользоваться с осторожностью. И естественно, после внесения изменений в образ, эмулятор ничего не будет об этом знать, так что обновление данных для БКшных ОС - задача пользователя.

Изменения в BKDE и HDDImageMaker:

  • Пересборка в соответствии с новыми кодовыми словами пароль-отзыв.

 

v3.11.2011.8392

BK_v3.11_src.rar
BK_v3.11_x86.rar
BK_v3.11_x64.rar
BK_v3.11_x86_WinXP.rar

09.11.2020

Изменения в эмуляторе:

  1. Изменено окно настроек. Теперь там можно менять почти все опции, параметры и настройки из ini файла. Кроме тех, которые меняются в своих отдельных окнах.
  2. Добавлена опция редактирования палитр. Для тех, кто хочет поэкспериментировать с нестандартными цветами. Для каждой конфигурации можно задать свои настройки палитр.
  3. Добавлена опция редактирования клавиш управления эмуляции джойстика. Но сделано не очень красиво, там нужно доделать, чтобы имена клавиш были те, что на кнопках нарисованы, а не имена виртуальных, но в принципе работает. И добавить дружественности интерфейсу, а то не очень понятно, что надо кликнуть мышкой в поле кнопки, чтобы переназначить её.
  4. Добавлена опция настройки панорамирования каналов муз. сопроцессора AY-3-8910. Работает в реальном времени.
  5. Добавлена эмуляция мыши "Марсианка" методом захвата курсора мыши ПК. Но работает ужасно. Поэтому опция по умолчанию выключена. Желающие могут включить её в окошке настроек, ужаснуться плохой работе и выключить обратно. И пользоваться эмуляцией клавишами на нумпаде.

Изменения в BKDE:

  • Исправлена работа с образами в формате RT-11.

 

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