← На главную

Quake собрали на NT 4.0 — нужны VC++6, SP5, MDAC и Processor Pack

29.05.2026 03:07 · hackernews

Разработчики id Software собирали Quake на HP 712-60 под NeXT, а кросс-компилировали через DJGPP на DEC Alpha 2100A. После выхода первой версии, опасаясь стагнации NeXT, они переехали на Intergraph с Windows NT. Все последующие сборки — winquake.exe, glquake.exe и QuakeWorld — делались уже там, в Visual C++ 4.X.

Чтобы повторить этот опыт образца 1997 года, автор статьи разворачивает окружение. Подойдёт оригинальный Intergraph Dual P6-200MHz (найти сложно), обычный Pentium Pro, поздний «Quake PC» из 90-х или просто Virtualbox с Windows 98SE / NT 4.0. Установка NT 4 проходит быстро, CD загружается. Автор отмечает, что минималистичный экран загрузки радовал — без анимаций, зато с гордым указанием числа CPU и объёма RAM. Второй процессор NT сама не подхватывает — нужна переустановка ради HAL для SMP.

Дальше — установка Visual C++ 6. В 96-м Quake писали на четвёртой версии, но к 99-му проект переехал на шестую. Инсталлятор выглядит странно в высоком разрешении — много пустого места, кривой прогресс-бар. Интерфейс рассчитан на 640×480 или 800×600, не на 1280×1024, как на мониторах id.

Исходники брать с Github нельзя — FTP-передача ломает .dsw-файл, и VC++6 молча откроет пустой проект без единой ошибки. Нужен q1source.zip из Quake Official Archive. В виртуалку файлы закидываются перетаскиванием или через Quick ‘n Easy FTP Server. Распаковка — только WinRar 2.50.

Сборка «Rebuild All» сразу падает. VC++6 не умеет собирать .s-файлы — ассемблерный код Майкла Абраша. Для ml.exe нужен VC++6 Processor Pack. Но перед ним ставится Service Pack 5 — и он тоже падает, потому что не хватает MDAC 2.5. mdac_typ.exe лежит в той же папке, куда распаковался SP5. После установки этого драйвера SP5 наконец работает, потом ставится Processor Pack — и вуаля, сборка идёт.

Готовые бинарники запускаются с PmProXX.dll, WdirXX.dll и папкой id1. QuakeWorld тоже собирается и работает с QSpy.

VC++6 автор называет «чертовски хорошей IDE» для 1996 года: «Go to definition», брейкпоинты, стектрейс, инспекция переменных. Интеллисенса ещё нет, но ощущения, по его словам, были как во сне.

Читать оригинал →