Эмулятор БК-0010-01, БК-0011
и БК-0011М
ПРОГРАММНОЕ
ОБЕСПЕЧЕНИЕ
ДВК   УК-НЦ   БК0010/11М
archive.pdp-11.org.ru

Когда-то давно, Юрий Калмыков писал эмулятор БК-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 и больше никакой.

Известные ошибки и проблемы:

  1. Играть в игры для БК-0010 затруднительно из-за не синхронизированной обработки клавиатуры и эмуляции выполнения инструкций процессора. Клавиатура обрабатывается в реальном времени, а инструкции - пакетом, за как можно короткое время, между ожиданиями обработки звуковой подсистемой Windows звуковых буферов.
  2. Режим построчной эмуляции экрана работает не полностью корректно, в обычной работе это не заметно, а вот на некоторых демках, использующих эффекты мультиколора и синхронизированного с ходом луча переключения экранов даже очень заметно.
  3. Как оказалось тайминги и их коррекция под разные частоты совершенно неправильные. Нужно писать новый эмулятор, с принципиально иным алгоритмом эмуляции.
  4. Со звуком всё таки что-то неладно. Но не у всех и не всегда. Есть люди, у которых звук эмулятора работает стабильно плохо.
  5. Эмуляция мыши путём захвата ПКшной мыши работает ужасно. Поэтому не вынесена в опции и включается/выключается или вручную в ini файле, или в окне настроек.
  6. Эмуляция менестреля работает криво и плохо.

 

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

 

v3.13.2305.10355 Дата: 12.05.2023 14:35:21

BK_v3.13_src.7z (6.7M)
BK_v3.13_x64.7z (8.0M)
BK_v3.13_x86.7z (7.2M)
BK_v3.13_x86_WinXP.7z (7.4M)

Добавлены новые опции эмуляции. Они редактируются только вручную из ини файла bk.ini, чтобы кому не надо не злоупотребляли. Находятся в секции [Main].

  • Emulate C Bug - опция эмуляции бага флага признаков C. Описание где-то было, когда найду, опишу в документации. По умолчанию включена.
  • Emulate 177702 behavior - опция эмуляции верного поведения регистра 177702. Это когда в него что-нибудь запишешь, и он пропадает с шины. По умолчанию включена. Рекомендуется выключить, для того, чтобы программно определять эмулятор/реальное железо. Если выключена, то при записи в регистр, он с шины не пропадает, но из него читается всегда число 177777.
  • Emulate CPU 1801VM1G - опция включает особенности процессора К1801ВМ1Г: аппаратную команду MUL и прерывание от ВЕ-таймера. По умолчанию выключена.
  • Emulate EIS Instructions Set - опция включает аппаратное выполнение инструкций MUL, DIV, ASH, ASHC. По умолчанию выключена.
  • Emulate FIS Instructions Set - опция включает аппаратное выполнение инструкций FADD, FSUB, FMUL, FDIV. По умолчанию выключена.

Последние три опции - исключительно для экспериментов. Потому что, включение их может поломать кучу софта, который использует опкоды этих инструкций в своих целях. Например, Andos 3.1. не работает на процессоре К1801ВМ1Г т.к. использует опкоды инструкции MUL для своих системных вызовов.

 

v3.13.2304.10353 Дата: 10.05.2023 10:44:21

BK_v3.13_src.7z (6.7M)
BK_v3.13_x64.7z (8.0M)
BK_v3.13_x86.7z (7.4M)
BK_v3.13_x86_WinXP.7z (7.4M)

Изменения:

  1. Правка бага, который нашёл KUVO - глюки отладки при нечётном PC.
  2. Добавлена опция для задания разного вида формата имени файла скриншота.
  3. По просьбе Gryphona распространяем опцию "Останов CPU после запуска эмулятора" на загрузку состояния.
    Теперь, если включить эту опцию и сохранить с ней состояние, то оно при загрузке выведет эмулятор в отладочный останов, и его надо будет запускать руками.
  4. Сэмулировано поведение регистра 177702, теперь, если в него что-нибудь записать, он исчезает, пока не будет выполнена команда EMT или перезагрузка.
  5. Возня с пользовательским интерфейсом:
    • Добавлено немного иконок;
    • Добавлена на тулбар кнопка, чтобы делать прерывание по вектору 100 или 270;
    • Разделено слишком большое меню "Конфигурация" на два: "Конфигурация" и "Управление";
    • В окне "О программе" обычный текст заменён htmlкой для красоты.
  6. Обновлена документация по формату MSF до актуальной версии.

 

v3.13.2302.10260 Дата: 14.02.2023 16:29:29

BK_v3.13_src.7z (6.7M)
BK_v3.13_x64.7z (8.0M)
BK_v3.13_x86.7z (7.4M)
BK_v3.13_x86_WinXP.7z (7.4M)

Вспомнил, что было таки новое в эмуляторе версии v3.13.2301.10250. Manwe наткнулся на неприятный баг, когда при отладке на очередном шаге попадаешь на начало области перехвата (типа ввода-вывода дисковода или эмуляции чтения/записи кассеты) вдруг внезапно теряется контроль и неожиданно для себя появляешься уже на точке выхода из перехвата. А их может быть несколько - штатная и по какой-либо ошибке. И что происходит - непонятно. Я подправил логику работы, чтобы перехват был не внезапный, а при сделанном шаге отладки. Но это выявило ещё одну старую логическую ошибку, на которую наткнулся уже Shestipalov: если отключить перехват ввода-вывода дисковода, эмулятор тупо зависал в бесконечном цикле ожидания.

И вот, релиз с исправлением этой ошибки.

 

v3.13.2301.10250 Дата: 27.01.2023 13:06:30

BK_v3.13_src.7z (6.7M)
BK_v3.13_x64.7z (8.0M)
BK_v3.13_x86.7z (7.4M)
BK_v3.13_x86_WinXP.7z (7.4M)

Хотел было выложить обновлённый BKTurbo8, в котором обнаружилось столько ошибок, что он, можно считать, был неработоспособен, но оказалось, что из-за масштабного рефакторинга исходников, только одни исходники BKTurbo8 обновить в архивах невозможно. Поэтому пришлось делать незапланированный релиз.

Нового ничего. Только рефакторинг. И исправление множества ошибок BKTurbo8.


 

v3.13.2301.10239 Дата: 17.01.2023 14:01:40

BK_v3.13_src.7z (6.6M)
BK_v3.13_x64.7z (8.0M)
BK_v3.13_x86.7z (7.4M)
BK_v3.13_x86_WinXP.7z (7.4M)

Что нового:

BKemu

  1. Уменьшение размеров исполняемого файла за счёт использования в ресурсах png файлов.
  2. В карту памяти добавлена вкладка с отображением дополнительного ОЗУ КНГМД в конфигурации БК10+КНГМД
  3. В окно "О программе" добавлено всякое-разное.
  4. Исправлен мелкий косяк с потерей палитры при загрузке сохранения, у которого был рендер экрана, отличный от текущего.
  5. Рефакторинг. Замена везде, где можно, указателей и выделения памяти на умные указатели.

BKDE

  1. Рефакторинг. Замена везде, где можно, указателей и выделения памяти на умные указатели.

HDDImgMaker

  1. Исправление зависания пользовательского интерфейса при длительных операциях.
  2. Рефакторинг. Замена везде, где можно, указателей и выделения памяти на умные указатели.

BKTurbo8

  1. Новая версия. Реализованы полноценные арифметические выражения, которые можно использовать везде, где можно использовать имена меток и определений. Найдены и описаны в документации некоторые ограничения применения некоторых псевдокоманд. Подробности см. в документации.
  2. Рефакторинг. Замена везде, где можно, указателей и выделения памяти на умные указатели.

сборка 3.13.2301.10238 удалена из-за обнаружившихся там косяков.

 

v3.13.2211.10133 Дата: 02.11.2022 10:45:21

BK_v3.13_src.7z (6.6M)
BK_v3.13_x64.7z (7.6M)
BK_v3.13_x86.7z (7.1M)
BK_v3.13_x86_WinXP.7z (7.1M)

Новое в эмуляторе:

  1. В окно отладки добавлен ассемблер. Теперь, двойной клик на поле команды позволяет её изменить. Либо написать новую. Подробнее в документации.
  2. Дизассемблеру/ассемблеру добавлены опции работы с расширенным набором команд. При выключении соответствующей опции дизассемблер/ассемблер просто не будет знать о соответствующих наборах команд.
  3. DLLки рендеров переехали в директорию "Dll", для совместимости со сборками Scalolazа. Так что, при обновлении старого релиза новым поверху, можно будет удалить ненужные дллки из папки с исполняемым файлом

 

v3.13.2210.9969 Дата: 10.10.2022 11:02:54

BK_v3.13_src.7z (6.6M)
BK_v3.13_x64.7z (7.6M)
BK_v3.13_x86.7z (7.1M)
BK_v3.13_x86_WinXP.7z (7.0M)

Исправлены последствия неудачной оптимизации работы AY, внесённые в прошлом билде 3.13.2209.9954. Я убедился, что там больше нечего оптимизировать, любые попытки что-то улучшить, только всё портят.

 

v3.13.2209.9954 Дата: 29.09.2022 08:29:36

BK_v3.13_src.7z (6.6M)
BK_v3.13_x64.7z (7.6M)
BK_v3.13_x86.7z (7.1M)
BK_v3.13_x86_WinXP.7z (7.0M)

  1. Исправлена ошибка в эмуляции команды MTPS
  2. Добавлена реализация двух-AY'шного звукового модуля. Эмулируется два режима работы, реализованных в железе аппаратных решений: Gryphon (рабочее название) и TurboSound.

Режим двух AY по умолчанию выключен, и включается в меню настроек во второй вкладке.

 

v3.13.2207.9855 Дата: 05.07.2022 10:55:22

BK_v3.13_src.7z (6.5M)
BK_v3.13_x64.7z (7.5M)
BK_v3.13_x86.7z (6.9M)
BK_v3.13_x86_WinXP.7z (6.9M)

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

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

 

v3.13.2206.xxxx Дата: 29.06.2022 10:15:08

Файлы этого релиза удалены
и заменены следующим релизом.

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

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

 

<<  1  [2]  3  4  5  6  7  8  ...   9  10  11  >>     Всего: 104     На странице: