Эмуляторов IBM PC/XT в сети навалом, но для Мурмулятора (https://murmulator.ru) пока есть только один: https://github.com/xrip/pico-xt.

Вопросы на тему «Зачем вообще нужен этот ваш мурмулятор?» мы тут обойдём, т.к. данное устройство относится к разряду «хобби», и по уровню полезности можно сравнивать только с такими же хобби, как собирание марок или монет. Хотя, некоторые умудряются включить сборку Мурмулятора своими руками в работу радио‑кружка. Но это - другая история.

IBM PC/XT эмулятор (pico-xt) на Мурмуляторе
IBM PC/XT эмулятор (pico-xt) на Мурмуляторе

Сам эмулятор не придерживается строгих стандартов и просто пытается вытянуть всё, что можно из достаточно ограниченных возможностей микроконтроллера RP2040 (на котором и построен Мурмулятор). Например, эмуляция процессора реализует часть команд, добавленных только в процессор 80186, или даже 80286, поэтому часть утилит определяю его некорректно:

Norton Utilities на pico-xt - О системе
Norton Utilities на pico-xt - О системе
CheckIt на pico-xt - бенчмарк
CheckIt на pico-xt - бенчмарк

RP2040 содержит всего 264 КБ памяти, поэтому для pico-xt реализован swap-файл, который позволяет расширить доступную для DOS память до 640 КБ, дополнительно реализована эмуляция EMS (LIM 4.0):

CheckIt на pico-xt - тест памяти
CheckIt на pico-xt - тест памяти

Реализация XMS в pico-xt недоступна, т.к. для нормальной реализации требует процессора минимум 80386, но некоторая обрезанная XMS-логика в эмуляторе всё же присутствует, что позволяет DOS адресовать HMA и UMB.

MS DOS 6.22 результат команды mem
MS DOS 6.22 результат команды mem
Norton Utilities на pico-xt (XMS)
Norton Utilities на pico-xt (XMS)

У владельцев Мурмулятора v1.4, или Мурмулятора с навесной PSRAM, своп не включается, а задействуется внешняя память.

Производительность в режиме swap
Производительность в режиме swap
Производительность с подключеной PSRAM
Производительность с подключеной PSRAM

VGA и EGA режимы на pico-xt поддерживаются крайне ограничено (мало памяти в микроконтроллере) и 90% игрушек в них работать не будет, хотя, некоторые утилиты и определят наличие соответствующего видеоадаптера, а стандартные для PC/XT MDA и CGA крайне убоги. Но! Разработчик прошивки предусмотрел поддержку TGA, поддержку которой, в свою очередь, имеют почти все игры тех лет.

А вот, например, культовый Принц Персии запускается в VGA режиме:

Принц Персии на pico-xt (VGA)
Принц Персии на pico-xt (VGA)
Принц Персии на pico-xt
Принц Персии на pico-xt

Со звуком в pico-xt тоже всё в порядке - эмулируются Tandy Sound и Disney Sound Source. Т.е. игрушки, которые шли на Tandy 1000 (клоне ХТ) пойдут и на эмуляторе. Поддержки Sound Blaster'ов пока не завезли ((.

Wolf 3D тоже вполне можно запустить, но только в TGA режиме (wolf3d tandy), и он даже относительно играбелен:

Wolf 3D на pico-xt TGA EMS/XMS
Wolf 3D на pico-xt TGA EMS/XMS
Секрет Острова Обезьян на pico-xt (VGA)
Секрет Острова Обезьян на pico-xt (VGA)

Для фанатов CP/M - её тоже можно запустить на pico-xt:

CP/M-86 ver.1.1 на pico-xt
CP/M-86 ver.1.1 на pico-xt

Последняя версия эмулятора доступна тут: https://github.com/xrip/pico-xt/releases

Сам Мурмулятор: https://murmulator.ru/types

Пишите вопросы ниже, буду рад ответить, а возможно, что и ещё статью напишу...

Комментарии (13)


  1. xrip
    10.09.2024 19:02
    +2

    Только я бы сказал, что поддержка VGA очень хорошая, EGA никакая, TGA почти на 100%, CGA тоже близко к 100% если не лезть в извращения с знакогенераторами и прочими вещами свойственным больше демкам, чем реальным продуктам.


    1. mikeveng73 Автор
      10.09.2024 19:02

      Данному нику - верим )) Так как он и есть основной разработчик pico-xt.


  1. Javian
    10.09.2024 19:02

    Надо наверное было на King's Bounty (1990) продемонстрировать видеорежимы - игра запускается в Hercules/CGA/EGA/VGA


    1. xrip
      10.09.2024 19:02

      King's Bounty какраз не запускается, толи я не подобрал версию, толи там есть какие то хитрости. Лучше Monkey Island


      1. Javian
        10.09.2024 19:02

        Может в VGA не стартовать, если ОЗУ не хватает для 256 цветов.


  1. Advisers
    10.09.2024 19:02

    Интересно! Как насчет какого-нибудь браузера, походить по интернету?


    1. mikeveng73 Автор
      10.09.2024 19:02

      С этим пока никак - сетевых карточек и модемов в комплекте эмуляции не имеется.


  1. tormozedison
    10.09.2024 19:02

    Некоторые мало требовательные к объёму ОЗУ вещи (например, GW-BASIC) пойдут и без свопа, полезно приделать функцию его отключения в таких случаях для предотвращения износа флеша.


    1. mikeveng73 Автор
      10.09.2024 19:02

      Там своп на внешнюю SD-card, которые сейчас стоят копейки, т.е. смысла не имеет заморачиваться с этой кастрацией (имхо).


  1. n2dt4qd2wg9b
    10.09.2024 19:02
    +1

    Это класс, за это спасибо. Давно мечтал о мелком XT/AT совместимом.

    С интересом слежу за развитием вашего проекта.

    Молодцы, что опубликовали на Хабре, иначе бы я вас не узнал бы


  1. n2dt4qd2wg9b
    10.09.2024 19:02

    А когда подключаешь 8МБайт PSRAM ESP-PSRAM64H то сколько её становится доступной внутри 8088 машины? Что ещё она облегчает?


    1. mikeveng73 Автор
      10.09.2024 19:02

      Ну, если внимательно читать статью, то там написано, что своп отключается при подключении PSRAM ;)
      В текущей сборке доступно 4 метра памяти в сумме (пофиг какой, psram или swap). Если надо заюзать именно 8, можно подсобрать отдельный билд, но я не вижу для ХТ необходимости в таком количестве памяти. Просто нет программ, которым столько нужно.
      Ну и опять, если внимательно читать статью, то там есть 2 скриншота: один - перформанс со свопом, второй - с псрам. И с псрам оно изрядно быстрее.


      1. n2dt4qd2wg9b
        10.09.2024 19:02

        Да, сорри, был невнимателен.