Когда-то давно, Юрий Калмыков
писал эмулятор БК-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 файле,
или в окне настроек.
Изменено окно настроек. Теперь там можно менять почти все опции, параметры и настройки из ini файла. Кроме тех, которые меняются в своих отдельных окнах.
Добавлена опция редактирования палитр. Для тех, кто хочет поэкспериментировать с нестандартными цветами. Для каждой конфигурации можно задать свои настройки палитр.
Добавлена опция редактирования клавиш управления эмуляции джойстика. Но сделано не очень красиво, там нужно доделать, чтобы имена клавиш были те, что на кнопках нарисованы, а не имена виртуальных, но в принципе работает. И добавить дружественности интерфейсу, а то не очень понятно, что надо кликнуть мышкой в поле кнопки, чтобы переназначить её.
Добавлена опция настройки панорамирования каналов муз. сопроцессора AY-3-8910. Работает в реальном времени.
Добавлена эмуляция мыши "Марсианка" методом захвата курсора мыши ПК. Но работает ужасно. Поэтому опция по умолчанию выключена. Желающие могут включить её в окошке настроек, ужаснуться плохой работе и выключить обратно. И пользоваться эмуляцией клавишами на нумпаде.
Исправлен косяк в окошке "О программе", появившийся в сборке от 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, теперь при импорте такого файла имя берётся из заголовка.