Здесь будут выкладываться
текущие сборки новой версии эмулятора. Он построен по модульному принципу. Там
когда-нибудь будет можно собирать нужную конфигурацию из набора разных модулей.
Проблема как раз в том, что не придумывается конфигуратор конфигураций, самая
фишка-то и не работает. Используется набор уже жёстко сформированных конфигураций.
Из нового - присутствует модуль блока ИРПС. А из-за того, что конфигуратора
нет, он по умолчанию включён во все конфигурации. И не отключается (кроме
конф. AZBK, там он принудительно отключён и включить его нельзя). И для правильной
работы с Бейсиком БК10/БК11 или Фокалом БК10 его надо соответствующим образом
настроить.
Прожорливость и требовательность к ресурсам возросла.
Начиная с версии b4.6.2512.9919 поддержка Windows XP прекращена, минимальной версией
становится Windows 7. Но и это, судя по всему, не сильно надолго, через пару лет минимальной версией станет Windows 10, так что готовьтесь.
Эмуляция блиттера доведена до соответствия версии v15b9 (теоретически, как я понял из описаний и объяснений)
В дампах памяти и в дизассемблере теперь можно редактировать код ПЗУ.
Сделан таймер аптайма.
Исправлена эмуляция джойстика, чтобы можно было почти любые свои кнопки ему назначать. (Кроме системных Windows)
В окне дампа памяти поправлена работа с дампом содержимого в .bin файл, а то было неудобно сделано. файл без заголовка bin по умолчанию загружается по адресу 1000, а не 0
Исправлены неработающие опции эмуляции EIS/FIS/FPU. И заодно поправлены глючащие опции дизассемлирования/ассемблирования этих инструкций. В смысле, теперь всё работает как задумывалось.
Благодаря grf уточнена работа горизонтального скроллинга в AZBK.
В окне дампа регистров AZBK теперь можно редактировать значения регистров. (UART не реализован, так что там редактировать бесполезно)
Асинхронные вещи, как оказалось, очень мешают отладке, особенно таймеры, которые продолжают работать во время отладочного останова. Поэтому асинхронный таймер 50Гц в AZBK убран и теперь вместо него кадровый синхроимпульс БК. Что расходится с реальностью, зато теперь отладка работает.
Предыдущий релиз b4.4.2402.9217 был выложен от отчаяния, что ничего не получается. Это как обычно помогло, всё получилось.
Изменения в эмуляторе:
Полностью переделана эмуляция экрана AZBK. Вследствие чего:
изменился формат блока данных фрейма;
из-за чего все сохранения считаются устаревшими;
а конфигурации с AZBK и вовсе не загружаются из-за полной несовместимости с текущим форматом.
зато теперь работает блиттер.
Добавлена поддержка логотипа.
Добавлена эмуляция малого экрана (как в режиме РП на БК).
Сделана совместимость с прошивкой 00015 и ПЗУ из неё приложены к архиву.
PS. Блиттер работает со скоростью вашего компьютера, что может быть как быстрее, чем на реальном железе, так и медленнее. Но скорее всего первое. Так что нужно иметь это в виду и проверять результаты работы на реальном железе.
Все изменения из релизов v3.13.2310.10556 и v3.13.2401.10604
Реализовано сжатие сохранений. А то сохранение конфигурации с AZBK очень уж пухлое получалось.
Добавлен менеджер точек останова и реализованы точки останова на доступ к памяти, которые можно добавлять только из этого менеджера. Это отдельное окошко, которое может глючить при первом запуске, лишнее нужно закрыть и открыть заново.
Сделаны изменения в эмуляции скроллинга в соответствии с описанием прошивки 00015. Но самой прошивки пока нету.
Добавлена эмуляция блиттера, но он работает весьма хреново, прямо-таки чудовищно плохо, что-то где-то не синхронизируется. Бороться с этим я подустал, пусть пока так будет. Пока новых идей не придёт в голову.
Добавлена актуальная документация к эмулятору. Там про точки останова можно почитать.
Добавлены новые опции эмуляции. Они редактируются только вручную из ини файла 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. По умолчанию выключена.
Emulate FPU Instructions Set - опция включает эмуляцию аппаратного математического сопроцессора К1801ВМ4 и его набора команд. По умолчанию выключена.
Последние четыре опции - исключительно для экспериментов. Потому что, включение их может поломать кучу софта, который использует опкоды этих инструкций в своих целях. Например, Andos 3.1. не работает на процессоре К1801ВМ1Г т.к. использует опкоды инструкции MUL для своих системных вызовов.