Когда-то давно, Юрий Калмыков
писал эмулятор БК-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 файле,
или в окне настроек.
Файлы этого релиза удалены и заменены следующим релизом.
Уточнения в эмуляторе:
Ещё одно уточнение фиксированных окон памяти БК и СМК в дампере. Теперь позиции выпадающих списков сохраняются и в файле сохранения состояния эмулятора. И при восстановлении состояния восстанавливаются как было.
Так же небольшое уточнение создаваемого по умолчанию файла bk.ini
v3.12.2204.9375
Дата: 06.04.2022 00:00:00
Файлы этого релиза удалены и заменены следующим релизом.
Изменения в эмуляторе:
Доделан просмотр фиксированных окон памяти БК и СМК в дампере. Теперь позиции выпадающих списков сохраняются. И при восстановлении состояния всё работает.
Немного изменений в пользовательском интерфейсе.
Тут внезапно выяснилось, что в VS 2022 под Windows XP программу собрать можно, но работать она там не будет. Поэтому версии под WinXP будем собирать в VS 2019, так оно работает.
v3.12.2204.9349
Дата: 04.04.2022 00:00:00
Файлы этого релиза удалены и заменены следующим релизом.
Работа над ошибками. Изменения в эмуляторе:
Найдена и исправлена ошибка в эмуляции HDD, из-за которой не работала демка "Good Apple" и другие программы, в которых использовалась так же комбинация данных и команд, которая неправильно обрабатывалась эмулятором.
Исправлена ошибка, из-за которой было невозможно конвертировать bin -> wav в Менеджере лент БК
Исправлена ошибка в эмуляции AY-3-8910, появившаяся из-за неправильной оптимизации кода.
В окно дампера памяти добавлена возможность просмотра фиксированных окон памяти БК и СМК.
Изменения в BKTurbo8:
Теперь для файлов включаемых по директиве .include не требуется наличие .end в конце. И теперь стало можно собрать Andos 3.10 из исходников без плясок с бубном, тем более, что оказывается, я забыл положить в архив пару нужных для сборки файлов. Сейчас всё в комплекте.
Исправлена ошибка в эмуляции HDD, внесённая в релизе от 09.03.2022.
v3.12.2203.xxxx
Дата: 09.03.2022 00:00:00
Файлы этого релиза удалены и заменены следующим релизом.
Изменения в эмуляторе:
Исправлен баг с неопределённым поведением, когда вместо корректного образа HDD подсовывают фигню разную. Теперь такие образы не принимаются.
Добавлена возможность менять пропорции экрана. Зачем такое надо, не знаю, но просили очень. Заодно теперь настройки экрана можно менять из контекстного меню, вызываемого кликом правой кнопки мыши на экране. Сделан небольшой список более-менее приличных пропорций, если нужно что-то совсем нестандартное - то нужно задать вручную в файле bk.ini.
Добавлена опция для двух разных способов переключения раскладки РУС/ЛАТ. Для тех, у кого клавиатура с двумя клавишами "Windows", и для тех, у кого с одной.
Исправлен баг, внесённый в сборке v3.11.2101.8545 из-за которого перестали работать конфигурации "БК0010-01 + стандартный КНГМД" и "БК0010-01 + контроллер Samara".
Исправлен косяк с отображением имени загруженного файла в конфигурациях БК11(М) при загрузке бин файла через Drag-n-drop.
v3.12.2110.8962
Дата: 01.10.2021 00:00:00
Файлы этого релиза удалены и заменены следующим релизом.
Изменения в эмуляторе.
Добавлена эмуляция магнитофона для БК-0011 и БК-0011М при работе в БОС. Т.е. в ПЗУ-Бейсике файлы можно читать/писать как .bin файлы.
Сделано четыре независимых окна дампа памяти, поэтому при первом запуске будут глюки с окнами дампов, победить их не вышло. Надо все окошки закрыть и открыть заново, и возможно перетасовать как необходимо.
В окна дампа памяти добавлены кнопки сохранения и загрузки дампов в формате .bin. Особенности работы см. в документации.
В карте памяти теперь можно сохранять / загружать страницы не только как картинки, но и в формате .bin. Естественно теперь туда можно загрузить любой файл в этом формате. См. документацию.
Переработана работа с аргументами командной строки, добавлена возможность загружать .bin файлы в БОС БК-0011(М) с помощью ключа /B. Подробности см. в документации.
Добавлена возможность загружать дампы в формате .bin (а так же и произвольные) непосредственно в память эмулируемой БК, с помощью ключа командной строки /D. Этим ключом также можно загрузить дамп в память сразу после создания конфигурации, перед инициализацией. Подробности и особенности см. в документации.
Улучшен механизм запрета запуска нескольких копий программы и передачи параметров через командную строку параметров от запускаемой копии к экземпляру программы, находящейся в памяти.
Удалены все акселераторы с цифровых клавиш Numpad клавиатуры. За ненадобностью.
Теперь акселераторы не удаляются из реестра без крайней необходимости, так что кому нужно, могут переназначать свои горячие клавиши разным действиям. И они будут сохраняться, до тех пор, пока я снова не полезу добавлять кнопки в тулбарах.
Оказывается, некоторые консольные утилиты, собираемые специально для работы под WinXP, там не работали. Наверное уже давно. Теперь снова работают.
Изменения в BKDE:
Возился с автоперекодировкой русских букв из КОИ-7 в RT-11, но так ничего и не добился.
Добавлена эмуляция приставки Менестрель (кривая, и плохо работающая). НЕ реализовано переключение 6-го канала на генерацию прерываний по вектору 100.
Изменены алгоритмы фильтрации и ресемплирования на взятые из libdspl-2.0. Должно стать немного лучше.
В опции добавлена возможность включать/выключать коррекцию смещения DC для эмулируемых звуковых устройств. Должно помочь тем, кто постоянно слышит посторонние щелчки и пердёж звука. Это из-за того, что спикер и ковокс на выходе иногда оставляют постоянный уровень, отличный от нуля, а некоторые звуковые карты этого не любят. Особенно, когда получаются микроразрывы между звуковыми буферами.
Исправлена ошибка загрузки состояния эмулятора в конфигурациях с HDD.
Исправлена ошибка, возникающая при загрузке состояния эмулятора с частотой дискретизации звука, отличной от текущей.
Изменён алгоритм панорамирования для AY, старые значения в ini файле стали неверны, поэтому поначалу могут прочитаться неверные значения, у тех, кто будет использовать свой ini файл с этой версией.
В выпадающее меню дискет добавлен пункт "Открыть в BKDE". Из-за чего пришлось усложнить механизм общения между собой эмулятора и утилит. Старые кодовые фразы стали неверны, и эмулятор больше не увидит утилит старых версий. Если BKDE нет в директории "Tools", то пункт "Открыть в BKDE" в меню не появится. На время работы BKDE эмулятор приостанавливается полностью, выглядит как полное зависание программы. Если при этом BKDE аварийно завершить, или прибить в диспетчере задач, эмулятор так в таком состоянии и останется. Его можно будет только так же прибить в диспетчере задач. Так что пользоваться с осторожностью. И естественно, после внесения изменений в образ, эмулятор ничего не будет об этом знать, так что обновление данных для БКшных ОС - задача пользователя.
Изменения в BKDE и HDDImageMaker:
Пересборка в соответствии с новыми кодовыми словами пароль-отзыв.