Windows 95 можно запустить прямо в браузере

Предаваться воспоминаниям под звуки Windows 95 — это круто, а иметь возможность прикоснуться к ней своими руками — еще круче. Теперь такая возможность есть у каждого: система возрастом 20 лет запускается и полностью работает в браузере, на чистом JavaScript.

Проект использует эмулятор emscripten, компилирующий код на С++ в JavaScript по мере выполнения. Таким образом, устанавливать дополнительно ничего не нужно, всё начинает работать сразу. Вы только представьте: ОС компилируется на JavaScript, загружается через Интернет и интерпретируется браузером! Разумеется, эмулятор работает не идеально, а в IE не работает совсем, но это лишь демо того, какого развития достигли современные технологии.

Только предупреждаем: загрузка длится долго, не спешите перезагружать страницу, особенно если у вас не очень быстрый интернет.

Почему так медленно?

Есть несколько факторов, например:

  • Windows 95 не выполняется напрямую браузером, она крутится на эмулируемом CPU.
  • DOSBox не очень оптимизирован для Windows 95, изначально он создавался для DOS-игрушек.
  • Для DOSBox нет нативных драйверов для доступа к дискам под Windows 95, она работает в режиме доступа через DOS (real-mode disk access).
  • DOSBox запускается не нативно, а в скомпилированном в JS виде с использованием Emscripten.

Почему у меня вылетела ошибка «Emulation aborted due to nested emulation timeout»?

В некоторых случаях Em-DOSBox будет вылетать, если на эмуляцию нужно слишком много времени, чтобы избежать зависания браузера. К сожалению, с этим ничего особо не сделаешь, однако автор работает над решением вопроса.

Как это сделано?

Автор установил Windows 95 на DOSBox по этому гайду, затем запаковал образ диска с AUTOEXEC.BAT и своей конфигурацией dosbox.conf с использованием Em-DOSBox. На самом деле всю работу уже проделали создатели Emscripten, DOSBox и Em-DOSBox, а автор просто собрал всё вместе. Но, тем не менее, получилось довольно занятно.