Атлас мира 1998 года на Windows 11: время машина из комиссионки

· Курьёзы
Разработчик потратил неожиданно много сил, чтобы вернуть к жизни образовательный CD-ROM эпохи Windows 95, который сын нашёл в комиссионном магазине. В итоге получился слой совместимости с автосборкой и релизом на GitHub.

cover.svg

Всё началось с того, что сын автора нашёл в комиссионном магазине в Порт-Таунсенде (штат Вашингтон) диск Compton's 3D World Atlas Deluxe — типичный образовательный CD-ROM эпохи Windows 95: глобус, обилие синей и оранжевой графики, длинный список стран, игры, видеоролики и очень самоуверенная кнопка «Online». Диск запустился, но программа искала 1998 год, а находила Windows 11.

Проблема размером в целую эпоху

Атлас рассчитан на физический CD, старые видеокодеки, поведение древней Windows и сайт, исчезнувший ещё до рождения сына. Автор решил не заменять диск и не тащить коммерческую программу в репозиторий, а построить вокруг оригинального лицензионного диска пользовательский слой совместимости.

Список работ получился внушительным. Видеоролики использовали кодек Indeo — их пришлось перекодировать в Microsoft Video 1, сохранив исходный звук PCM: озвучка, музыка и старые ролики снова работают. Кнопку «Online», ведущую в давно умерший сервис, автор перенаправил на локальное зеркало, собранное из копий старых сайтов Atlas и Compton's в Internet Archive. Формы больше никуда ничего не отправляют, а исторические страницы входа существуют как музейные экспонаты. Для старого x86-компонента WonderLink написали небольшой совместимый шим — по словам автора, это оказалось и веселее, и безопаснее, чем скачивать загадочный файл из сети и класть рядом с ATLAS.EXE.

Скрипт, у которого появились амбиции

Инсталлятор начинался как скрипт, а превратился в полноценную систему с логами, загрузкой архивов, перекодированием видео, ярлыками, контрольными суммами и жёсткой позицией по поводу того, тот ли диск вставлен. Отдельно раздражала ошибка, когда новая конфигурация оказывалась рядом со старой DLL 1998 года и программа справедливо возмущалась. Теперь установщик сначала готовит всё во временной области, проверяет заменяемый компонент по SHA-256 и публикует результат только целиком — при сбое прежняя рабочая установка остаётся нетронутой. Много церемоний ради диска из комиссионки, признаёт автор, но церемоний правильных.

От комиссионки до GitHub Actions

Финал вышел слегка абсурдным: тесты Pester для установщика, тесты на Node.js для синхронизатора архива, проверки разбора PowerShell, а затем GitHub Actions собирает x86-шим и инсталлятор, сверяет хеши и публикует релиз с контрольной суммой.

Само приложение по-прежнему прекрасно — это та самая странная машина времени, на которую все надеялись. Можно листать страны, крутить глобус, читать устаревшую статистику, смотреть перекодированные видео и играть в викторину с флагами (в которой компьютер, конечно, знает, какой флаг у Андорры). Данные старые, интерфейс предельно «девяностный» — и от этого не менее увлекательный. Сын нашёл диск, отец построил вокруг него машину времени — все в выигрыше.


Источник: Lobsters

Комментарии

Войдите, чтобы комментировать.

  • Пока нет комментариев.