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

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

BKDE

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

v2.2.2205.759

Инструмент для просмотра содержимого образов дискет БК. Может извлекать файлы из многих популярных форматов и записывать файлы в образы форматов 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.13.2207.9855

BK_v3.13_src.rar
BK_v3.13_x86.rar
BK_v3.13_x64.rar
BK_v3.13_x86_WinXP.rar

06.07.2022

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

  • Исправлена ошибка обращения к объекту, который NULL, приводящая к самым разным глюкам и случайным падениям. Предыдущие версии v3.13.xxxx.xxxx удалены.

29.06.2022

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

  • Возвращён назад порядок вкладок в карте памяти для БК0011(М);
  • Исправлены последствия расширения применения тем визуального оформления в окошках настроек палитры, джойстика и параметров AY.

27.05.2022

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

  • Добавлена конфигурация БК-0010Ш. Названа так потому, что там используется ПЗУ фокала 084, блоков ИРПС/КЛС так и нет, потому что не получается. В остальном, ничем не отличается от конфигурации БК-0010-01 + МСТД.
  • Сделаны небольшие изменения во внешнем виде. Теперь темы визуального оформления применяются шире.

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

  • Добавлена поддержка формата файловой системы КНГМД Опток.
  • Разные мелочи, которые могут увидеть только пользователи WinXP, Оказывается там не всё работало как надо.

Утилита BKDL так же обновлена, и тоже опознаёт Опток.

 

Не забываем про необходимость 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.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 из исходников без плясок с бубном, тем более, что оказывается, я забыл положить в архив пару нужных для сборки файлов. Сейчас всё в комплекте.

 

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:

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

 

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