How Quake.exe got its TCP/IP stack 🔥 Горячее
В 1996 году id Software создали quake.exe, работающий как в DOS, так и в Windows 95, в период, когда доля DOS упала на 50%. Они использовали djgpp - компилятор GCC для DOS, позволяющий создавать 32-битные приложения. Ключевым достижением стало то, что их DPMI клиент мог работать как с сервером djgpp (cwsdpmi.exe), так и с DPMI сервером Windows 95. Raymond Chen из Microsoft назвал это "поразительным", так как программа, написанная для одной среды, успешно работала в совершенно другой.
В DOSquake.exe требовал всего четыре файла: сам исполняемый файл, конфигурацию, ресурсы и cwsdpmi.exe. Для многопользовательской игры IPX использовался PDIPX.EXE, а TCP/IP требовал дорогого TSR BWNFS стоимостью $395 в 1996 году ($830 в 2025), поэтому большинство игроков использовали IPX. В Windows 95 игра запускалась в "dos-box", упрощая установку, но требуя 16 МБ ОЗУ вместо 8 МБ.
Комментарии (118)
- ggambetta поделился опытом пайки nullmodem и создания звуковой карты на параллельном порте в детстве.
- afandian уточнил, что "Британский парень Генри" мог назвать Евротоннель в честь другого инженерного проекта.
- sroussey отметил, что в Win95 TCP/IP уже был встроен, что подорвало бизнес компаний, ранее продававших это решение.
- jahnu вспомнил использование Trumpet Winsock для сетевого доступа в Windows 3.1.
A SPARC makes a little fire
В 2018-м SparcStation 1+ выдавал «Illegal Instruction» при любой попытке загрузки. Советы заменить батарейку PROM я проигнорировал и спрятал машину в угол.
Через пару недель вернулся: вытащил винт Quantum ProDrive с прошивкой Apple (SCSI ID 0, прыжков нет). Без диска станция перестала ругаться на «illegal instruction» и даже принимала boot sd(0,0,0)vmunix. Вернул диск — «SCSI device is not responding». После «лечения» винт зашумел, но ошибка сохранилась.
На Usenet 1995-го нашёл, что IPX загружается с sd(0,3,0): прошивка Sun перенаправляет ID 0 → 3. Попробовал — «bad magic number in disk label», затем «non-executable file».
Добавил второй винт Quantum Viking 2,2 ГБ. Таблица экспериментов:
| Viking слева | ProDrive слева | Пусто слева | |
|---|---|---|---|
| Viking справа | — | «SCSI bus hung» | «Bad magic» |
| ProDrive справа | висит | — | «Bad magic» |
| Пусто справа | висит | «Bad magic» | висит |
Конфликт ID 0 объяснял «hung», но почему зависает и без дисков? Загадка.
Комментарии (12)
- Участники вспоминают старые SPARC-станции: кто-то до сих пор запускает SPARCbook 3000ST для презентаций, кто-то хранит рабочие машины с универа.
- Всплыли ностальгические моменты: первая работа 1989 года на Sparc 1+, «Bad magic number» и бесконечные часы настройки Sun-сервера 2001-го.
- Отмечены забавные сюжеты: диск, выброшенный в невесомости, и «волшебный дым» после подключения Centronics-принтера к SCSI Mac SE.
- Кто-то уже отказался от физического ретрокомпьютинга, оставив лишь «музейные» экспонаты и перейдя на эмуляцию.
- Есть и прагматики: шумные, медленные и прожорливые SPARCstation’ы отправились с чердака в утиль.