Когда-то давно, Юрий Калмыков
писал эмулятор БК-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 файле,
или в окне настроек.
Файлы этого релиза удалены и заменены следующим релизом.
Изменения в эмуляторе:
Полностью переделан дампер памяти. Из-за этого слегка изменён интерфейс окна отладчика. Дампер теперь на лету отображает изменения в памяти. поэтому если сделать довольно большое окно дампера, а так же на слабых компьютерах может падать FPS. Дампер может отображать данные в двух видах: пословно и побайтно, но никто не мешает всем желающим самостоятельно расширить функционал, и добавить ещё режимов. Навигация производится с помощью клавиатуры, мышью, а также можно переходить по конкретному адресу, задав его в поле адреса вверху дампера.
Изменён способ монтирования/отмонтирования образов дискет. Теперь это делается с помощью кнопок на панели инструментов. Заодно теперь можно монтировать образы, находящиеся в любом месте, даже на расшаренных сетевых ресурсах. Монтирование/отмонтирование образа HDD по-прежнему делается только вручную, только через редактирование ini-файла настроек, и изменение ситуации не планируется.
Изменения в BKDE:
Принципиально изменён способ распознавания дисков RT-11.
Изменения в HDDImageMaker:
Нет. Просто пересборка.
Общие изменения:
Снова изменён способ формирования версии программ, соответственно и скрипт, который генерировал версию. Теперь это делается более корректно, не затрагивая основной файл ресурсов.
Местами, где заметил, исправил грамматические ошибки, их оказалось довольно много, и ладно бы в комментариях, даже в элементах пользовательского интерфейса были.
v3.x.x
Дата: 12.03.2014 00:00:00
Файлы этого релиза удалены и заменены следующим релизом.
Изменения в эмуляторе:
Применены исправления r13 и частично r12, взятые из http://bknew.googlecode.com/, однако сами исходники там безнадёжно старой версии.
Экспериментировал с DirectX, пытаясь задействовать его, ничего полезного не добился, но в ходе действия немного упростился код текущего рендера, и тех, которые в архиве ScrRenders.rar. На работу эмулятора не влияет.
Изменения в BKDE:
Исправлена ошибка, приводящая к краху программы при открытии образов с ошибками и некорректными данными в ФС.
Общие изменения: изменён способ формирования версии программ, соответственно и сам скрипт, который генерировал версию.
v3.x.x
Дата: 09.12.2013 00:00:00
Файлы этого релиза удалены и заменены следующим релизом.
Благодаря Romick обнаружены и исправлены ошибки:
Исправлена ошибка в эмуляции менеджера памяти контроллеров АльтПро.
В BKDE исправлена древняя ошибка, когда неправильно указывался размер файла в блоках при добавлении файлов в образы в формате MicroDOS (MKDOS, AODOS, NORD).
Произведён рефакторинг кода, особенно много в BKDE, и теперь используется один файл проекта *.vcxproj для всех версий Visual Studio. И файлы решений *.vs2010.sln - для VS2010, *.vs2012.sln - для VS2012 и VS2013
v3.x.x
Дата: 29.04.2013 00:00:00
Файлы этого релиза удалены и заменены следующим релизом.
Небольшое обновление дистрибутивов. Дальнейшее развитие откладывается до конца осени, и будет ли продолжено, пока под вопросом, текущие методы эмуляции таймингов бесперспективны. И вообще, надо как-то по-другому эмулировать работу БК.
В эмуляторе тайминги выставлены для БК11 с частотой 4Мгц, т.к. я пользуюсь только эмуляцией БК11М, и оно мне важнее.
Уточнены прерывания в HALT режиме.
BKDE: небольшой рефакторинг и исправлена ошибка, из-за которой не запоминалась директория, откуда брались записываемые в образ файлы.
v3.x.x
Дата: 02.03.2013 00:00:00
Файлы этого релиза удалены и заменены следующим релизом.
В эмуляторе тайминги выставлены для БК10 с частотой 3Мгц, пусть хоть что-то работает правильно.
В BKDE разрешено просматривать и извлекать удалённые и плохие файлы. Для ANDOSа из-за бага, который не стал исправлять, пусть будет такая фича - извлечение и просмотр удалённых файлов работает как для MKDOSа, просто берётся и извлекается всё подряд заданной длины, начиная со стартового кластера.
v3.x.x
Дата: 20.02.2013 00:00:00
Файлы этого релиза удалены и заменены следующим релизом.
Исправлена ошибка в BKDE про которую все давно знали, но стеснялись сказать. В Windows XP и системах, где принудительно выключен интерфейс Aero оказывается не работало добавление файлов в образы. Неприятный крах программы устранён.
v3.x.x
Дата: 13.02.2013 00:00:00
Файлы этого релиза удалены и заменены следующим релизом.
Исправлена опция "Адаптивный Ч/Б режим", которая работала наоборот.
Мелкие улучшения в пользовательском интерфейсе.
Уточнена эмуляция клавиатуры.
Исправлена ошибка, внесённая небольшой оптимизацией 11.02.2013, проявлявшаяся только в конфигурациях с СМК-512.
В BKDE попытка улучшить навигацию по каталогу образа.
v3.x.x
Дата: 11.02.2013 00:00:00
Файлы этого релиза удалены и заменены следующим релизом.
Исправлена комплексная ошибка в модуле обработки конфигурации эмулятора.
Небольшие оптимизации.
В BKDE добавлена работа с образами в формате DX-DOS.
В BKDE в процессе расширения функциональности уточнена работа с каталогами MKDOS и MicroDOS, но процесс застрял из-за невозможности правильно работать с каталогами AODOS и NORD старых версий, да и новых тоже, если диск несистемный.
В BKDE исправлен небольшой косяк, когда в строке состояния выводилась неправильная информация о ОС образа.
v3.x.x
Дата: 01.02.2013 00:00:00
Файлы этого релиза удалены и заменены следующим релизом.
Продублирована кнопка СТОП. В эмуляторе теперь их две, одна на "Pause/Break", вторая на клавише "/" справа от клавиши "Num Lock". Первую перебивает Punto Switchter, зато вторая остаётся.
Уточнена эмуляция рестарта БК с помощью кнопки Reset. Для СМК512 перезапуск делается всегда по адресу, задаваемому контроллером. Для А16М введён "длинный Reset" - перезапуск делается по адресу, задаваемому контроллером. Обычный Reset для А16М приводит к перезапуску по стандартному адресу (0100000 или 0140000). "Длинный Reset" на всех конфигурациях кроме А16М работает как и обычный Reset.
Добавлена эмуляция модификации "СУ-Reset" вызывающей на БК11(М) перезапуск по адресу 0100000. Естественно работает только на БК11(М) и не работает с СМК512.
HDDImageMaker - косметические изменения в пользовательском интерфейсе.
BKDE - косметические изменения в пользовательском интерфейсе.
v3.x.x
Дата: 28.01.2013 00:00:00
Файлы этого релиза удалены и заменены следующим релизом.
В HDDImageMaker исправлена глупая ошибка, из-за которой не конвертировались существующие образы без хитрых и неочевидных телодвижений.
В текущей сборке эмулятора изменения только косметические и совершенно незначительные.