Когда-то давно, Юрий Калмыков
писал эмулятор БК-0010(01) под Windows. Но позже видимо забросил это дело
и выложил исходники всем желающим.
Здесь находятся доработанный и улучшенный эмулятор Юрия Калмыкова на
основе его исходников. Относительно оригинала добавлена эмуляция БК-0011,
БК-0011М, AY-8910, FDD контроллеры: стандартный, A16M, СМК-512, Самарский
контроллер HDD + эмуляция HDD.
Не забываем про необходимость
VC redistributable 2015/2017/2019/2022 разрядности, соответствующей
используемой разрядности программ. Не Windows. При запуске 32х разрядной
проги на 64х разрядной винде, нужен 32х разрядный VC_redist.exe.
Данный пакет для x86 не запускается в Windows XP, поэтому пользователям
Windows XP нужен вот такой
VC Redist 2015/2017/2019
и больше никакой.
Известные ошибки и проблемы:
Играть в игры для БК-0010 затруднительно из-за не синхронизированной
обработки клавиатуры и эмуляции выполнения инструкций процессора. Клавиатура
обрабатывается в реальном времени, а инструкции - пакетом, за как можно
короткое время, между ожиданиями обработки звуковой подсистемой Windows
звуковых буферов.
Режим построчной эмуляции экрана работает не полностью корректно,
в обычной работе это не заметно, а вот на некоторых демках, использующих
эффекты мультиколора и синхронизированного с ходом луча переключения
экранов даже очень заметно.
Как оказалось тайминги и их коррекция под разные частоты совершенно
неправильные. Нужно писать новый эмулятор, с принципиально иным алгоритмом
эмуляции.
Со звуком всё таки что-то неладно. Но не у всех и не всегда. Есть
люди, у которых звук эмулятора работает стабильно плохо.
Эмуляция мыши путём захвата ПКшной мыши работает ужасно. Поэтому
не вынесена в опции и включается/выключается или вручную в ini файле,
или в окне настроек.
Исправлен косяк в окошке "О программе", появившийся в сборке от 11.04.2020.
v3.10.2004.7988
Дата: 11.04.2020 00:00:00
Файлы этого релиза удалены и заменены следующим релизом.
Изменения в эмуляторе:
Добавлена возможность ставить на паузу воспроизводимый .wav файл. А так же остановить его и начать заново. Эта возможность доступна, пока файл не будет воспроизведён до конца. Была идея сделать управление воспроизведением .wav через бит управления мотором магнитофона, но оказалось, что очень немногие нестандартные загрузчики используют эту возможность. Кнопки управления - в панели "Управление чтением/записью лент"
Добавлена опция, управляющая размером и формой создаваемых скриншотов. Опция изменяется вручную, только через редактирование bk.ini. Находится в секции "[Main]", называется "Origin screenshot size", её значение по умолчанию - "No", т.е. выключена. Если её включить, то скриншоты сохраняются в своём оригинальном размере: 512х256 без масштабирования до размеров viewport'а.
Уточнена эмуляция клавиатуры БК. Теперь буквы при нажатии клавиши "Шифт" лат.стр. приводятся к лат.загл., а лат.загл не меняются, рус.загл. приводятся к рус.стр., а рус.стр. не меняются. Если выключить опцию "Эмулировать клавиатуру БК", то поведение модификатора "Шифт" становится обычным, как на ПК, т.е. меняет регистр со строчного на заглавный и наоборот.
Добавлена опция "Сглаживание" которая включает и выключает сглаживание экрана средствами драйверов видеокарты. Работает в OpenGL, Direct2D, Direct3D и не работает в VFW, т.к. там в принципе нет такой возможности. Найти её можно в меню "Вид" и на панели инструментов.
Починено поведение кнопки СТОП на виртуальной клавиатуре.
Починена конвертация образов в утилите HDDImageMaker, так же эта логическая ошибка могла затронуть и утилиту BKHDDTool, так что и она, возможно, стала работать как раньше.
Исправление ошибки в захвате видео, вызывающей крах эмулятора.
Исправление обнаруженных разных мелких ошибок.
Предыдущий билд удалён.
v3.10.2001.7918
Дата: 16.01.2020 00:00:00
Файлы этого релиза удалены и заменены следующим релизом.
Изменения:
Эмулятор:
Добавлена возможность захвата видео с экрана. Документация к эмулятору пока не обновлена, поэтому подробности тут:
Добавлена новая панель инструментов с двумя кнопочками - начать захват и остановить захват. Панель по умолчанию скрыта, показать её можно из меню "Вид"->"Панели инструментов и закрепляемые окна".
Файл ffmpeg.exe в комплект не входит, его нужно скачивать самостоятельно и поместить в директорию к исполняемому файлу эмулятора. При отсутствии этого файла на месте, кнопки панели инструментов захвата будут неактивны. Наличие файла проверяется один раз при запуске эмулятора, так что если поместить ffmpeg.exe на место при запущенном эмуляторе, неактивные кнопки сами собой не активируются, надо перезапустить эмулятор.
Захваченное видео сохраняется в директории Screenshots. Так же туда отдельным файлом сохраняется и звук. Они рассинхронизированы, и мне не удалось их синхронизировать.
Параметры запуска ffmpeg.exe находятся в файле bk.ini в секции [Main] в ключе FFMPEG Cmd Line. Можете сами их менять как хотите, нельзя только менять или удалять параметр "-s %dx%d" - это подставляемое разрешение буфера захватываемого кадра.
Если самостоятельно закрыть окно консоли ffmpeg.exe или задать неправильные параметры, из-за которых ffmpeg.exe сам завершится, то это приведёт к полному зависанию эмулятора, прибить его можно будет только из диспетчера задач. И это не лечится.
И если у вас не SSD, приготовьтесь к подтормаживаниям во время захвата. Пока захваченные данные сбрасываются на диск, эмулятор замирает, т.к. захват звука не сделан в отдельном потоке, пока что я вообще сомневаюсь в нужности всего этого нововведения.
BKDE:
Исправлена ошибка в добавлении файлов в образы RT-11, оказывается, файл без атрибутов не считался файлом. Теперь всё как надо.
BKTurbo8:
Реализована команда из MACRO-11 ^C - инверсия аргумента.
При добавлении файлов в образы, если у них формат не .bin теперь адрес загрузки по умолчанию 01000, а не 0.
Добавлена функция изменения адреса загрузки файла в образе, там, где это допустимо. Реализовано контекстное меню, вызываемое по правой кнопке мыши на нужном файле. А чтобы меню не состояло из одного единственного пункта, туда добавлены некоторые функции, дублирующие кнопки.
v3.10.1912.xxxx
Дата: 20.12.2019 00:00:00
Файлы этого релиза удалены и заменены следующим релизом.
Изменения в BKDE:
Убран синоним Insert у F5, т.к. конфликтовал с выделением файлов в списке файлов.
Настройки чекбоксов теперь сохраняются в реестре.
Поправлен лог извлекаемых файлов, там были проблемы с русскими буквами.
Доделана логика использования оригинальных имён файлов, сохраняемых в длинном формате .bin, теперь при импорте такого файла имя берётся из заголовка.
v3.10.1912.xxxx
Дата: 18.12.2019 00:00:00
Файлы этого релиза удалены и заменены следующим релизом.
Изменения в BKDE:
Уточнено определение ссылок в каталогах образов в тех ОС, в которых они есть. Были ложные срабатывания. (Этот пункт так же относится и к утилите BKDL)
Клавишам F5 и F8 добавлены синонимы Insert и Delete соответственно.
При манипуляциях с каталогом образа, курсор и позиционирование в списке больше не прыгает на начало, если сохраняется возможность остаться на месте.
При извлечении файлов из образов введена защита от совпадения имён файлов и директорий с зарезервированными именами файлов DOS.
Некоторые из символов, запрещённых в именах файлов, такие как < > ¦ " : ? заменяются на похожие по начертанию символы из юникодного набора символов.