bash.im ithappens.me zadolba.li
5559

Бесконечно длинное копьё

26 февраля 2011, 11:00

Вспомнился и мне случай запуска программы из несуществующего каталога. Было это давно, когда после пройденного-перепройденного Wolfenstein 3D (да-да, тогда любой «вид из глаз» котировался как 3D) я приступил наконец к Spear of Destiny. Саундтреки обеих игр были сплошным набором шедевров (Бобби Принс же!), но заставка «Вольфа» крутилась в цикле до нажатия эникея и позволяла дослушать ремикс «Horst-Wessel-Lied» до конца, а мелодия «Towering Above», занимающая аналогичное место в «Копье», через X секунд неизбежно заканчивалась меню с соответствующей заменой музыки на «Wondering…». Ситуация интриговала, и дослушать «Towering» до конца хотелось.

Оказалось, «Копьё» под музыкальный шумок подгружало свои ресурсы, и время «X» ощутимо зависело от скорости диска. Wolfenstein в кастрированном виде влезал на один флоп, который можно было просто вынуть в процессе, но «Копьё» было ощутимо толще, и подобный номер с ним не прокатывал. Соединив по RS-232 две машины, я поднял на одной serial server, а на другой запустил досовский драйвер сетевых дисков. Запустив «Копьё» с сервера, я заботливо его уронил, организовав клиенту бесконечное время отклика, и успешно слил «Towering Above» на обыкновенный кассетник, пока игрушка пыталась подгрузить свои ресурсы.

Чуть позже мне пришло в голову более простое решение: в HEX-редакторе я изменил имя небольшого файлика, добавив в него абсолютный путь типа «a:\aaa.a», и скинул на дискету только этот файл, переименовав его в «aaa.a». Дальше — как в бета-тесте с флешкой: запустил, вынул, подвесил, послушал до конца.